Alawar游戏公司加密简单分析
Homepage:http://www.alawar.com/看到ZeNiX大哥 对这个公司的游戏比较感兴趣 论坛上还发布了改公司的几个补丁 所以下载分析下
分析对象是 Farm Frenzy 2 :http://www.alawar.com/game/farm-frenzy-2/
Aspr的壳脚本脱一下 程序有时间限制 启动时候有NAG 官方忽悠说 程序为Demo版 好像是keyfile来进行验证的 (网络验证的)
所以 目标首先干掉启动时的NAG
BP DialogBoxParamW然后返回返回 过一会就可以看到一些字符串提示等等 最终重新加载 在这里下断点:
1001993E E8 DD8BFEFF call 10002520
10019943 83F8 FF cmp eax, -1
10019946 0F95C0 setne al
10019949 A2 61BD0610 mov byte ptr , al
1001994E 3AC3 cmp al, bl
10019950 74 07 je short 10019959
10019952 C605 60BD0610 0>mov byte ptr , 1 ; 这里是关键值 / 最后推出来的
……
100199E4 E8 9E83FFFF call 10011D87 ; 这里必须要跳
100199E9 84C0 test al, al
100199EB 75 62 jnz short 10019A4F
--------------------------
跟进 call 10011D87
10011D99 B0 01 mov al, 1修改一下
10011D9B C3 retn
10011D9C C3 retn
--------------------------
这样程序就可以启动了 没有NAG了 但是进入程序后 直接弹出另一个NAG 方法相同 继续定位:
100195D5 803D 60BD0610 0>cmp byte ptr , 0
100195DC 0FB605 61BD0610 movzx eax, byte ptr
100195E3 8B0D E0BC0610 mov ecx, dword ptr ; wrapper.1006BD68
100195E9 50 push eax
100195EA 74 06 je short 100195F2 ; 若不跳 则代表未注册
100195EC E8 BAE4FFFF call 10017AAB
100195F1 C3 retn
100195F2 E8 75E3FFFF call 1001796C
100195F7 C3 retn
大致就是上边的这个地方 通过 cmp byte ptr , 0 指令 得出该全局变量代表程序是否已注册
跟进call 1001796C
1001796C 56 push esi
1001796D 8BF1 mov esi, ecx
1001796F E8 85E5FFFF call 10015EF9 ; (kernel32.CreateThread)
10017974 8B0E mov ecx, dword ptr
10017976 E8 DC2A0000 call 1001A457 ; 进入看看
1001797B 84C0 test al, al
1001797D 74 24 je short 100179A3 ; 这里不能跳
1001797F 6A 00 push 0
10017981 8BCE mov ecx, esi
10017983 E8 3BADFFFF call 100126C3 ; 这个CALL很** 不要进去轻易修改
10017988 84C0 test al, al
1001798A 74 7D je short 10017A09 ; JMP
---------------------
进入call 1001A457 看看
1001A457 A0 A0C00610 mov al, byte ptr
1001A45C C3 retn
---------------------
莫非这个是网络验证返回值 ?
1001D50F E8 BC40FEFF call 100015D0
1001D514 A1 24A20410 mov eax, dword ptr
1001D519 8038 00 cmp byte ptr , 0
1001D51C 0F95C0 setne al
1001D51F A2 A0C00610 mov byte ptr , al
好像是有网络验证参与 但不太确定 猜的 ~猜这里代表是否连网或者已成功激活
所以最终的修改方案:
01、1001D519 8038 00 cmp byte ptr , 0// 1
02、10019950 74 07 je short 10019959 // JMP
03、10011D9B MOV AL,1
没深入去搞了 简单跟了下流程 有兴趣的朋友可以看一下 游戏挺好玩 ~ 这个公司系列的加密基本上都类似 我看ZeNiX是修改的exe主程序 这个不知道是如何修改的 原帖由 Nisy 于 2009-6-25 05:08 发表 https://www.chinapyg.com/images/common/back.gif
这个公司系列的加密基本上都类似 我看ZeNiX是修改的exe主程序 这个不知道是如何修改的
我沒修改主桯序, 我發佈的主程序, 是我自己寫的. 其實並不是補丁.
所以運行我的主程序之後, 是直接進入游戲畫面,
所以啟動和退出都不會有底下這個畫面.
[ 本帖最后由 zenix 于 2009-6-25 09:34 编辑 ] 補充一下, 其實不必破解也可以.
它的試用時間 (一般是 60 minutes), 是寫在注冊表裡的.
你直接把那值改大一點就好了. 一般來說, 改成 1000 個小時, 肯定夠了. :loveliness: 我玩过几个SEX相关的 http://www.reflexive.com/
两类加密
FFF有个注册机
一种是UNPACK
一种是PATCH 国外的这类游戏一般都有很大的漏洞! 路过,注意了. 看不懂,沒資格討論了! 原帖由 zenix 于 2009-6-25 09:20 发表 https://www.chinapyg.com/images/common/back.gif
我沒修改主桯序, 我發佈的主程序, 是我自己寫的. 其實並不是補丁.
所以運行我的主程序之後, 是直接進入游戲畫面,
所以啟動和退出都不會有底下這個畫面.
45009
/:good猜到了 O(∩_∩)O哈哈~ 有时间我也研究一下调用时的传参 有问题再向老兄请教
页:
[1]
2