能力值:
(RANK:410 )
|
-
-
2 楼
GetWindowsTextA是在系统Dll里,最好不要去修改他,而且系统里的call也不可能是关键call,一般是没有人会将关键点做到系统dll里面去的,因为修改系统dll会有可能导致系统的不稳定,要修改就必须用Atl+F9返回程序领空去修改代码。
|
能力值:
( LV2,RANK:10 )
|
-
-
3 楼
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
|
能力值:
(RANK:410 )
|
-
-
4 楼
一般是往下跟。
|
能力值:
( LV2,RANK:10 )
|
-
-
5 楼
像我等新手初学破解,是很难找出注册算法并写出注册机的,所以关键CALL跟进也还是一头雾水,我等一般该关键跳,0040594B是关键跳吗?改后,再注册,已经不提示注册码不对了,而是提示:运行时错误'5' 无效的过程调用或参数.这说明0040594B不是关键跳吗?还是程序本身还有自检测?下一步该怎么办呢?
|
能力值:
(RANK:410 )
|
-
-
6 楼
00405942的call应该是__vbaVarTstNext,所以下面的je应该是一个循环跳,不是关键跳。
|
能力值:
( LV2,RANK:10 )
|
-
-
7 楼
老师:vbaVarTstNext是什么意思?能顺便讲一下吗?一般CALL什么函数下面的跳才是关键跳呢?
|
能力值:
( LV2,RANK:10 )
|
-
-
8 楼
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是关键跳吗?
|
能力值:
( LV2,RANK:10 )
|
-
-
10 楼
非常感谢您的指点
|