【反汇编练习】160个CrackMe之081
本帖最后由 maxwgf 于 2017-1-17 18:53 编辑一开始破解081这个程序的时候卡了一会...在论坛了检索了一下,似乎没有找到081这个程序的破解过程,于是坚持尝试...终于还是成功了{:301_996:}灰常高兴最后还是自己搞定了,现在分享一下自己的破解过程。
分享之前先补上大神的精华帖,有需要的时候还是得参考大神的帖子:http://www.52pojie.cn/thread-470028-1-1.html
1、查壳,发现程序无加壳,是用VC++写的;
2、开始破解,首先运行程序,随机注册,提示字符串“Try again”;
3、用OD载入程序,首先用查找字符串的方法试试看,发现根本搜索不到该字符串;
4、往上看,有一串数字有点可疑,也许会是注册码?在第一个字符串处双击进去看看;
5、在这段程序段首处下F2断点,接着F9运行,程序跑起来,然后随机注册,也可以不注册,直接点击CHECK,然后程序被断下来;
6、接着老套路,单步吧,会遇到几个跳转,我们一开始不进行任何操作,观察下程序在哪里会跑起来,即寻找我们所说的关键call和关键跳转;
【第一个跳转】
【第二个跳转】
【第三个跳转】
7、经过三个跳转之后,我们遇到了关键call,程序跑了起来,并弹出提示框,显示“Try again”,说明这个即是关键call了;
8、重新加载程序,F9运行,程序断下来后,单步来到第三个跳转处,既然下面的call让程序跑起来,那么这个跳转可视为关键跳转,我们可以先尝试将其nop掉,看看结果怎么样;
9、接着单步,发现,下面某行地址处显示字符串“well done”...感觉看到了曙光;
10、继续单步,来到我们的关键call处,此时程序提示“well done”,OK,我们保存一下破解文件;
11、打开破解文件,再次注册,结果大功告成{:301_996:}
破解到这里结束了,我也尝试了将前面两个跳转nop掉,发现第三个已实现的跳转变成了未实现,同样可以达到破解目的,这里就不上图了{:301_997:}
如有错误之处,还望大家指正。
杨永棋学习 发表于 2017-1-21 23:34
老师!我是初学者,感谢你提供了下载,下载后里面没有081课件呀
你要课件的话可以去论坛里搜,有很多教程的,我发的那个链接是给新手拿来练手的,另外,我也是初学者。。{:301_996:}共同进步 杨永棋学习 发表于 2017-1-21 10:37
你好!请帮助下,081这个程序在那里下载的呀,能传给我学习吗?我的QQ号是:17879668
https://pan.baidu.com/s/1c138VKk
自己下载吧,160个CrackMe{:301_997:} 这靠瞎蒙,蒙对了。。。。
可以多尝试下别的方法 枫叶飘零 发表于 2017-1-17 19:01
这靠瞎蒙,蒙对了。。。。
可以多尝试下别的方法
{:301_999:}谢谢大大的建议,继续努力{:301_996:} 破解最高奥义:缘分已到{:301_997:} 闲月疏云 发表于 2017-1-17 19:45
破解最高奥义:缘分已到
我也觉得{:301_978:} 这种CrackMe一般不是都要追码或者算法分析的么,如果爆破就没啥意思了 不错,我也在学破解,不过我是新手,谢谢你的分享,我很受益。 期待另一种方法 Lin552 发表于 2017-1-18 00:08
不错,我也在学破解,不过我是新手,谢谢你的分享,我很受益。
我也是初学者,共同进步{:301_996:} 你这不是纯靠蒙么。。。