这几天在宿舍没事干,公司的活不好拿到学校里面来做,论文交给老师现在还没去问消息。而是突然想起来一件长久以来没有完成的任务----破解软件.
我一直在用一个桌面软件,做的很不错的国产软件,名字就不说了,很感谢作者。我想破解它并不是想拿出去传播,更不想用它去赚钱(当然也赚不到),只是想看看破解一个软件到底难不难,有多难。想想软件编程方面的一般知识都掌握得差不多了,那就动手吧。
首先把该软件备份一下,然后用w32dasm把可执行文件反汇编,该软件的帮助文档我已经完整地看过一遍了,估计不会有什么问题,可是还是出了问题,一打开 exe文件,w32dasm就自动退出,怎么回事?我试了几遍,都是一样。难道这样做不对,exe反汇编还是有问题,难道这个exe有什么办法能防止反汇编?可是我根本就没有执行任何它的代码啊,理论上说不通啊?
最后,我想到会不会是w32dasm的问题(按说这么成熟的软件应该不会有问题啊)?我决定到看雪论坛上学习一下。仔细地看了看它的几篇文章,里面提到了壳的问题,并且仔细地学习了一下壳的原理。感觉会不会是w32dasm对加了壳的可执行文件支持不好?不管怎么样,我还是要试一试。先下载了几个必要的工具:fileinfo,upx,等等。用fileinfo一看,果然是使用了upx加了壳,还好没有对壳进一步改动,使用upx轻松地就解了壳,我把脱了壳的可执行文件考贝回去,运行一下,还是可以用,说明脱壳没有问题。接下来要正式破解了。
我下载了另外一个调试工具:OllyIce,因为原理和w32dasm都差不多,我也没有仔细看它的帮助文档就开始了工作。这次顺利地就反汇编成功了(我又试了一下w32dasm,也成功了,可能还是原文件加了壳的原因)。面对着满屏幕的汇编代码有些不知所措,好在前段时间在兴唐实习的时候抽空看了看w32asm教程,静下心来仔细看看,也没有什么大的困难,不过要弄清楚软件的流程也并不是一件轻松的事,好在我的目标不算远大,还不需要弄清楚这些。我首先找到了程序的入口点,一步一步跟踪下去,发现调用了某个函数后出现了提醒注册的窗口,我原来想能不能看他的返回值得处理,然后改变相应的指令,试了好久,还是没成功。工作陷入了停顿。静心,不可浮躁,我提醒自己!还有什么办法呢?每次我在它的某个界面上按右键时,第二次出现的菜单里面会有一个菜单显示未注册,
我一直在用一个桌面软件,做的很不错的国产软件,名字就不说了,很感谢作者。我想破解它并不是想拿出去传播,更不想用它去赚钱(当然也赚不到),只是想看看破解一个软件到底难不难,有多难。想想软件编程方面的一般知识都掌握得差不多了,那就动手吧。
首先把该软件备份一下,然后用w32dasm把可执行文件反汇编,该软件的帮助文档我已经完整地看过一遍了,估计不会有什么问题,可是还是出了问题,一打开 exe文件,w32dasm就自动退出,怎么回事?我试了几遍,都是一样。难道这样做不对,exe反汇编还是有问题,难道这个exe有什么办法能防止反汇编?可是我根本就没有执行任何它的代码啊,理论上说不通啊?
最后,我想到会不会是w32dasm的问题(按说这么成熟的软件应该不会有问题啊)?我决定到看雪论坛上学习一下。仔细地看了看它的几篇文章,里面提到了壳的问题,并且仔细地学习了一下壳的原理。感觉会不会是w32dasm对加了壳的可执行文件支持不好?不管怎么样,我还是要试一试。先下载了几个必要的工具:fileinfo,upx,等等。用fileinfo一看,果然是使用了upx加了壳,还好没有对壳进一步改动,使用upx轻松地就解了壳,我把脱了壳的可执行文件考贝回去,运行一下,还是可以用,说明脱壳没有问题。接下来要正式破解了。
我下载了另外一个调试工具:OllyIce,因为原理和w32dasm都差不多,我也没有仔细看它的帮助文档就开始了工作。这次顺利地就反汇编成功了(我又试了一下w32dasm,也成功了,可能还是原文件加了壳的原因)。面对着满屏幕的汇编代码有些不知所措,好在前段时间在兴唐实习的时候抽空看了看w32asm教程,静下心来仔细看看,也没有什么大的困难,不过要弄清楚软件的流程也并不是一件轻松的事,好在我的目标不算远大,还不需要弄清楚这些。我首先找到了程序的入口点,一步一步跟踪下去,发现调用了某个函数后出现了提醒注册的窗口,我原来想能不能看他的返回值得处理,然后改变相应的指令,试了好久,还是没成功。工作陷入了停顿。静心,不可浮躁,我提醒自己!还有什么办法呢?每次我在它的某个界面上按右键时,第二次出现的菜单里面会有一个菜单显示未注册,