首页
社区
课程
招聘
[旧帖] 新手破解时的几个难关,请老师进来指点! 0.00雪花
2006-9-15 09:44 6155

[旧帖] 新手破解时的几个难关,请老师进来指点! 0.00雪花

2006-9-15 09:44
6155
我是新手,在破解一软件时遇到如下问题,想请教!
1。测试软件无壳后,运行软件,注册,任填:123456,点确定,提示:注册码不正确。
2。运行OD,载入软件。查找所有参考文本字串,没找到,全是乱码。查找当前模块中的名称,也没找到GETWINDOWTEXTA,查找所有模块中的名称,找到GETWINDOWTEXTA,设断!
我的问题一:可以这样设断吗?
3。F9运行,注册,OD断在这里,此时OD显示:CPU-主线程,模块-USER32!
我的问题二:在USER32模块,能暴破吗?如修改跳转后,保存时默认文件名为:USER32。DLL,这个文件名不对呀!该怎么爆破呢?
我的问题三:77D32143是关键CALL吗?77D3214F是关键跳转吗?
77D3213C > $  6A 0C         push    0C
77D3213E   .  68 A021D377   push    77D321A0
77D32143   .  E8 7864FEFF   call    77D185C0
77D32148   .  8B7D 0C       mov     edi, [ebp+C]
77D3214B   .  33DB          xor     ebx, ebx
77D3214D   .  3BFB          cmp     edi, ebx
77D3214F      0F84 388F0000 je      77D3B08D
77D32155   .  395D 10       cmp     [ebp+10], ebx
77D32158      0F84 2F8F0000 je      77D3B08D
77D3215E   .  895D FC       mov     [ebp-4], ebx
77D32161   .  881F          mov     [edi], bl
77D32163   .  8B4D 08       mov     ecx, [ebp+8]
77D32166   .  E8 6563FEFF   call    77D184D0
77D3216B   .  8BF0          mov     esi, eax
77D3216D   .  8975 E4       mov     [ebp-1C], esi
77D32170   .  3BF3          cmp     esi, ebx
77D32172   .  0F84 BCF20000 je      77D41434
77D32178   .  56            push    esi                              ; /Arg1
77D32179   .  E8 B992FEFF   call    77D1B437                         ; \USER32.77D1B437
77D3217E   .  6A 01         push    1
77D32180   .  57            push    edi
77D32181   .  FF75 10       push    dword ptr [ebp+10]
77D32184   .  6A 0D         push    0D
77D32186   .  56            push    esi
77D32187   .  85C0          test    eax, eax
77D32189   .  0F85 F48E0000 jnz     77D3B083
77D3218F   .  E8 6EA1FEFF   call    77D1C302
77D32194   >  834D FC FF    or      dword ptr [ebp-4], FFFFFFFF
77D32198   >  E8 6364FEFF   call    77D18600
77D3219D   .  C2 0C00       retn    0C

阿里云助力开发者!2核2G 3M带宽不限流量!6.18限时价,开 发者可享99元/年,续费同价!

