当前位置:中国飞客联盟文章中心编程学习脚本语言 → 软件爆破实例一则

软件爆破实例一则

减小字体 增大字体 作者:本站  来源:www.feikers.com  发布时间:2007-11-8 20:33:21

破解软件:Linkman俱乐部联系人软件
保护类型:Aspack1.21
限制功能:注册和未注册版本区别在于部分功能不能使用
下载地址:http://218.12.38.52:8080/Soft/LinkMan_professional_v1_51.exe
使用工具:W32+UE+AspackDie1.41

那到手先试试软件有什么可以帮助我们的地方 比如 提示啦~~
软件是机器码+注册码类型的(随着机器的不同机器码有所不同,作者狠~~~~)
运行AspackDie1.41 选择 Linkman
脱壳成功
运行Linkman初始密码为空
登陆运行>>>>>>>设置>>>>>>>注册码输入7878787878
点激活 提示 错误 先不要 点 确定
接下来 用 W32 反汇编 用参考 (哇~~~ 好多好多哦~~~)
我们双击 软件给我们提示的那一句 参考 ( 序列号错了,认真点儿)
来到 :004E3FF6 B89C404E00 mov eax, 004E409C
* Possible StringData Ref from Code Obj ->"序列号输错了,认真点儿!"
| ^^^^^^^^^^^^^^ 向上查找
:004E3FF6 B89C404E00 mov eax, 004E409C

我们向上找看看 找到可疑的CALL 和 跳转 指令
:004E3FEF E83407F2FF call 00404728
:004E3FF4 740C je 004E4002 关键跳转
用 UE 查找偏移地址 e3ff4h 74改为75 为了避免出以外备份一份 另存为 1.exe
试试 随便输入 注册码 下面提示 感谢注册请重新启动软件 重新启动后……
晕………… 提示未注册 看来 还有验证的地方…

还好我开始备份了一份 有了上面的基础 我们就可以加快进度了

在参考里我们发现有个"注册信息"的东东 很有意思
双击 来到 :004DD821 BA58DD4D00 mov edx, 004DDD58

仔细研究上下发现这个地方可疑
* Possible StringData Ref from Code Obj ->"本系统:已注册"
=============================================
向上找找看看有什么发现


        :004DDA5B 84DB test bl, bl
        :004DDA5D 0F8483000000 je 004DDAE6
        ^^^^^^^^^^ 关键跳转
        :004DDA63 8B45FC mov eax, dword ptr [ebp-04]
        :004DDA66 8B80AC030000 mov eax, dword ptr [eax+000003AC]
        :004DDA6C 8B8008020000 mov eax, dword ptr [eax+00000208]
        :004DDA72 BA01000000 mov edx, 00000001
        :004DDA77 E814C8F6FF call 0044A290
       
是值得注意的可疑跳转 (可根据上下的指令看出)

用UE 修改 je>>>>jne 重起软件 显示 注册

不过这种方式有一个缺点 需要依机器而定每台机器的机器码不同啊,数据库密码在内存中可以找到 密码:*********(鉴于研究的目的,密码就不公布了)所以我打算写一个注册机首先还原算法 可是由于本人不是很勤奋所以就不写出来了,由于本人技术不是很高....算法还原不出....


本篇文章来源于 黑客基地-全球最大的中文黑客站 原文链接:http://hackbase.com/tech/2007%2D09%2D30/11636343230/