记第一次逆向分析得注册码(适合小白)
大神请忽略,本帖是看了论坛wgz001大牛破解PDF2TXT v3.2的教程之后,对该软件的最新版本再次进行破解的一次尝试。小白发帖,请大神们多多指点。{:1_893:} {:1_893:}
软件名称:PDF Edito V4.1
下载地址:http://dl.verypdf.net/pdfeditor_setup.exe
平台:Windows xp(该软件在win7,win10同样的分析步骤也行得通,只不过本人习惯在win xp虚拟机进行分析)
一、软件安装
常规步骤安装应用程序,安装后会发现,该软件没有注册时完全不能使用的,必须要输入注册码进行激活。
二、查EXE的壳
打开程序安装位置,找到pdfeditor.exe,也就是桌面快捷方式指定的位置。拖入PEID查壳,结果无壳。
将pdfeditor.exe拖入OD,F9运行到软件打开,出现注册界面。然后在软件注册处随便输点东西,点击OK,会弹出错误提示。,
软件停在此界面,回到OD,暂停(F12),点击上方‘k’,进入调用堆栈界面,因为刚才有弹窗,所以应该是一个MessageBoxA,所以在调用来自那一列双击pdfedito.0041A084,
在这里,可以看到一些提示信息,例如“Your registration key is wrong, please double check ***","Thanks for you purchasing---",从刚才的调用来自,再结合OD,是根据本程序一个call来弹出不同的信息。,回车跟进去看一下,仍然是主线程,所以这个call就在本程序里,这个call的作用应该就是校验注册码,然后根据校验结果再弹出不同的信息。
四、IDA静态调试
刚才的关键call跟进去以后,是校验的汇编代码,汇编不好的人伤不起,但是,还有更好的办法,使用强大的IDA。将pdfeditor.exe载入IDA6.8,shift+F12,来到子串窗口,
ALT+t查找Thanks for(因为从OD中已经看到,而且从字面意思,出现这个弹窗即注册成功),,回车进入,在IDA-View窗口,同样可以看到这一句,而且在这句话的下一行,会有一个叫做sub_419EB0的函数,鼠标点到这个函数的位置,回车查看。然后在这个大函数的首部,找到loc_419F95,,鼠标点到loc_419F95,按下F5,,再次分析函数,可知sub_419760这个函数成立,就能注册成功,进入sub_419760函数,这个函数就是注册码的校验程序,稍微有点正想功底,便可以分析出校验的算法。
即:第一位+第十六位=10,第二位+第十五为=10,第三位是4,第四位是1,第六位是A,例如:55410A0000000055,
输入注册码之后,便激活了,如果想还原未激活状态,可将程序载入OD,下“CreateFileA”的断点(GTRL+G,输入CreateFlieA,进入,下断),F9运行,停在断点处,可知,启动程序后新建了一个.dat文件,删除,便还原了未注册状态,
OVER!
欢迎大神指点! 本帖最后由 whdfog 于 2018-3-2 12:16 编辑
可以,小白一定能看懂。
不过@chenzj36 你要优化排版啊,多用回车,一行文字,一行图片 whdfog 发表于 2018-3-2 12:11
可以,小白一定能看懂。
不过@chenzj36 你要优化排版啊,多用回车,一行文字,一行图片
第一次发帖,不太熟悉网页上的编辑,下次一定改进!感谢您的指导!{:1_893:}{:1_893:} 学习了 楼主加油 这是什么东西? 谢谢分享 整理下排版呀~~ 谢谢分享。 楼主这排版可真让人难以接受。。。。。。。。。。。。。。。。 谢谢楼主,不错,很不错 厉害厉害,感谢分享。