飘云阁

 找回密码
 加入我们

QQ登录

只需一步,快速开始

查看: 9481|回复: 25

[分享] 楚汉棋缘1.29版脱壳加追码

[复制链接]

该用户从未签到

发表于 2008-4-20 01:40:35 | 显示全部楼层 |阅读模式
小弟不才,让大家见笑了,最近主任和主任爱上了下象棋,由于公司不能上互联网,主任机器上又只有这个很老的象棋版本,据说是主任2004年从什么光盘上拷过来的,一看没破解,功能受限制很不爽,于是自己动手了,网上都没有这个的注册码,太老了,只有更新的那些,正好就练练手了,但是现在还没把码给追出来,/:010   好了,废话不多说,GO

1.程序载入后来到这里
0073F001 >  60              pushad                        ;F8单步
0073F002    E8 02000000     call    0073F009              ;ESP定律对付,对ESP下硬件访问断点
0073F007    EB 09           jmp     short 0073F012
0073F009    5D              pop     ebp
0073F00A    55              push    ebp
0073F00B    81ED 39394400   sub     ebp, 00443939
0073F011    C3              retn

2.F8单步后对ESP下硬件断点,右键ESP-数据跟随-下硬件访问断点-word,然后F9运行,程序断到
0073F3B6   /75 08           jnz     short 0073F3C0
0073F3B8   |B8 01000000     mov     eax, 1
0073F3BD   |C2 0C00         retn    0C
0073F3C0   \68 00104000     push    00401000
0073F3C5    C3              retn

3.F8运行到返回,程序来到OEP(一定要从这里DUMP,否则程序会出错)

00401000   /EB 10           jmp     short 00401012              ;从这里DUMP!!!
00401002   |66:623A         bound   di, dword ptr [edx]
00401005   |43              inc     ebx
00401006   |2B2B            sub     ebp, dword ptr [ebx]
00401008   |48              dec     eax
00401009   |4F              dec     edi
0040100A   |4F              dec     edi
0040100B   |4B              dec     ebx
0040100C   |90              nop
0040100D  -|E9 6C544B00     jmp     008B647E
00401012   \A1 5F544B00     mov     eax, dword ptr [4B545F]
00401017    C1E0 02         shl     eax, 2
0040101A    A3 63544B00     mov     dword ptr [4B5463], eax
0040101F    52              push    edx
00401020    6A 00           push    0
00401022    E8 A52B0B00     call    004B3BCC                         ; jmp 到 kernel32.GetModuleHandleA
00401027    8BD0            mov     edx, eax
00401029    E8 9ED30900     call    0049E3CC
0040102E    5A              pop     edx

4.DUMP后运行程序会提示出错,但PEID检测已经过了,我当时就以为未DUMP成功,还修复文件头,走了很多弯路,原来这是作者玩的小把戏,具体是用几个子函数处理过的值来检测是否已经脱壳,并提示程序被破坏,进而直接退出,冷静,直接上OD调试,查找超级字符参考

超子字符参考

超子字符参考



5.双击[注意:文件受到破坏]来到这里
00401BF5  |.  BA 02000000   mov     edx, 2
00401BFA  |.  E8 2D8A0A00   call    004AA62C
00401BFF  |.  59            pop     ecx
00401C00  |.  84C9          test    cl, cl
00401C02      74 5A         je      short 00401C5E                   ;更改跳转JE-JNZ
00401C04  |.  66:C743 10 14>mov     word ptr [ebx+10], 14
00401C0A  |.  BA DB5E4B00   mov     edx, 004B5EDB                    ;  注意:文件受到破坏!
00401C0F  |.  8D45 F8       lea     eax, dword ptr [ebp-8]


6.还有一处
00401C5D  |.  59            pop     ecx
00401C5E  |>  833D EC544B00>cmp     dword ptr [4B54EC], 0
00401C65      75 52         jnz     short 00401CB9                  ;jnz--je 跳过
00401C67  |.  66:C743 10 20>mov     word ptr [ebx+10], 20
00401C6D  |.  BA F05E4B00   mov     edx, 004B5EF0                   ;  程序有误,请写信告诉我该错误详细发生情况,谢谢.
00401C72  |.  8D45 F0       lea     eax, dword ptr [ebp-10]


