首页
社区
课程
招聘
[旧帖] [求助]这几天破解中遇到的难题 0.00雪花
发表于: 2007-4-12 15:33 3502

[旧帖] [求助]这几天破解中遇到的难题 0.00雪花

2007-4-12 15:33
3502
这是我真正开始破解软件,我破解的是一个电子书,用DELPHI写的.
当点目录时会弹出输入密码框,输入密码后出现密码错误的提示
然后找字符串找到相应的地方下断点,找到一个SWITCH的过程如下:
004C7EC0  /.  55            push    ebp
004C7EC1  |.  8BEC          mov     ebp, esp
004C7EC3  |.  6A 00         push    0
004C7EC5  |.  6A 00         push    0
004C7EC7  |.  53            push    ebx
004C7EC8  |.  8BD8          mov     ebx, eax
004C7ECA  |.  33C0          xor     eax, eax
004C7ECC  |.  55            push    ebp
004C7ECD  |.  68 3B824C00   push    004C823B
004C7ED2  |.  64:FF30       push    dword ptr fs:[eax]
004C7ED5  |.  64:8920       mov     dword ptr fs:[eax], esp
004C7ED8  |.  33D2          xor     edx, edx
004C7EDA  |.  8B83 70070000 mov     eax, dword ptr [ebx+770]         ;  (initial cpu selection)
004C7EE0  |.  E8 F7B3F8FF   call    004532DC
004C7EE5  |.  33C0          xor     eax, eax
004C7EE7  |.  8A83 40A90000 mov     al, byte ptr [ebx+A940]
004C7EED  |.  83F8 19       cmp     eax, 19                          ;  Switch (cases 1..19)
004C7EF0  |.  0F87 BC020000 ja      004C81B2
004C7EF6  |.  FF2485 FD7E4C>jmp     dword ptr [eax*4+4C7EFD]
004C7EFD  |.  B2814C00      dd      dnwx4_0.004C81B2                 ;  分支表 被用于 004C7EF6
004C7F01  |.  657F4C00      dd      dnwx4_0.004C7F65
004C7F05  |.  807F4C00      dd      dnwx4_0.004C7F80
004C7F09  |.  957F4C00      dd      dnwx4_0.004C7F95
004C7F0D  |.  AA7F4C00      dd      dnwx4_0.004C7FAA
004C7F11  |.  BF7F4C00      dd      dnwx4_0.004C7FBF
004C7F15  |.  D47F4C00      dd      dnwx4_0.004C7FD4
004C7F19  |.  E97F4C00      dd      dnwx4_0.004C7FE9
004C7F1D  |.  28804C00      dd      dnwx4_0.004C8028
004C7F21  |.  62804C00      dd      dnwx4_0.004C8062
004C7F25  |.  77804C00      dd      dnwx4_0.004C8077
004C7F29  |.  8C804C00      dd      dnwx4_0.004C808C
004C7F2D  |.  A1804C00      dd      dnwx4_0.004C80A1
004C7F31  |.  B6804C00      dd      dnwx4_0.004C80B6
004C7F35  |.  CB804C00      dd      dnwx4_0.004C80CB
004C7F39  |.  E0804C00      dd      dnwx4_0.004C80E0
004C7F3D  |.  F5804C00      dd      dnwx4_0.004C80F5
004C7F41  |.  0A814C00      dd      dnwx4_0.004C810A
004C7F45  |.  1F814C00      dd      dnwx4_0.004C811F
004C7F49  |.  34814C00      dd      dnwx4_0.004C8134
004C7F4D  |.  46814C00      dd      dnwx4_0.004C8146
004C7F51  |.  58814C00      dd      dnwx4_0.004C8158
004C7F55  |.  6A814C00      dd      dnwx4_0.004C816A
004C7F59  |.  7C814C00      dd      dnwx4_0.004C817C
004C7F5D  |.  8E814C00      dd      dnwx4_0.004C818E
004C7F61  |.  A0814C00      dd      dnwx4_0.004C81A0
004C7F65  |>  8D83 CCA50000 lea     eax, dword ptr [ebx+A5CC]        ;  Case 1 of switch 004C7EED
004C7F6B  |.  8B8B C4FF0400 mov     ecx, dword ptr [ebx+4FFC4]
004C7F71  |.  BA 50824C00   mov     edx, 004C8250                    ;  向作者注册后才能阅读,请填机器码:
004C7F76  |.  E8 35BFF3FF   call    00403EB0
004C7F7B  |.  E9 42020000   jmp     004C81C2
004C7F80  |>  8D83 CCA50000 lea     eax, dword ptr [ebx+A5CC]        ;  Case 2 of switch 004C7EED
004C7F86  |.  BA 7C824C00   mov     edx, 004C827C                    ;  不要对该图书进行破解!有问题请与作者联系!
004C7F8B  |.  E8 A8BCF3FF   call    00403C38
004C7F90  |.  E9 2D020000   jmp     004C81C2
004C7F95  |>  8D83 CCA50000 lea     eax, dword ptr [ebx+A5CC]        ;  Case 3 of switch 004C7EED
004C7F9B  |.  BA B0824C00   mov     edx, 004C82B0                    ;  输入密码错误!!!
004C7FA0  |.  E8 93BCF3FF   call    00403C38
004C7FA5  |.  E9 18020000   jmp     004C81C2
004C7FAA  |>  8D83 CCA50000 lea     eax, dword ptr [ebx+A5CC]        ;  Case 4 of switch 004C7EED
004C7FB0  |.  BA C8824C00   mov     edx, 004C82C8                    ;  现在可以修改文书了!
004C7FB5  |.  E8 7EBCF3FF   call    00403C38
004C7FBA  |.  E9 03020000   jmp     004C81C2
004C7FBF  |>  8D83 CCA50000 lea     eax, dword ptr [ebx+A5CC]        ;  Case 5 of switch 004C7EED
004C7FC5  |.  BA E4824C00   mov     edx, 004C82E4                    ;  现在可阅读全部目录了!
004C7FCA  |.  E8 69BCF3FF   call    00403C38
004C7FCF  |.  E9 EE010000   jmp     004C81C2
004C7FD4  |>  8D83 CCA50000 lea     eax, dword ptr [ebx+A5CC]        ;  Case 6 of switch 004C7EED
004C7FDA  |.  BA 04834C00   mov     edx, 004C8304                    ;  该版本软件已过期,只能进行阅读!\n请进行注册或下载更新版!\n您的注册将是作者不断完善和改进该软件的动力!
004C7FDF  |.  E8 54BCF3FF   call    00403C38
004C7FE4  |.  E9 D9010000   jmp     004C81C2
004C7FE9  |>  68 70834C00   push    004C8370                         ;  已达到未注册版最大目录数 ; Case 7 of switch 004C7EED
004C7FEE  |.  8D55 FC       lea     edx, dword ptr [ebp-4]
004C7FF1  |.  8B83 D8FF0400 mov     eax, dword ptr [ebx+4FFD8]
004C7FF7  |.  E8 3C12F4FF   call    00409238
004C7FFC  |.  FF75 FC       push    dword ptr [ebp-4]
004C7FFF  |.  68 94834C00   push    004C8394                         ;  \n
004C8004  |.  68 A0834C00   push    004C83A0                         ;  另新建一文书使用或进行注册!
004C8009  |.  68 94834C00   push    004C8394                         ;  \n
004C800E  |.  68 C4834C00   push    004C83C4                         ;  您的注册将是作者不断完善和改进该软件的动力!
004C8013  |.  8D83 CCA50000 lea     eax, dword ptr [ebx+A5CC]
004C8019  |.  BA 06000000   mov     edx, 6
004C801E  |.  E8 01BFF3FF   call    00403F24
004C8023  |.  E9 9A010000   jmp     004C81C2
004C8028  |>  68 F8834C00   push    004C83F8                         ;  非注册版不能修改大于; Case 8 of switch 004C7EED
004C802D  |.  8D55 F8       lea     edx, dword ptr [ebp-8]
004C8030  |.  8B83 D8FF0400 mov     eax, dword ptr [ebx+4FFD8]
004C8036  |.  E8 FD11F4FF   call    00409238
004C803B  |.  FF75 F8       push    dword ptr [ebp-8]
004C803E  |.  68 18844C00   push    004C8418
004C8043  |.  68 94834C00   push    004C8394                         ;  \n
004C8048  |.  68 C4834C00   push    004C83C4                         ;  您的注册将是作者不断完善和改进该软件的动力!
004C804D  |.  8D83 CCA50000 lea     eax, dword ptr [ebx+A5CC]
004C8053  |.  BA 05000000   mov     edx, 5
004C8058  |.  E8 C7BEF3FF   call    00403F24
004C805D  |.  E9 60010000   jmp     004C81C2
004C8062  |>  8D83 CCA50000 lea     eax, dword ptr [ebx+A5CC]        ;  Case 9 of switch 004C7EED
004C8068  |.  BA 2C844C00   mov     edx, 004C842C                    ;  基于安全考虑,必须是注册用户才能导入可执行文件!
004C806D  |.  E8 C6BBF3FF   call    00403C38
004C8072  |.  E9 4B010000   jmp     004C81C2
004C8077  |>  8D83 CCA50000 lea     eax, dword ptr [ebx+A5CC]        ;  Case A of switch 004C7EED
004C807D  |.  BA 64844C00   mov     edx, 004C8464                    ;  保存后生效!
004C8082  |.  E8 B1BBF3FF   call    00403C38
004C8087  |.  E9 36010000   jmp     004C81C2
004C808C  |>  8D83 CCA50000 lea     eax, dword ptr [ebx+A5CC]        ;  Case B of switch 004C7EED
004C8092  |.  BA 7C844C00   mov     edx, 004C847C                    ;  先打开4.5.6以前版制作的文书再进行转换!
004C8097  |.  E8 9CBBF3FF   call    00403C38
004C809C  |.  E9 21010000   jmp     004C81C2
004C80A1  |>  8D83 CCA50000 lea     eax, dword ptr [ebx+A5CC]        ;  Case C of switch 004C7EED
004C80A7  |.  BA AC844C00   mov     edx, 004C84AC                    ;  升级成功!
004C80AC  |.  E8 87BBF3FF   call    00403C38
004C80B1  |.  E9 0C010000   jmp     004C81C2
004C80B6  |>  8D83 CCA50000 lea     eax, dword ptr [ebx+A5CC]        ;  Case D of switch 004C7EED
004C80BC  |.  BA C0844C00   mov     edx, 004C84C0                    ;  注册后才可使用该项功能!
004C80C1  |.  E8 72BBF3FF   call    00403C38
004C80C6  |.  E9 F7000000   jmp     004C81C2
004C80CB  |>  8D83 CCA50000 lea     eax, dword ptr [ebx+A5CC]        ;  Case E of switch 004C7EED
004C80D1  |.  BA E0844C00   mov     edx, 004C84E0                    ;  密码修改成功!
004C80D6  |.  E8 5DBBF3FF   call    00403C38
004C80DB  |.  E9 E2000000   jmp     004C81C2
004C80E0  |>  8D83 CCA50000 lea     eax, dword ptr [ebx+A5CC]        ;  Case F of switch 004C7EED
004C80E6  |.  BA F8844C00   mov     edx, 004C84F8                    ;  输入打开文档密码错误!
004C80EB  |.  E8 48BBF3FF   call    00403C38
004C80F0  |.  E9 CD000000   jmp     004C81C2
004C80F5  |>  8D83 CCA50000 lea     eax, dword ptr [ebx+A5CC]        ;  Case 10 of switch 004C7EED
004C80FB  |.  BA 18854C00   mov     edx, 004C8518                    ;  文件已被非法改法!
004C8100  |.  E8 33BBF3FF   call    00403C38
004C8105  |.  E9 B8000000   jmp     004C81C2
004C810A  |>  8D83 CCA50000 lea     eax, dword ptr [ebx+A5CC]        ;  Case 11 of switch 004C7EED
004C8110  |.  BA 34854C00   mov     edx, 004C8534
004C8115  |.  E8 1EBBF3FF   call    00403C38
004C811A  |.  E9 A3000000   jmp     004C81C2
004C811F  |>  8D83 CCA50000 lea     eax, dword ptr [ebx+A5CC]        ;  Case 12 of switch 004C7EED
004C8125  |.  BA 4C854C00   mov     edx, 004C854C                    ;  升级文件密码与主文件密码不一致!
004C812A  |.  E8 09BBF3FF   call    00403C38
004C812F  |.  E9 8E000000   jmp     004C81C2
004C8134  |>  8D83 CCA50000 lea     eax, dword ptr [ebx+A5CC]        ;  Case 13 of switch 004C7EED
004C813A  |.  BA 78854C00   mov     edx, 004C8578                    ;  主文件的升级密码不能为空!
004C813F  |.  E8 F4BAF3FF   call    00403C38
004C8144  |.  EB 7C         jmp     short 004C81C2
004C8146  |>  8D83 CCA50000 lea     eax, dword ptr [ebx+A5CC]        ;  Case 14 of switch 004C7EED
004C814C  |.  BA 9C854C00   mov     edx, 004C859C                    ;  升级文件最多不能超过20个!
004C8151  |.  E8 E2BAF3FF   call    00403C38
004C8156  |.  EB 6A         jmp     short 004C81C2
004C8158  |>  8D83 CCA50000 lea     eax, dword ptr [ebx+A5CC]        ;  Case 15 of switch 004C7EED
004C815E  |.  BA C0854C00   mov     edx, 004C85C0                    ;  先选择升级的主文件!
004C8163  |.  E8 D0BAF3FF   call    00403C38
004C8168  |.  EB 58         jmp     short 004C81C2
004C816A  |>  8D83 CCA50000 lea     eax, dword ptr [ebx+A5CC]        ;  Case 16 of switch 004C7EED
004C8170  |.  BA E0854C00   mov     edx, 004C85E0                    ;  数据文件已被删除!
004C8175  |.  E8 BEBAF3FF   call    00403C38
004C817A  |.  EB 46         jmp     short 004C81C2
004C817C  |>  8D83 CCA50000 lea     eax, dword ptr [ebx+A5CC]        ;  Case 17 of switch 004C7EED
004C8182  |.  BA FC854C00   mov     edx, 004C85FC                    ;  主文件要是只读或浏览打开模式!
004C8187  |.  E8 ACBAF3FF   call    00403C38
004C818C  |.  EB 34         jmp     short 004C81C2
004C818E  |>  8D83 CCA50000 lea     eax, dword ptr [ebx+A5CC]        ;  Case 18 of switch 004C7EED
004C8194  |.  BA 24864C00   mov     edx, 004C8624                    ;  密码已存储,在需要的时候调用!
004C8199  |.  E8 9ABAF3FF   call    00403C38
004C819E  |.  EB 22         jmp     short 004C81C2
004C81A0  |>  8D83 CCA50000 lea     eax, dword ptr [ebx+A5CC]        ;  Case 19 of switch 004C7EED
004C81A6  |.  BA 4C864C00   mov     edx, 004C864C                    ;  保存数据出错,可能是数据文件被删除!
004C81AB  |.  E8 88BAF3FF   call    00403C38
004C81B0  |.  EB 10         jmp     short 004C81C2
004C81B2  |>  8D83 CCA50000 lea     eax, dword ptr [ebx+A5CC]        ;  Default case of switch 004C7EED
004C81B8  |.  BA 7C864C00   mov     edx, 004C867C                    ;  密码错误
004C81BD  |.  E8 76BAF3FF   call    00403C38
004C81C2  |>  C683 40A90000>mov     byte ptr [ebx+A940], 0
004C81C9  |.  6A 00         push    0
004C81CB  |.  8B83 CCA50000 mov     eax, dword ptr [ebx+A5CC]
004C81D1  |.  E8 52BEF3FF   call    00404028
004C81D6  |.  8BD0          mov     edx, eax
004C81D8  |.  B9 88864C00   mov     ecx, 004C8688                    ;  提示
004C81DD  |.  A1 64F24C00   mov     eax, dword ptr [4CF264]
004C81E2  |.  8B00          mov     eax, dword ptr [eax]
004C81E4  |.  E8 7F82F8FF   call    00450468
004C81E9  |.  8B83 CCA50000 mov     eax, dword ptr [ebx+A5CC]
004C81EF  |.  BA B0824C00   mov     edx, 004C82B0                    ;  输入密码错误!!!
004C81F4  |.  E8 7BBDF3FF   call    00403F74
004C81F9  |.  75 07         jnz     short 004C8202
004C81FB  |.  8BC3          mov     eax, ebx
004C81FD  |.  E8 224EF8FF   call    0044D024
004C8202  |>  8B83 84060000 mov     eax, dword ptr [ebx+684]
004C8208  |.  8078 47 00    cmp     byte ptr [eax+47], 0
004C820C  |.  75 07         jnz     short 004C8215
004C820E  |.  8BC3          mov     eax, ebx
004C8210  |.  E8 0F4EF8FF   call    0044D024
004C8215  |>  8D83 CCA50000 lea     eax, dword ptr [ebx+A5CC]
004C821B  |.  E8 C4B9F3FF   call    00403BE4
004C8220  |.  33C0          xor     eax, eax
004C8222  |.  5A            pop     edx
004C8223  |.  59            pop     ecx
004C8224  |.  59            pop     ecx
004C8225  |.  64:8910       mov     dword ptr fs:[eax], edx
004C8228  |.  68 42824C00   push    004C8242
004C822D  |>  8D45 F8       lea     eax, dword ptr [ebp-8]
004C8230  |.  BA 02000000   mov     edx, 2
004C8235  |>  E8 CEB9F3FF   call    00403C08
004C823A  \.  C3            retn

然后一句句的看最后发现跳转是与内存数据00E3FACC这个位置有关,于是设内存断点,可以肯定的是内存数据00E3FACC这个位置的改写是在这个SWITCH过程之外.但在弹出密码输入框到弹出密码错误框之间也没有访问或改写00E3FACC这个位置.真不明白这个软件是怎么运作的.
最后还是什么也没找到

[课程]Linux pwn 探索篇!

收藏
免费 0
支持
分享
最新回复 (2)
雪    币: 19
活跃值: (107)
能力值: ( LV12,RANK:200 )
在线值:
发帖
回帖
粉丝
2
动态字符串!!!!!
2007-4-12 16:26
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
那是什么东西???
2007-4-12 16:34
0
游客
登录 | 注册 方可回帖
返回
//