逆向软件pcsurgeon.exe——观看小甲鱼老师OD视频笔记

逆向软件pcsurgeon.exe——观看小甲鱼老师OD视频笔记

最近在看小甲鱼老师的《解密系列》OD使用视频,小甲鱼老师讲的很清楚,但是我看了以后却发现很快就忘了。。。有两个原因:一是我看完视频以后没有好好实践,二是看完视频以后没有做笔记。

所以第一件事就是好好把视频中所讲的内容实践一遍,然后在做做笔记。当我终于把视频内容实践完后,我又懒得在做笔记了,但是以后忘了咋办,所以我在网上搜索看有没有人做了笔记然后把它保存下来(我是真的懒)。一搜,还真有,所以我就满足的保存下来,今天在看破解pcsurgeon.exe这个软件后,自己也实践了一下,感觉不难,但是很值得记录其中的方法,于是我又恬不知耻的跑去网上搜了,但是竟然搜不到。。。可能是大佬们认为这过于简单,感觉没有必要做。。但是我不行,我就算实践后,很难保证过一段时间不会忘,所以我决定自己做个笔记吧(还不是因为这次的容易做。。。)。在这里我把前几次在网上找的破解软件的笔记也保存下来,以便以后看:

逆向PixtopianBook.exe (一个通讯录软件)
小甲鱼OD使用教程七----破解VisualSite Designer

这次的视频是逆向软件pcsurgeon.exe
程序运行后是一个nag窗口:

软件NAG窗口
可看到要注册需要20美元,不注册的话只有5天试用时间,所以。。。破了它。
下面先说一种比较低级的打补丁方法:
软件界面是这样:
软件界面
我们要从红笔圈出的地方入手。将软件载入OllyDBG,在代码界面右键——查找——所有参考文本字串,在第一行右键——查找文本,查找一部分比如“<unregistered”,
在这里插入图片描述
找到后双击进入代码的位置,可以看到代码的上方有两个jnz跳转,未注册过的源代码是不会跳转的,将这个jnz改为jmp,右键——复制到可执行文件——右键——保存文件为pcsurgeon1.exe,这样NAG窗口就去掉了,还有就是点击软件的Help栏中的About:
在这里插入图片描述
最下面也是显示,改这个的方法和上面的一样。改后的界面如下:在这里插入图片描述
这就是比较低级的方法。。。当然有比较高级的方法了(好懒,不想写了),下面继续看吧。。。。
重新将软件载入OD。来到代码处。鼠标向上滑几行,可以看到这样的代码:
mov eax,dword ptr [60ebe8]
cmp byte ptr [eax],0
jnz 005cc935
显然,将地址60ebe8的值送到eax里,然后将eax的值作为地址,将这个地址中的值和0比较(其实是两数相减),结果不为零就跳转,但是,,,,
ds:[0060eb8c]=00610c4a
右键点击mov eax,dword ptr [60ebe8]这一行——查找参考——地址常量,将所有的都设置断点:
在这里插入图片描述
重新运行程序,来到第一个断点处,有这样的代码:
mov edx,dword ptr [60ebe8]
mov byte ptr [edx],al
在上面我们知道ds:[0060eb8c]=00610c4a,所以:
mov edx,dword ptr [60ebe8]
mov byte ptr [edx],al
这两段代码执行后,ds:[00610c4a]的值就是al的值,不幸的是,我们从OD右边的寄存器中看到al=0,所以
ds:[00610c4a]=00,所以cmp byte ptr [eax],0的结果就是0,所以jnz 005cc935就不能跳转,所以。。。
我们直接将mov byte ptr [edx],al 改为
mov byte ptr [edx],1,复制到可执行文件,保存文件就破解成功了,牛逼吧,但是这样改会出现这样的问题:
在这里插入图片描述
这个软件这样改是没有问题,但比较大的软件这样改,就可能会影响程序,因为要重定位的东西太多了(至于什么是重定位,这个很重要,提醒一下自己,有兴趣的可以去看看PE结构),所以也可以这样改:
将后面的 cmp byte ptr [eax],0改为 mov byte ptr [eax],1
将jnz short 005c2c15 改为jmp short 005c2c15
这样就不会出现重定位 的代码过多的问题,好了,终于写完了,去吃饭了。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值