收藏
点赞0
打赏
分享
最新回复 (9)
雪    币: 2367
活跃值: (756)
能力值: (RANK:410 )
在线值:
发帖
回帖
粉丝
小虾 10 2006-9-15 09:47
2
0
GetWindowsTextA是在系统Dll里,最好不要去修改他,而且系统里的call也不可能是关键call,一般是没有人会将关键点做到系统dll里面去的,因为修改系统dll会有可能导致系统的不稳定,要修改就必须用Atl+F9返回程序领空去修改代码。
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
hczyl 2006-9-15 09:59
3
0
ALT+F9后,OD返回到004058B2,其上下大致内容如下,一般应该往上找关键点还是往下找关键点?
00405821   .  8985 24FFFFFF mov     [ebp-DC], eax
00405827   .  8985 34FFFFFF mov     [ebp-CC], eax
0040582D   .  C785 CCFEFFFF>mov     dword ptr [ebp-134], 00403E38
00405837   .  89B5 C4FEFFFF mov     [ebp-13C], esi
0040583D   .  FFD3          call    ebx                              ;  <&MSVBVM60.__vbaVarDup>
0040583F   .  8D95 D4FEFFFF lea     edx, [ebp-12C]
00405845   .  8D8D 54FFFFFF lea     ecx, [ebp-AC]
0040584B   .  C785 DCFEFFFF>mov     dword ptr [ebp-124], 00403E2C
00405855   .  89B5 D4FEFFFF mov     [ebp-12C], esi
0040585B   .  FFD3          call    ebx
0040585D   .  8D95 E4FEFFFF lea     edx, [ebp-11C]
00405863   .  8D8D 64FFFFFF lea     ecx, [ebp-9C]
00405869   .  C785 ECFEFFFF>mov     dword ptr [ebp-114], 00403E14
00405873   .  89B5 E4FEFFFF mov     [ebp-11C], esi
00405879   .  FFD3          call    ebx
0040587B   .  8D85 04FFFFFF lea     eax, [ebp-FC]
00405881   .  8D8D 14FFFFFF lea     ecx, [ebp-EC]
00405887   .  50            push    eax
00405888   .  8D95 24FFFFFF lea     edx, [ebp-DC]
0040588E   .  51            push    ecx
0040588F   .  8D85 34FFFFFF lea     eax, [ebp-CC]
00405895   .  52            push    edx
00405896   .  8D8D 44FFFFFF lea     ecx, [ebp-BC]
0040589C   .  50            push    eax
0040589D   .  8D95 54FFFFFF lea     edx, [ebp-AC]
004058A3   .  51            push    ecx
004058A4   .  8D85 64FFFFFF lea     eax, [ebp-9C]
004058AA   .  52            push    edx
004058AB   .  50            push    eax
004058AC   .  FF15 3C104000 call    [<&MSVBVM60.#596>]               ;  MSVBVM60.rtcInputBox
004058B2   .  8985 FCFEFFFF mov     [ebp-104], eax
004058B8   .  89B5 F4FEFFFF mov     [ebp-10C], esi
004058BE   .  8B35 08104000 mov     esi, [<&MSVBVM60.__vbaVarMove>]  ;  MSVBVM60.__vbaVarMove
004058C4   .  8D95 F4FEFFFF lea     edx, [ebp-10C]
004058CA   .  8D4D 8C       lea     ecx, [ebp-74]
004058CD   .  FFD6          call    esi                              ;  <&MSVBVM60.__vbaVarMove>
004058CF   .  8D8D 04FFFFFF lea     ecx, [ebp-FC]
004058D5   .  8D95 14FFFFFF lea     edx, [ebp-EC]
004058DB   .  51            push    ecx
004058DC   .  8D85 24FFFFFF lea     eax, [ebp-DC]
004058E2   .  52            push    edx
004058E3   .  8D8D 34FFFFFF lea     ecx, [ebp-CC]
004058E9   .  50            push    eax
004058EA   .  8D95 44FFFFFF lea     edx, [ebp-BC]
004058F0   .  51            push    ecx
004058F1   .  8D85 54FFFFFF lea     eax, [ebp-AC]
004058F7   .  52            push    edx
004058F8   .  8D8D 64FFFFFF lea     ecx, [ebp-9C]
004058FE   .  50            push    eax
004058FF   .  51            push    ecx
00405900   .  6A 07         push    7
00405902   .  FF15 10104000 call    [<&MSVBVM60.__vbaFreeVarList>]   ;  MSVBVM60.__vbaFreeVarList
00405908   .  83C4 20       add     esp, 20
0040590B   .  8D55 8C       lea     edx, [ebp-74]
0040590E   .  8D85 64FFFFFF lea     eax, [ebp-9C]
00405914   .  52            push    edx
00405915   .  50            push    eax
00405916   .  FF15 28104000 call    [<&MSVBVM60.__vbaLenVar>]        ;  MSVBVM60.__vbaLenVar
0040591C   .  8BD0          mov     edx, eax
0040591E   .  8D4D CC       lea     ecx, [ebp-34]
00405921   .  FFD6          call    esi
00405923   .  8D4D CC       lea     ecx, [ebp-34]
00405926   .  8D95 E4FEFFFF lea     edx, [ebp-11C]
0040592C   .  51            push    ecx
0040592D   .  52            push    edx
0040592E   .  C785 ECFEFFFF>mov     dword ptr [ebp-114], 19
00405938   .  C785 E4FEFFFF>mov     dword ptr [ebp-11C], 8002
00405942   .  FF15 98104000 call    [<&MSVBVM60.__vbaVarTstNe>]      ;  MSVBVM60.__vbaVarTstNe
00405948   .  66:85C0       test    ax, ax
0040594B   .  0F84 C6000000 je      00405A17
00405951   .  B9 04000280   mov     ecx, 80020004
00405956   .  B8 0A000000   mov     eax, 0A
0040595B   .  898D 3CFFFFFF mov     [ebp-C4], ecx
00405961   .  898D 4CFFFFFF mov     [ebp-B4], ecx
00405967   .  8D95 D4FEFFFF lea     edx, [ebp-12C]
0040596D   .  8D8D 54FFFFFF lea     ecx, [ebp-AC]
00405973   .  8985 34FFFFFF mov     [ebp-CC], eax
00405979   .  8985 44FFFFFF mov     [ebp-BC], eax
雪    币: 2367
活跃值: (756)
能力值: (RANK:410 )
在线值:
发帖
回帖
粉丝
小虾 10 2006-9-15 10:06
4
0
一般是往下跟。
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
hczyl 2006-9-15 10:18
5
0
像我等新手初学破解,是很难找出注册算法并写出注册机的,所以关键CALL跟进也还是一头雾水,我等一般该关键跳,0040594B是关键跳吗?改后,再注册,已经不提示注册码不对了,而是提示:运行时错误'5' 无效的过程调用或参数.这说明0040594B不是关键跳吗?还是程序本身还有自检测?下一步该怎么办呢?
雪    币: 2367
活跃值: (756)
能力值: (RANK:410 )
在线值:
发帖
回帖
粉丝
小虾 10 2006-9-15 10:24
6
0
00405942的call应该是__vbaVarTstNext,所以下面的je应该是一个循环跳,不是关键跳。
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
hczyl 2006-9-15 10:28
7
0
老师:vbaVarTstNext是什么意思?能顺便讲一下吗?一般CALL什么函数下面的跳才是关键跳呢?
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
hczyl 2006-9-15 10:33
8
0
00405A64   .  50            push    eax
00405A65   .  51            push    ecx
00405A66   .  C785 DCFEFFFF>mov     dword ptr [ebp-124], 19
00405A70   .  FF15 30104000 call    [<&MSVBVM60.__vbaVarForInit>]    ;  MSVBVM60.__vbaVarForInit
00405A76   >  3BC7          cmp     eax, edi
00405A78   .  0F84 F0000000 je      00405B6E
00405A7E   .  8D95 64FFFFFF lea     edx, [ebp-9C]
00405A84   .  8D45 DC       lea     eax, [ebp-24]
00405A87   .  52            push    edx
00405A88   .  50            push    eax

405A70的vbaVarForInit,是关键CALL吗?00405A78是关键跳吗?
雪    币: 2367
活跃值: (756)
能力值: (RANK:410 )
在线值:
发帖
回帖
粉丝
小虾 10 2006-9-15 10:36
9
0
Next的意思是下一次的意思,关于VB的程序Crack,你可以看看下面的资料:
http://www.pediy.com/tutorial/chap7/Chap7-2.htm
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
hczyl 2006-9-17 23:34
10
0
非常感谢您的指点
游客
登录 | 注册 方可回帖
返回