首页
社区
课程
招聘
[求助]请各位老大帮忙看看以下代码!
发表于: 2006-6-17 09:18 3615

[求助]请各位老大帮忙看看以下代码!

2006-6-17 09:18
3615
这是一段对某个变量进行处理的CALL,请问改哪里才能令变量的值不变?谢谢!
004B3E30  /$  6A FF                   push -1
004B3E32  |.  68 D60C7400             push text.00740CD6              ;  SE 句柄安装
004B3E37  |.  64:A1 00000000          mov eax,dword ptr fs:[0]
004B3E3D  |.  50                      push eax
004B3E3E  |.  64:8925 00000000        mov dword ptr fs:[0],esp
004B3E45      81EC 24020000           sub esp,224
004B3E4B  |.  8A4424 03               mov al,byte ptr ss:[esp+3]
004B3E4F  |.  53                      push ebx
004B3E50  |.  56                      push esi                            ;  ntdll.77F51778
004B3E51  |.  8BF1                    mov esi,ecx
004B3E53  |.  6A 00                   push 0
004B3E55  |.  8D4C24 20               lea ecx,dword ptr ss:[esp+20]
004B3E59  |.  884424 20               mov byte ptr ss:[esp+20],al
004B3E5D  |.  E8 FE08F5FF             call text.00404760
004B3E62  |.  8B9C24 3C020000         mov ebx,dword ptr ss:[esp+23C]      ;  text.00740061
004B3E69  |.  C78424 34020000 0000000>mov dword ptr ss:[esp+234],0
004B3E74  |.  85DB                    test ebx,ebx
004B3E76  |.  0F8C E4010000           jl text.004B4060
004B3E7C  |.  83FB 0E                 cmp ebx,0E
004B3E7F  |.  0F8D DB010000           jge text.004B4060
004B3E85  |.  8B849E 10010000         mov eax,dword ptr ds:[esi+ebx*4+110>
004B3E8C  |.  85C0                    test eax,eax
004B3E8E  |.  0F84 70010000           je text.004B4004
004B3E94  |.  8B8C24 40020000         mov ecx,dword ptr ss:[esp+240]      ;  text.00620069
004B3E9B  |.  85C9                    test ecx,ecx
004B3E9D  |.  8948 3C                 mov dword ptr ds:[eax+3C],ecx
004B3EA0  |.  0F85 74010000           jnz text.004B401A
004B3EA6  |.  8B849E 10010000         mov eax,dword ptr ds:[esi+ebx*4+110>
004B3EAD  |.  8B08                    mov ecx,dword ptr ds:[eax]
004B3EAF  |.  85C9                    test ecx,ecx
004B3EB1  |.  0F84 43010000           je text.004B3FFA
004B3EB7  |.  8B50 30                 mov edx,dword ptr ds:[eax+30]
004B3EBA  |.  85D2                    test edx,edx
004B3EBC  |.  0F84 38010000           je text.004B3FFA
004B3EC2  |.  8B81 80000000           mov eax,dword ptr ds:[ecx+80]
004B3EC8  |.  8B11                    mov edx,dword ptr ds:[ecx]          ;  ntdll.77F764A6
004B3ECA  |.  80CC 20                 or ah,20
004B3ECD  |.  50                      push eax
004B3ECE  |.  FF52 40                 call dword ptr ds:[edx+40]
004B3ED1  |.  8D4424 1C               lea eax,dword ptr ss:[esp+1C]
004B3ED5  |.  50                      push eax
004B3ED6  |.  68 B4170000             push 17B4
004B3EDB  |.  E8 404D1F00             call text.006A8C20
004B3EE0  |.  8B849E 10010000         mov eax,dword ptr ds:[esi+ebx*4+110>
004B3EE7  |.  33C9                    xor ecx,ecx
004B3EE9  |.  83C4 08                 add esp,8
004B3EEC  |.  8B50 34                 mov edx,dword ptr ds:[eax+34]
004B3EEF  |.  8A4A 34                 mov cl,byte ptr ds:[edx+34]
004B3EF2  |.  83F9 04                 cmp ecx,4
004B3EF5  |.  74 32                   je short text.004B3F29
004B3EF7  |.  83F9 03                 cmp ecx,3
004B3EFA  |.  74 2D                   je short text.004B3F29
004B3EFC  |.  83F9 06                 cmp ecx,6
004B3EFF  |.  74 28                   je short text.004B3F29
004B3F01  |.  8B40 30                 mov eax,dword ptr ds:[eax+30]
004B3F04  |.  83C0 08                 add eax,8
004B3F07  |.  8B40 04                 mov eax,dword ptr ds:[eax+4]
004B3F0A  |.  85C0                    test eax,eax
004B3F0C  |.  75 05                   jnz short text.004B3F13
004B3F0E  |.  B8 08567600             mov eax,text.00765608
004B3F13  |>  8B4C24 20               mov ecx,dword ptr ss:[esp+20]       ;  

kernel32.77E74809
004B3F17  |.  85C9                    test ecx,ecx
004B3F19  |.  75 05                   jnz short text.004B3F20
004B3F1B  |.  B9 08567600             mov ecx,text.00765608
004B3F20  |>  50                      push eax
004B3F21  |.  51                      push ecx
004B3F22  |.  8D4C24 34               lea ecx,dword ptr ss:[esp+34]
004B3F26  |.  51                      push ecx
004B3F27  |.  EB 20                   jmp short text.004B3F49
004B3F29  |>  8B52 08                 mov edx,dword ptr ds:[edx+8]
004B3F2C  |.  85D2                    test edx,edx
004B3F2E  |.  75 05                   jnz short text.004B3F35
004B3F30  |.  BA 08567600             mov edx,text.00765608
004B3F35  |>  8B4424 20               mov eax,dword ptr ss:[esp+20]       ;  

kernel32.77E74809
004B3F39  |.  85C0                    test eax,eax
004B3F3B  |.  75 05                   jnz short text.004B3F42
004B3F3D  |.  B8 08567600             mov eax,text.00765608
004B3F42  |>  52                      push edx
004B3F43  |.  8D5424 30               lea edx,dword ptr ss:[esp+30]
004B3F47  |.  50                      push eax                            ; |Format = NULL
004B3F48  |.  52                      push edx                            ; |s = 7FFE0304
004B3F49  |>  FF15 40537600           call dword ptr ds:[<&user32.wsprint>; \wsprintfA
004B3F4F  |.  8A4424 17               mov al,byte ptr ss:[esp+17]
004B3F53  |.  83C4 0C                 add esp,0C
004B3F56  |.  884424 0C               mov byte ptr ss:[esp+C],al
004B3F5A  |.  33C0                    xor eax,eax
004B3F5C  |.  55                      push ebp
004B3F5D  |.  57                      push edi                            ;  ntdll.77F517E6
004B3F5E  |.  8D7C24 34               lea edi,dword ptr ss:[esp+34]
004B3F62  |.  83C9 FF                 or ecx,FFFFFFFF
004B3F65  |.  F2:AE                   repne scas byte ptr es:[edi]
004B3F67  |.  F7D1                    not ecx
004B3F69  |.  49                      dec ecx
004B3F6A  |.  6A 01                   push 1
004B3F6C  |.  8BE9                    mov ebp,ecx
004B3F6E  |.  8D4C24 18               lea ecx,dword ptr ss:[esp+18]
004B3F72  |.  55                      push ebp
004B3F73  |.  894424 20               mov dword ptr ss:[esp+20],eax
004B3F77  |.  894424 24               mov dword ptr ss:[esp+24],eax
004B3F7B  |.  894424 28               mov dword ptr ss:[esp+28],eax
004B3F7F  |.  E8 CCD4F4FF             call text.00401450
004B3F84  |.  84C0                    test al,al
004B3F86  |.  74 24                   je short text.004B3FAC
004B3F88  |.  8B7C24 18               mov edi,dword ptr ss:[esp+18]
004B3F8C  |.  8BCD                    mov ecx,ebp
004B3F8E  |.  8BD1                    mov edx,ecx
004B3F90  |.  8D7424 34               lea esi,dword ptr ss:[esp+34]
004B3F94  |.  C1E9 02                 shr ecx,2
004B3F97  |.  F3:A5                   rep movs dword ptr es:[edi],dword p>
004B3F99  |.  8BCA                    mov ecx,edx
004B3F9B  |.  83E1 03                 and ecx,3
004B3F9E  |.  F3:A4                   rep movs byte ptr es:[edi],byte ptr>
004B3FA0  |.  8B4424 18               mov eax,dword ptr ss:[esp+18]
004B3FA4  |.  896C24 1C               mov dword ptr ss:[esp+1C],ebp
004B3FA8  |.  C60428 00               mov byte ptr ds:[eax+ebp],0
004B3FAC  |>  8D4C24 14               lea ecx,dword ptr ss:[esp+14]
004B3FB0  |.  68 3B3BFFFF             push FFFF3B3B
004B3FB5  |.  51                      push ecx
004B3FB6  |.  8B0D 28CC9300           mov ecx,dword ptr ds:[93CC28]
004B3FBC  |.  C68424 44020000 01      mov byte ptr ss:[esp+244],1
004B3FC4  |.  E8 97F91A00             call text.00663960
004B3FC9  |.  8B4424 18               mov eax,dword ptr ss:[esp+18]
004B3FCD  |.  5F                      pop edi                             ;  

kernel32.77E614C7
004B3FCE  |.  85C0                    test eax,eax
004B3FD0  |.  C68424 38020000 00      mov byte ptr ss:[esp+238],0
004B3FD8  |.  5D                      pop ebp                             ;  

kernel32.77E614C7
004B3FD9  |.  74 3F                   je short text.004B401A
004B3FDB  |.  8D48 FF                 lea ecx,dword ptr ds:[eax-1]
004B3FDE  |.  8A40 FF                 mov al,byte ptr ds:[eax-1]
004B3FE1  |.  84C0                    test al,al
004B3FE3  |.  74 0A                   je short text.004B3FEF
004B3FE5  |.  3C FF                   cmp al,0FF
004B3FE7  |.  74 06                   je short text.004B3FEF
004B3FE9  |.  FEC8                    dec al
004B3FEB  |.  8801                    mov byte ptr ds:[ecx],al
004B3FED  |.  EB 2B                   jmp short text.004B401A
004B3FEF  |>  51                      push ecx
004B3FF0  |.  E8 B12E2700             call text.00726EA6
004B3FF5  |.  83C4 04                 add esp,4
004B3FF8  |.  EB 20                   jmp short text.004B401A
004B3FFA  |>  6A 00                   push 0
004B3FFC  |.  53                      push ebx
004B3FFD  |.  68 08527A00             push text.007A5208              ;  ASCII "Durability

Change Item NULL icon or NULL item. Slot(%d) Durability(%d)"
004B4002  |.  EB 0E                   jmp short text.004B4012
004B4004  |>  8B9424 40020000         mov edx,dword ptr ss:[esp+240]      ;  text.00620069
004B400B  |.  52                      push edx
004B400C  |.  53                      push ebx
004B400D  |.  68 C8517A00             push text.007A51C8              ;  ASCII "Durability

Change Item ... NULL Slot. Slot(%d) Durability(%d)"
004B4012  |>  E8 7911FAFF             call text.00455190
004B4017  |.  83C4 0C                 add esp,0C
004B401A  |>  A1 28CC9300             mov eax,dword ptr ds:[93CC28]
004B401F  |.  8B88 70010000           mov ecx,dword ptr ds:[eax+170]
004B4025  |.  85C9                    test ecx,ecx
004B4027  |.  74 06                   je short text.004B402F
004B4029  |.  53                      push ebx
004B402A  |.  E8 11CA0C00             call text.00580A40
004B402F  |>  8B4C24 20               mov ecx,dword ptr ss:[esp+20]       ;  

kernel32.77E74809
004B4033  |.  C78424 34020000 FFFFFFF>mov dword ptr ss:[esp+234],-1
004B403E  |.  85C9                    test ecx,ecx
004B4040  |.  74 4A                   je short text.004B408C
004B4042  |.  8A41 FF                 mov al,byte ptr ds:[ecx-1]
004B4045  |.  84C0                    test al,al
004B4047  |.  74 0B                   je short text.004B4054
004B4049  |.  3C FF                   cmp al,0FF
004B404B  |.  74 07                   je short text.004B4054
004B404D  |.  FEC8                    dec al
004B404F  |.  8841 FF                 mov byte ptr ds:[ecx-1],al
004B4052  |.  EB 38                   jmp short text.004B408C
004B4054  |>  49                      dec ecx
004B4055  |.  51                      push ecx
004B4056  |.  E8 4B2E2700             call text.00726EA6
004B405B  |.  83C4 04                 add esp,4
004B405E  |.  EB 2C                   jmp short text.004B408C
004B4060  |>  8B8C24 40020000         mov ecx,dword ptr ss:[esp+240]      ;  text.00620069
004B4067  |.  51                      push ecx
004B4068  |.  53                      push ebx
004B4069  |.  68 8C517A00             push text.007A518C              ;  ASCII "Durability

Change Item Index Weird. Slot(%d) Durability(%d)"
004B406E  |.  E8 1D11FAFF             call text.00455190
004B4073  |.  83C4 0C                 add esp,0C
004B4076  |.  8D4C24 1C               lea ecx,dword ptr ss:[esp+1C]
004B407A  |.  C78424 34020000 FFFFFFF>mov dword ptr ss:[esp+234],-1
004B4085  |.  6A 01                   push 1
004B4087  |.  E8 D406F5FF             call text.00404760
004B408C  |>  8B8C24 2C020000         mov ecx,dword ptr ss:[esp+22C]      ;  text.00740073
004B4093  |.  5E                      pop esi                             ;  

kernel32.77E614C7
004B4094  |.  5B                      pop ebx                             ;  

kernel32.77E614C7
004B4095  |.  64:890D 00000000        mov dword ptr fs:[0],ecx
004B409C  |.  81C4 30020000           add esp,230
004B40A2  \.  C2 0800                 retn 8

[课程]FART 脱壳王!加量不加价!FART作者讲授!

收藏
免费 0
支持
分享
最新回复 (6)
雪    币: 22
活跃值: (425)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
2
请问你要处理哪个变量?
2006-6-17 22:51
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
代码中的CALL太多了,没看懂.不过有个问题第一个 push -1我很不理解
一般程序回把返回地址放到第一个push里难道说你的程序返回地址是ffffffff
2006-6-18 00:34
0
雪    币: 190
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
006501B7   .  56                      push esi                            ;  ntdll.77F51778
006501B8   .  53                      push ebx
006501B9   .  FF52 40                 call dword ptr ds:[edx+40]
006501BC   .  8B6D 3C                 mov ebp,dword ptr ss:[ebp+3C]
006501BF   .  85ED                    test ebp,ebp
006501C1   .^ 0F84 F6F3FFFF           je text.0064F5BD
006501C7   .  56                      push esi                            ; /Arg2 = 77F51778
006501C8   .  53                      push ebx                            ; |Arg1 = 7FFDF000
006501C9      8BCD                    mov ecx,ebp
006501CB      E8 603CE6FF             call text.004B3E30
006501D0   .^ E9 E8F3FFFF             jmp text.0064F5BD
2006-6-18 08:19
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
和你一样也是菜鸟,互相帮助
一开始的PUSH -1没问题,是SE结构的附加数据
以下是个人看法,因为不知道的CALL太多有错误请原谅
004B3E30 /$ 6A FF push -1
004B3E32 |. 68 D60C7400 push text.00740CD6 ; SE 句柄安装
004B3E37 |. 64:A1 00000000 mov eax,dword ptr fs:[0]
004B3E3D |. 50 push eax
004B3E3E |. 64:8925 00000000 mov dword ptr fs:[0],esp
004B3E45 81EC 24020000 sub esp,224
004B3E4B |. 8A4424 03 mov al,byte ptr ss:[esp+3];ESP+3 感觉挺有趣,你看看程序在前面是不是用EBP对堆笺做了初始话
004B3E4F |. 53 push ebx
004B3E50 |. 56 push esi ; ntdll.77F51778
004B3E51 |. 8BF1 mov esi,ecx ;ecx的数据应该标出来,很关键
004B3E53 |. 6A 00 push 0
004B3E55 |. 8D4C24 20 lea ecx,dword ptr ss:[esp+20]
004B3E59 |. 884424 20 mov byte ptr ss:[esp+20],al
004B3E5D |. E8 FE08F5FF call text.00404760;有可能填充了[ESP+23C]
004B3E62 |. 8B9C24 3C020000 mov ebx,dword ptr ss:[esp+23C] ;EBX的数据很关键应该看看
004B3E69 |. C78424 34020000 0000000>mov dword ptr ss:[esp+234],0
004B3E74 |. 85DB test ebx,ebx ;测试EBX是否为0
004B3E76 |. 0F8C E4010000 jl text.004B4060 小于退出
004B3E7C |. 83FB 0E cmp ebx,0E ;EBX和0E比较
004B3E7F |. 0F8D DB010000 jge text.004B4060 ;不小于退出
004B3E85 |. 8B849E 10010000 mov eax,dword ptr ds:[esi+ebx*4+110];等同于[EBP+[ESP+23C]*4+110]定义为A
004B3E8C |. 85C0 test eax,eax;测试EAX是否为0
004B3E8E |. 0F84 70010000 je text.004B4004;等于跳走
004B3E94 |. 8B8C24 40020000 mov ecx,dword ptr ss:[esp+240] ; text.00620069
004B3E9B |. 85C9 test ecx,ecx;设置ZF状态
004B3E9D |. 8948 3C mov dword ptr ds:[eax+3C],ecx;等同于把[ESP+240]的数据给[A+3C](注意数据和地址的变化)
004B3EA0 |. 0F85 74010000 jnz text.004B401A;ZF=0跳走
004B3EA6 |. 8B849E 10010000 mov eax,dword ptr ds:[esi+ebx*4+110]
004B3EAD |. 8B08 mov ecx,dword ptr ds:[eax];[A]给ECX
004B3EAF |. 85C9 test ecx,ecx;测试地址A指向的数据
004B3EB1 |. 0F84 43010000 je text.004B3FFA;等于0跳走
004B3EB7 |. 8B50 30 mov edx,dword ptr ds:[eax+30];[A+30]给EDX
004B3EBA |. 85D2 test edx,edx
004B3EBC |. 0F84 38010000 je text.004B3FFA;等于0走
004B3EC2 |. 8B81 80000000 mov eax,dword ptr ds:[ecx+80];等于[[A]+80]给EAX
004B3EC8 |. 8B11 mov edx,dword ptr ds:[ecx] ;等于[[A]](程序中多次用到指针的指针)给EDX
004B3ECA |. 80CC 20 or ah,20
004B3ECD |. 50 push eax
004B3ECE |. FF52 40 call dword ptr ds:[edx+40];CALL [[[A]]+40]有可能填充了[ESP+1C]
004B3ED1 |. 8D4424 1C lea eax,dword ptr ss:[esp+1C]
004B3ED5 |. 50 push eax
004B3ED6 |. 68 B4170000 push 17B4
004B3EDB |. E8 404D1F00 call text.006A8C20;有加密或解密的嫌疑
004B3EE0 |. 8B849E 10010000 mov eax,dword ptr ds:[esi+ebx*4+110];A给EAX
004B3EE7 |. 33C9 xor ecx,ecx
004B3EE9 |. 83C4 08 add esp,8
004B3EEC |. 8B50 34 mov edx,dword ptr ds:[eax+34];[A+34]给EDX
004B3EEF |. 8A4A 34 mov cl,byte ptr ds:[edx+34];[[[A]]+34]数据给CL
004B3EF2 |. 83F9 04 cmp ecx,4
004B3EF5 |. 74 32 je short text.004B3F29
004B3EF7 |. 83F9 03 cmp ecx,3
004B3EFA |. 74 2D je short text.004B3F29
004B3EFC |. 83F9 06 cmp ecx,6
004B3EFF |. 74 28 je short text.004B3F29
004B3F01 |. 8B40 30 mov eax,dword ptr ds:[eax+30]
004B3F04 |. 83C0 08 add eax,8
004B3F07 |. 8B40 04 mov eax,dword ptr ds:[eax+4]
004B3F0A |. 85C0 test eax,eax
004B3F0C |. 75 05 jnz short text.004B3F13
004B3F0E |. B8 08567600 mov eax,text.00765608
004B3F13 |> 8B4C24 20 mov ecx,dword ptr ss:[esp+20] ;

kernel32.77E74809
004B3F17 |. 85C9 test ecx,ecx
004B3F19 |. 75 05 jnz short text.004B3F20
004B3F1B |. B9 08567600 mov ecx,text.00765608
004B3F20 |> 50 push eax
004B3F21 |. 51 push ecx
004B3F22 |. 8D4C24 34 lea ecx,dword ptr ss:[esp+34]
004B3F26 |. 51 push ecx
004B3F27 |. EB 20 jmp short text.004B3F49
004B3F29 |> 8B52 08 mov edx,dword ptr ds:[edx+8]
004B3F2C |. 85D2 test edx,edx
004B3F2E |. 75 05 jnz short text.004B3F35
004B3F30 |. BA 08567600 mov edx,text.00765608
004B3F35 |> 8B4424 20 mov eax,dword ptr ss:[esp+20] ;

kernel32.77E74809
004B3F39 |. 85C0 test eax,eax
004B3F3B |. 75 05 jnz short text.004B3F42
004B3F3D |. B8 08567600 mov eax,text.00765608
004B3F42 |> 52 push edx
004B3F43 |. 8D5424 30 lea edx,dword ptr ss:[esp+30]
004B3F47 |. 50 push eax ; |Format = NULL
004B3F48 |. 52 push edx ; |s = 7FFE0304
004B3F49 |> FF15 40537600 call dword ptr ds:[<&user32.wsprint>; \wsprintfA
004B3F4F |. 8A4424 17 mov al,byte ptr ss:[esp+17]
004B3F53 |. 83C4 0C add esp,0C
004B3F56 |. 884424 0C mov byte ptr ss:[esp+C],al
004B3F5A |. 33C0 xor eax,eax
004B3F5C |. 55 push ebp
004B3F5D |. 57 push edi ; ntdll.77F517E6
004B3F5E |. 8D7C24 34 lea edi,dword ptr ss:[esp+34]
004B3F62 |. 83C9 FF or ecx,FFFFFFFF
004B3F65 |. F2:AE repne scas byte ptr es:[edi]
004B3F67 |. F7D1 not ecx
004B3F69 |. 49 dec ecx
004B3F6A |. 6A 01 push 1
004B3F6C |. 8BE9 mov ebp,ecx
004B3F6E |. 8D4C24 18 lea ecx,dword ptr ss:[esp+18]
004B3F72 |. 55 push ebp
004B3F73 |. 894424 20 mov dword ptr ss:[esp+20],eax
004B3F77 |. 894424 24 mov dword ptr ss:[esp+24],eax
004B3F7B |. 894424 28 mov dword ptr ss:[esp+28],eax
004B3F7F |. E8 CCD4F4FF call text.00401450
004B3F84 |. 84C0 test al,al
004B3F86 |. 74 24 je short text.004B3FAC
004B3F88 |. 8B7C24 18 mov edi,dword ptr ss:[esp+18]
004B3F8C |. 8BCD mov ecx,ebp
004B3F8E |. 8BD1 mov edx,ecx
004B3F90 |. 8D7424 34 lea esi,dword ptr ss:[esp+34]
004B3F94 |. C1E9 02 shr ecx,2
004B3F97 |. F3:A5 rep movs dword ptr es:[edi],dword p>
004B3F99 |. 8BCA mov ecx,edx
004B3F9B |. 83E1 03 and ecx,3
004B3F9E |. F3:A4 rep movs byte ptr es:[edi],byte ptr>
004B3FA0 |. 8B4424 18 mov eax,dword ptr ss:[esp+18]
004B3FA4 |. 896C24 1C mov dword ptr ss:[esp+1C],ebp
004B3FA8 |. C60428 00 mov byte ptr ds:[eax+ebp],0
004B3FAC |> 8D4C24 14 lea ecx,dword ptr ss:[esp+14]
004B3FB0 |. 68 3B3BFFFF push FFFF3B3B
004B3FB5 |. 51 push ecx
004B3FB6 |. 8B0D 28CC9300 mov ecx,dword ptr ds:[93CC28]
004B3FBC |. C68424 44020000 01 mov byte ptr ss:[esp+244],1
004B3FC4 |. E8 97F91A00 call text.00663960
004B3FC9 |. 8B4424 18 mov eax,dword ptr ss:[esp+18]
004B3FCD |. 5F pop edi ;

kernel32.77E614C7
004B3FCE |. 85C0 test eax,eax
004B3FD0 |. C68424 38020000 00 mov byte ptr ss:[esp+238],0
004B3FD8 |. 5D pop ebp ;

kernel32.77E614C7
004B3FD9 |. 74 3F je short text.004B401A
004B3FDB |. 8D48 FF lea ecx,dword ptr ds:[eax-1]
004B3FDE |. 8A40 FF mov al,byte ptr ds:[eax-1]
004B3FE1 |. 84C0 test al,al
004B3FE3 |. 74 0A je short text.004B3FEF
004B3FE5 |. 3C FF cmp al,0FF
004B3FE7 |. 74 06 je short text.004B3FEF
004B3FE9 |. FEC8 dec al
004B3FEB |. 8801 mov byte ptr ds:[ecx],al
004B3FED |. EB 2B jmp short text.004B401A
004B3FEF |> 51 push ecx
004B3FF0 |. E8 B12E2700 call text.00726EA6
004B3FF5 |. 83C4 04 add esp,4
004B3FF8 |. EB 20 jmp short text.004B401A
004B3FFA |> 6A 00 push 0
004B3FFC |. 53 push ebx
004B3FFD |. 68 08527A00 push text.007A5208 ; ASCII "Durability

Change Item NULL icon or NULL item. Slot(%d) Durability(%d)"
004B4002 |. EB 0E jmp short text.004B4012
004B4004 |> 8B9424 40020000 mov edx,dword ptr ss:[esp+240] ; text.00620069
004B400B |. 52 push edx
004B400C |. 53 push ebx
004B400D |. 68 C8517A00 push text.007A51C8 ; ASCII "Durability

Change Item ... NULL Slot. Slot(%d) Durability(%d)"
004B4012 |> E8 7911FAFF call text.00455190
004B4017 |. 83C4 0C add esp,0C
004B401A |> A1 28CC9300 mov eax,dword ptr ds:[93CC28]
004B401F |. 8B88 70010000 mov ecx,dword ptr ds:[eax+170]
004B4025 |. 85C9 test ecx,ecx
004B4027 |. 74 06 je short text.004B402F
004B4029 |. 53 push ebx
004B402A |. E8 11CA0C00 call text.00580A40
004B402F |> 8B4C24 20 mov ecx,dword ptr ss:[esp+20] ;

kernel32.77E74809
004B4033 |. C78424 34020000 FFFFFFF>mov dword ptr ss:[esp+234],-1
004B403E |. 85C9 test ecx,ecx
004B4040 |. 74 4A je short text.004B408C
004B4042 |. 8A41 FF mov al,byte ptr ds:[ecx-1]
004B4045 |. 84C0 test al,al
004B4047 |. 74 0B je short text.004B4054
004B4049 |. 3C FF cmp al,0FF
004B404B |. 74 07 je short text.004B4054
004B404D |. FEC8 dec al
004B404F |. 8841 FF mov byte ptr ds:[ecx-1],al
004B4052 |. EB 38 jmp short text.004B408C
004B4054 |> 49 dec ecx
004B4055 |. 51 push ecx
004B4056 |. E8 4B2E2700 call text.00726EA6
004B405B |. 83C4 04 add esp,4
004B405E |. EB 2C jmp short text.004B408C
004B4060 |> 8B8C24 40020000 mov ecx,dword ptr ss:[esp+240] ; text.00620069
004B4067 |. 51 push ecx
004B4068 |. 53 push ebx
004B4069 |. 68 8C517A00 push text.007A518C ; ASCII "Durability

Change Item Index Weird. Slot(%d) Durability(%d)"
004B406E |. E8 1D11FAFF call text.00455190
004B4073 |. 83C4 0C add esp,0C
004B4076 |. 8D4C24 1C lea ecx,dword ptr ss:[esp+1C]
004B407A |. C78424 34020000 FFFFFFF>mov dword ptr ss:[esp+234],-1
004B4085 |. 6A 01 push 1
004B4087 |. E8 D406F5FF call text.00404760
004B408C |> 8B8C24 2C020000 mov ecx,dword ptr ss:[esp+22C] ; text.00740073
004B4093 |. 5E pop esi ;

kernel32.77E614C7
004B4094 |. 5B pop ebx ;

kernel32.77E614C7
004B4095 |. 64:890D 00000000 mov dword ptr fs:[0],ecx
004B409C |. 81C4 30020000 add esp,230
004B40A2 \. C2 0800 retn 8

只分析了程序的前面,我因为着段程序不是对某个变量进行处理.而是程序在前面就对重要的数据已经初始化完成了,着个CALL就是对这些数据进行测试然后使程序按测试后的结果进行
2006-6-18 13:27
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
如果你想破解这个软件,我认为用爆破的方法就必须跳过这个CALL因为这个CALL已经开始对关键数据进行测试了.不跳过是不行的
关键的点不在这个CALL 应该在前面不远了,算法应该也在前面
2006-6-18 13:39
0
雪    币: 190
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
哇!老大,你真牛!你的解说大有令我茅舍顿开的功效!真是太感激不尽了!! 这是某个软件中与使用时间相关的代码,每次使用这个软件一段时间,有效使用期就会减少,我很想破解,但能力有限。所以就来找老大帮忙了。呵呵!真是非常感谢!
2006-6-18 19:37
0
游客
登录 | 注册 方可回帖
返回
//