站在巨人肩膀上对(班主任好助手)学习分析(大牛们飘过吧)
本帖最后由 缘来是梦 于 2016-6-25 23:48 编辑首先说明下:这个是在原创发布区,看见作者的作品之后,由于是刚入门破解,就拿人家发的东西进行了练习。练习的过程中遇到的很多的问题。在评论区也看到了大家的一些问题,然后就拿过来,一起学习一起进步吧。
1.查壳
Shif乱七八糟的东西不知道有没有。因为人家unknown了
再看区段,确定是没了。看的出是VC++的区段特征。
2. 不管了OD载入吧。
运行一遍程序进入OD界面 进行智能搜索。不知道为啥不出来字符串。(帖子中也有人说搜不到。看来咱俩一样)
没关系别放弃,不是还有下断点的方法么,下面我用暂停法,接着,再点软件注册,
进入OD 依次按下 F12ALR+F9 然后返回点确定这个时候 是这个界面 图上的箭头指的就是那个弹框。(这个时候有个思路就是跳过这个失败弹窗找成功。我们先不理会这。)OD中F9运行程序(也可以选择不运行程序,进去自己F8找跳转)进去OD 再进行智能搜索。这个时候注意了就可以搜索到了。
注意:刚才上面搜索不到虽然我也不知道啥原因,但是还是先运行一次再搜索。更直白的说下,就是你程序中看见出现有汉字的时候你再搜索,不加密的情况都能搜到。(暂时这么理解吧,有大牛可指出错误。)
噢,看见一大堆有用的东西。由于我也是看了论坛中那个帖子。所以咱们照着黄线点吧。
然后找到了呗。。
有两个思路吧,,第一,把下面这个jmp取消了。。不让它跳过成功。第二,去上面找跳转跳过未注册。
还是接着上个帖子。他用的第二种办法。就是这个关键跳,让它实现呗。。。上面的cmp是关键。用前面的那个数和0相比较。。。。。Cmp 0 , 0 结果全是 0ZF 1
结果不全0 zf 标志位是 0
然后ZF标志位 去影响跳转。。。不懂这个的跳过。因为我也不懂。
重新载入程序看见没,段到这里了。跳转不实现导致的直接结果就是。。我擦,忘说了。刚才在cmp 下了个断点。同学们别忘记了未注册版本
然后我们可以高兴的去改变代码,让它变成正式版。看那位仁兄的修改。就是改了个1然后跳转实现了。。。界面就变了。
其实到这里,可以宣告一段落了。算是成功了???
很明显只是表面成功了。后面如果有功能性验证注册的话。就出现了自我矛盾的情况。
也是贴子中有人发现的。。。明明注册了。别着急。因为我也不懂。
返回去代码,分析一下。在判断是否注册的时候。。它cmp 0 和1 。我们就假设一下。其他里面可能他也这么来。于是就复制指令进行搜索。cmp dword ptr ds:,0x0
看看它出现了几次。我滴个吗呀,搜到了呢。双击点进去。
看见没。。。我们要做的要么Jmp它要么把0X0改为0x1
还剩下几个。大家一一点进去,能修改的都修改了吧。
破解基本算是完 了。之后就剩保存了。本来是想打个补丁的。。但是,时间太晚了,没打。最关键的是不会打补丁,哈哈。正在努力学习中。怎么保存我就不不截图了。破解版的也不放了。麻蛋不知道怎么放啊。我是安装后直接破解的。对不起各位仁兄和姐妹。不过相信你们看了这个教程。人人都能破解出来了。要个破解版的也没用。谢谢大家。原版地址下载:http://www.crsky.com/soft/30483.html
不懂的 回帖我们接着讨论。相互学习。
不错加油,有几处给你指出一下:
1、这个是易语言的程序,怎么搜字符串可以看着官方教程我有说过http://www.52pojie.cn/thread-349073-1-1.html。
2、关于破解你已经找到关键cmp dword ptr ds:[0xB802E0],0x0了,其实没必要改多次01,你只要找到0xB802E0赋值的地方,把它起始赋值改成1,就一劳永逸了,两种办法找赋值,一个是搜常数“0xB802E0”,还有一种是对这个地址下写入断点,都可以找到,你试试。 本帖最后由 dirisyou 于 2018-1-8 01:38 编辑
{:1_918:}完美破解------------{:1_926:}{:1_926:}{:1_926:}
写软件的是个老师,因该学过反修改的东西。用樱花补丁搞定之。。。;www;www;www
00519986 0F85 0A0100000F84 0A010000
005210D6 0F85 350000000F84 0A010000
00532D0D 0F85 350000000F84 0A010000
0055496D 0F85 350000000F84 0A010000
0056D176 0F85 350000000F84 0A010000
00593E03 0F85 350000000F84 0A010000
005B9923 0F85 350000000F84 0A010000
00519A91 E9 05010000 9090909090
https://static.52pojie.cn/static/image/hrline/2.gif
cmp dword ptr ds:,0x0
改0xB802E0这个我WIN7是变量,不知道你什么情况?
补充一下,F12断点法。。不好使,用断点吧。一步步回溯。 楼主的讲解是通俗易懂的,支持下 又试了下,楼主说的这一句话不理解,就是暂停后在堆栈中显示调用,ALT+F9执行返回,返回程序点确定,这时又怎么可以在OD中F9运行呢?你让它运行到什么地方? 看了下算法,是大数运算,E=2A5AB N=24D2E4F2A78239B213F374AC799527EEC9BDF897A3AA9604AC19853F40EC2C011BF4623D34B45AE918F0AAE3E8FDFFF690C5 Hmily 发表于 2016-6-27 17:40
不错加油,有几处给你指出一下:
1、这个是易语言的程序,怎么搜字符串可以看着官方教程我有说过http://ww ...
谢谢大牛指点,学习了。感激不尽。 pendan2001 发表于 2016-6-27 20:33
看了下算法,是大数运算,E=2A5AB N=24D2E4F2A78239B213F374AC799527EEC9BDF897A3AA9604AC19853F40EC2C011B ...
这个还没接触过。不过既然你说了,回头赶紧学习研究。谢谢 学习了一下,有二个问题。第一是搜索字符串必须在堆栈中返回以后才能搜索到,第二是保存时没有全部修改的选项,只能保存选定的内容,有没有一次性保存的方法。 pwh123 发表于 2016-6-29 17:31
学习了一下,有二个问题。第一是搜索字符串必须在堆栈中返回以后才能搜索到,第二是保存时没有全部修改的选 ...
有呢,右键-复制到可执行文件-所有修改。你找找那个。。搜字符串那个,老大说教程中有,我在看看,确定下。 缘来是梦 发表于 2016-6-29 19:32
有呢,右键-复制到可执行文件-所有修改。你找找那个。。搜字符串那个,老大说教程中有,我在看看,确定 ...
为什么我的没有所有修改的选项?只有:右键-复制到可执行文件-选择。所有修改不见了。遇到过几次这样的情况,小白不知什么原因,为什么有的有所有修改,有的没有。