软件破解和编程讲解 申精

社区服务
高级搜索
猴岛论坛电脑百科软件破解和编程讲解 申精
发帖 回复
正序阅读 最近浏览的帖子最近浏览的版块
3个回复

软件破解和编程讲解 申精

楼层直达
不懂也不知道

ZxID:10586231

等级: 禁止发言

举报 只看楼主 使用道具 楼主   发表于: 2010-07-11 0
软件破解和编程讲解 申精
一.破解的等级


      初级,修改程序,用ultraedit修改exe文件,称暴力破解,简称爆破
      中级,追出软件的注册码
      高级,写出注册机

      二.用w32dasm破解的一般步骤:


      1.看软件的说明书,软件注册与不注册在功能上有什么区别,如何注册
      2.运行此软件,试着输入你的姓名和任意注册码去注册,有什麽错误提示信息,将错误提示信息记下来
      3.侦测有无加壳(第一课).若加壳,脱壳(第二课)
      4.pw32dasmgold反汇编
      5.串式参考中找到错误提示信息或可能是正确的提示信息双击鼠标左键
      6.pw32dasmgold主窗口中分析相应汇编,找出关键跳转和关键call
      7.绿色光条停在关键跳转,在pw32dasmgold主窗口底部找到关键跳转的偏移地址(实际修改地址)
      8.用ultraedit找到偏移地址(实际修改地址)修改机器码,保存


      壳的概念:版权信息需要保护起来,不想让别人随便改动,exe可执行文件压缩,最常见的加壳软件ASPACK ,UPX,PEcompact

      脱壳:拿到一个软件,侦测它的壳,然后我们要把它的壳脱去,还原它的本来面目.若它没有加壳,就省事不用脱壳了.脱壳软件unaspack,caspr,upx,unpecompact,procdump



      实际修改地址(偏移地址)和行地址(虚拟地址)pw32dasmgold反汇编出来的代码由三列组成
      第一列 行地址(虚拟地址)
      第二列 机器码(最终修改时用ultraedit修改)
      第三列 汇编指令

    第一列    第二列      第三列
:0041BE38 2B45F0      sub eax, dword ptr [ebp-10]
:0041BE3B 6A42        push 00000042
:0041BE3D 50          push eax
:0041BE3E FF75F4      push [ebp-0C]
:0041BE41 FF75F0      push [ebp-10]
:0041BE44 FF35A8AB4400 push dword ptr [0044ABA8]


      两种不同情况的不同修改方法
      1.修改为jmp
      je(jne,jz,jnz) =>jmp相应的机器码EB (出错信息向上找到的第一个跳转)jmp的作用是绝对跳,无条件跳,从而跳过下面的出错信息

      2.修改为nop
      je(jne,jz,jnz) =>nop相应的机器码90 (正确信息向上找到的第一个跳转) nop的作用是抹掉这个跳转,使这个跳转无效,失去作用,从而使程序顺利来到紧跟其后的正确信息处。

好了,下面开始我们的破解之旅。。。。。。。。。。

      1,侦壳:先打开侦壳 language.exe,选择打开----找到要破解的网络填表终结者:FormGhost.exe,点确定,如图1。language.exe便显示出软件的壳是:Aspack,如图2。

[ Last edited by hjyzzz8888 on 2005-2-19 at 11:08 ]




2,脱壳:双击脱壳AspackDie.exe,出现一个对话框,选择网络填表终结者:FormGhost.exe,打开。出现图4框,点确定脱壳完成。在网络填表终结者:FormGhost.exe同目录下生成一个unpacked.exe文件,这就是脱壳后的FormGhost.exe。

3,运行脱壳后的unpacked.exe,点帮助----注册,图9。注册名称,注册码随便添。图10。点注册,提示:“注册码错误”图11,好了记住这5个字。关了它。


4,手把手教你如何破解软件


返汇编之后如图7。点击上面的参考----串式参考如图8,


      出现这个对话框图12。找到“注册码错误”,双击它,汇编主程序便来到这里:图13。



    (注意:正确注册信息在错误信息之上)关闭串式参考框。看主程序:图14。从注册码错误向上找到第一个跳转(关键跳,除了jmp的其它跳:je,jne,jz,jnz),来到这里图15。



(它上面的call叫关键call。),双击关键跳,看软件最下面有一行字:Line:379267 Pg 7586 of 7626 Code Data@004ACB4B@Offset 00ACB4BH in File:unpacked.exe.其中@Offset 00ACB4BH就是偏移地址,记住00ACB4B(后面的h代表16进制,不用管他),图16。

5,开始修改软件:打开16进制编辑器 UltraEdit.rar,(有点慢)图17。打开脱壳后的unpacked.exe,直接按ctrl+g,出现对话框,输入0xacb4b(即偏移地址,不要前面的000)图18。点确定,来到图19




    前面说过正确注册信息在错误信息之上,所以这里将of85改为of84。如果正确注册信息在错误信息之下,这里改为eb)。将光标移到5上直接输入数字4即可,其他地方不要动。好了,改好只后左上角的文件---另存为unpacked222.exe

[ Last edited by hjyzzz8888 on 2005-2-19 at 11:05 ]

6,关闭所以软件,运行另存的unpacked222.exe,点帮助---注册,注册名称,注册码随便添,点确定,提示注册完成。图21。回到软件界面看看,帮助,注册一项已经变为灰色了
      7,破解全部完
本帖de评分: 1 条评分 DB +9
DB+9

感谢分享

836447952

ZxID:12679091

等级: 列兵
举报 只看该作者 地板   发表于: 2010-07-16 0
麻烦好人。。你帮我破解下我的路由器吧。QQ:836447952
w13837835014w

ZxID:12653852

等级: 列兵
举报 只看该作者 板凳   发表于: 2010-07-14 0
看不懂
-旺崽牛奶

ZxID:10476499

等级: 中将
水贴年年有.....今年特别多..查水哥..B宝

举报 只看该作者 沙发   发表于: 2010-07-11 0
这些你懂么?
QQ:872554370
« 返回列表
发帖 回复