飘云阁

 找回密码
 加入我们

QQ登录

只需一步,快速开始

查看: 5604|回复: 19

[原创] Alawar游戏公司加密简单分析

[复制链接]

该用户从未签到

发表于 2009-6-25 04:05:49 | 显示全部楼层 |阅读模式
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 [1006BD61], al
1001994E    3AC3            cmp     al, bl
10019950    74 07           je      short 10019959
10019952    C605 60BD0610 0>mov     byte ptr [1006BD60], 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 [1006BD60], 0
100195DC    0FB605 61BD0610 movzx   eax, byte ptr [1006BD61]
100195E3    8B0D E0BC0610   mov     ecx, dword ptr [1006BCE0]  ; 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 [1006BD60], 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 [esi]
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 [1006C0A0]
1001A45C    C3              retn
---------------------

莫非这个是网络验证返回值 ?

1001D50F    E8 BC40FEFF     call    100015D0
1001D514    A1 24A20410     mov     eax, dword ptr [1004A224]
1001D519    8038 00         cmp     byte ptr [eax], 0
1001D51C    0F95C0          setne   al
1001D51F    A2 A0C00610     mov     byte ptr [1006C0A0], al

好像是有网络验证参与 但不太确定 猜的 ~  猜[1006C0A0]这里代表是否连网或者已成功激活  

所以最终的修改方案:
01、1001D519    8038 00         cmp     byte ptr [eax], 0  // 1
02、10019950    74 07           je      short 10019959     // JMP
03、10011D9B    MOV AL,1


没深入去搞了 简单跟了下流程 有兴趣的朋友可以看一下 游戏挺好玩 ~

wrapper.rar

132.57 KB, 下载次数: 5, 下载积分: 飘云币 -2 枚

PYG19周年生日快乐!

该用户从未签到

 楼主| 发表于 2009-6-25 05:08:42 | 显示全部楼层
这个公司系列的加密基本上都类似 我看ZeNiX是修改的exe主程序 这个不知道是如何修改的
PYG19周年生日快乐!
  • TA的每日心情
    开心
    2019-3-14 10:36
  • 签到天数: 44 天

    [LV.5]常住居民I

    发表于 2009-6-25 09:20:20 | 显示全部楼层
    原帖由 Nisy 于 2009-6-25 05:08 发表
    这个公司系列的加密基本上都类似 我看ZeNiX是修改的exe主程序 这个不知道是如何修改的


    我沒修改主桯序, 我發佈的主程序, 是我自己寫的. 其實並不是補丁.
    所以運行我的主程序之後, 是直接進入游戲畫面,
    所以啟動和退出都不會有底下這個畫面.

    Snap2.gif

    [ 本帖最后由 zenix 于 2009-6-25 09:34 编辑 ]
    PYG19周年生日快乐!
  • TA的每日心情
    开心
    2019-3-14 10:36
  • 签到天数: 44 天

    [LV.5]常住居民I

    发表于 2009-6-25 09:33:39 | 显示全部楼层
    補充一下, 其實不必破解也可以.
    它的試用時間 (一般是 60 minutes), 是寫在注冊表裡的.
    你直接把那值改大一點就好了. 一般來說, 改成 1000 個小時, 肯定夠了.
    PYG19周年生日快乐!
  • TA的每日心情
    奋斗
    2016-1-13 12:25
  • 签到天数: 3 天

    [LV.2]偶尔看看I

    发表于 2009-6-25 09:49:26 | 显示全部楼层
    :loveliness: 我玩过几个SEX相关的
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2009-6-25 09:59:06 | 显示全部楼层
    http://www.reflexive.com/
    两类加密
    FFF有个注册机
    一种是UNPACK
    一种是PATCH
    PYG19周年生日快乐!
  • TA的每日心情
    擦汗
    2017-9-24 22:49
  • 签到天数: 4 天

    [LV.2]偶尔看看I

    发表于 2009-6-25 10:25:44 | 显示全部楼层
    国外的这类游戏一般都有很大的漏洞!
    PYG19周年生日快乐!
  • TA的每日心情
    开心
    2016-4-24 21:35
  • 签到天数: 8 天

    [LV.3]偶尔看看II

    发表于 2009-6-25 14:49:05 | 显示全部楼层
    路过,注意了.
    PYG19周年生日快乐!
  • TA的每日心情
    无聊
    2020-4-10 17:02
  • 签到天数: 5 天

    [LV.2]偶尔看看I

    发表于 2009-6-25 22:46:49 | 显示全部楼层
    看不懂,沒資格討論了!
    PYG19周年生日快乐!

    该用户从未签到

     楼主| 发表于 2009-6-26 07:27:44 | 显示全部楼层
    原帖由 zenix 于 2009-6-25 09:20 发表


    我沒修改主桯序, 我發佈的主程序, 是我自己寫的. 其實並不是補丁.
    所以運行我的主程序之後, 是直接進入游戲畫面,
    所以啟動和退出都不會有底下這個畫面.

    45009


    /:good  猜到了 O(∩_∩)O哈哈~ 有时间我也研究一下调用时的传参 有问题再向老兄请教
    PYG19周年生日快乐!
    您需要登录后才可以回帖 登录 | 加入我们

    本版积分规则

    快速回复 返回顶部 返回列表