本类共有 70 篇文章,今日更新 0

完美破解共享软件

[ 来源:http://www.91now.com/down/ | 作者: | 时间:2007-5-18 18:30:30 | 浏览: 人次 ]


今天所破解的软件是"渗透V3.0"  

所用到的工具是:filemon 与Olldy.w32dasm 

---------------------------------------------- 

一.寻找关键跳 

   在破解之前.要先对软件进行查壳/脱壳.以前介绍过很多次了.这次就不多说了.脱壳后查找注册时的错误 

提示信息在渗透3.0软件界面中点击工具栏上的"注册"按钮,打开注册对话框.随便输入一个注码码"111-111 

-111-111"确定后弹出错误提示信息"注册码错误,请检查你的注册码"记住该信息,不用管它.关闭注册对话框 

运行反汇编程序W32Dasm.点击菜单"反汇编-打开文件"调入脱壳后的"Unpacked.exe"文件程序自动对调入的 

渗透PMT程序进行反编译.反汇编完成后,点击菜单"参考"-->"串式数据参考"命令,打开串式参考内容清单对 

话框.在串式数据列表中寻找刚才记下的出错提示信息,拖动到列表最底部,可以查看到提示信息"注册码错误 

",虽然与我们看到的错误提示信息相比不够完整,但是足以确定注册码关键跳位置了.双击该提示信息后来到 

W32Dasm窗口中的相应代码段处. 

----------------------------------------------- 

二.爆破 

  向上拖动查看程序代码.来到代码段"004BA2FA"处,在这里可以看到代码语句为"004BA2FA" 7442 je  

04BA33E".机器代码为"74420",对应的汇编语"je 04BA33E",这句就是注册码验证处,只要将汇编语句" je"改 

为"jne"就可以取消注册码验证了.选中该句代码.点击右键,在弹出菜单中选择"Hexedit"命令.在弹出的快速 

字节编辑器对话窗口中,将"修改字节"中的"7442A1DO*********"改为"7542A1DO********" 

修改完毕后,点击"保存"按钮,将修改保存到原文件中,然后点击对话框中的"运行"按钮,重新运行修改过的 

PMT.exe程序.在注册码输入框中输入任意密码.确定后提示"注册成功.请重新启动软件!" 

------------------------------------------------ 

三.分析 

按照一般情况,此时软件已经成功的进行了破解.成为注册版了.然而当我们重启软件后,打开软件注册窗口. 

在注册对话窗口的左上角处依然提示软件未注册.看到软件经过重启后.又变成未注册软件了.由此可以推测 

软件的注册检测手段是非常严格的.软件很有可能是在重启时,又读取了注册表中的某个键值或者硬盘中的某 

个文件,对软件是否正确注册加以判断.如果判断失败.将又重新显示未注册信息. 

------------------------------------------------ 

四.监视到注册标志 
   
   在使用RegMon监视注册表时.没有发现什么可疑的键值,具体的过程就不多说了.但是在使用filemon时监 

视硬盘文件时,却发现软件在注册过程中有些不寻常.. 

   运行filemon软件,在菜单"卷"中勾选"卷C",设置只监视PMT渗透软件的安装目录.取消其它的监视项目. 

然后注册并重新启动软件,查看监视到的硬盘数据读取信息时,可以看到在点击注册时,软件读取了C盘下的 

"C:\windows\pmt.ini"文件.从文件名一看可知,该文件必定与渗透PMT程序注册有关联.用记事本打 

开"pmt.ini"文件,这是PMT的配置文件.在文件中可以看到文件中的"[S/N]"段处,保存有我们添写的注册码. 

显而易见.软件在注册成功后,将我们输入的注册码保存在了这里,然后当重启时又因此文件中读取这个注册 

码.并经过注册码算法检测,判断是否为正确的注册码.由于我们只爆破了注册时的代码.未爆解启动时的注册 

码检测.导致软件还是不能注册成功. 

------------------------------------------------- 

五.完美爆破 

   如何找到启动时的注册码判断代码呢?再次用W32Dasm调入脱壳后的"unpacked.exe"文件,点击菜单"查看" 

-->"查找文本"打开搜索文本对话框.在其中输入要搜索查找的字符串为"S/N".然后点击"查找下一个"按钮. 

很快就定位到的代码段中相应的位置处.不过在程序中共有8处代码段使用到了"S/N"字符,因此通过该字符串 

来判断是查找启动时的关键跳是不行的. 

打开串式数据参考对话窗口,在窗口列表中查找需要的信息,果真看到了"已注册"字符. 

双击该字符串,来到对应的汇编代码处. 

这里有两个"已注册"信息,当然是找最上面的一个了.在第一个"已注册"信息代码段上面不远处.有一个跳转 

语句"004B9BFB 742C je 004B9C29004BA2FA",不用说,这一定是关键跳了!找到了关键跳就好办了.直接用上 

面的方法,点击右键进行修改,将代码中的"74’改为"75"即可! 

保存对程序文件的修改,退出W32Dasm后,重新启动渗透程序.可以看到程序已经成功的注册啦!

>> 相关文章

广告位