至此脱壳完成,程序也可以正常运行了,然后可以开始追码,程序使用的时候KEYFILE文件验证思路,会在系统根目录下生成chess.dat文件,里面存放的就是加密了的注册用户名Username和注册码SN还有一些主程序需要读取的一系列参数,我现在发现了一个小BUG就是脱完壳后的程序运行一次后,系统会自动生成chess.dat文件,也就是说只有一次注册机会,没有正确码就不能继续注册了,不过可以删掉该文件后继续注册,程序重启会验证chess.dat文件里的注册码,真就显示已注册给XXXX,但原程序则不会有这样的BUG,具体我也没深入分析,程序注册点了以后什么反应都没有,不知道怎么下断分析,试了好久没什么进展,貌似也无法爆破,大家帮忙来分析一下看看,先睡了!

[ 本帖最后由 ioryvskyo 于 2008-4-22 18:06 编辑 ]

楚汉棋缘1.29.part1.rar

263.67 KB, 下载次数: 32, 下载积分: 飘云币 -2 枚

楚汉棋缘1.29.part2.rar

263.67 KB, 下载次数: 27, 下载积分: 飘云币 -2 枚

楚汉棋缘1.29.part3.rar

142.67 KB, 下载次数: 27, 下载积分: 飘云币 -2 枚

PYG19周年生日快乐!
  • TA的每日心情
    开心
    2023-1-15 13:57
  • 签到天数: 1 天

    [LV.1]初来乍到

    发表于 2008-4-20 01:47:54 | 显示全部楼层
    04年的象棋软件居然也这么**啊。。。
    重启验证,/:L
    看来以后分析软件修复不能运行也可以从字符串入手啊 ~
    半夜三更没有人做沙发,我来先做沙发了。。
    睡觉了 。希望大鸟门能解释楼主遇到的问题~
    PYG19周年生日快乐!

    该用户从未签到

     楼主| 发表于 2008-4-20 02:13:52 | 显示全部楼层
    呵呵,楼上的,我还没睡,还在搞,你在忙什么,有空一起研究研究
    PYG19周年生日快乐!
  • TA的每日心情
    开心
    2024-4-19 19:20
  • 签到天数: 29 天

    [LV.4]偶尔看看III

    发表于 2008-4-20 15:40:36 | 显示全部楼层
    跟踪了1.46版本。
    没有加壳。
    搜索字符串
    找到注册成功,向上到
    0044403A  |. /0F84 22010000 je      00444162   下断
    更改标志位z
    运行 注册成功。
    PYG19周年生日快乐!

    该用户从未签到

     楼主| 发表于 2008-4-20 16:49:22 | 显示全部楼层
    现在就是1.46我会破啊,关键是这个啊,这个1.29很不好搞
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2008-4-20 18:23:22 | 显示全部楼层

    已经搞定了

    没有任何的限制了,高级和中级的都可以用注册地方已经变成感谢注册 呵呵

    我把方法告诉大家吧,
    1、是查找字符串可以看到“授权与”找到段首一路F8就可以找到真的注册码了
    2、通过DEDE找到按钮事件,在OD下断,也是一路F8也可以找到真的注册码了



    评分

    参与人数 1威望 +20 收起 理由
    VC8 + 20 多谢您的参与!

    查看全部评分

    PYG19周年生日快乐!
  • TA的每日心情
    开心
    2023-1-15 13:57
  • 签到天数: 1 天

    [LV.1]初来乍到

    发表于 2008-4-20 18:31:53 | 显示全部楼层
    恭喜你了 ~一天就搞定了 ~!
    PYG19周年生日快乐!

    该用户从未签到

     楼主| 发表于 2008-4-20 20:36:31 | 显示全部楼层
    6楼破解的是1.29吗,能详细讲一下么,在线等你/:001
    PYG19周年生日快乐!

    该用户从未签到

     楼主| 发表于 2008-4-20 21:01:54 | 显示全部楼层
    一路F8找不到注册码........../:L

    6楼的兄弟你具体是怎么找的?
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2008-4-21 00:21:42 | 显示全部楼层
    可以啊 我都找到了 就是1.29的  我下的就是他给的下载地址
    PYG19周年生日快乐!
    您需要登录后才可以回帖 登录 | 加入我们

    本版积分规则

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