首页
社区
课程
招聘
[旧帖] dll 输出函数参数 0.00雪花
发表于: 2009-12-18 04:35 5531

[旧帖] dll 输出函数参数 0.00雪花

2009-12-18 04:35
5531
dll 里面有个 G wSetText的输出函数,我花了两天时间也没搞懂他的输出函数~

我猜是这样,可试了N次都不正确,请大家帮抽空帮我看看:)
int G wSetText(int,int ,string ,char*, int,int,char*)

10002D60 >/$  55            push    ebp                             
10002D61  |.  8BEC          mov     ebp, esp                        
10002D63  |.  83E4 F8       and     esp, FFFFFFF8
10002D66  |.  81EC 6C020000 sub     esp, 26C                       
10002D6C  |.  A1 B0420310   mov     eax, dword ptr [100342B0]      
10002D71  |.  33C4          xor     eax, esp                        
10002D73  |.  898424 680200>mov     dword ptr [esp+268], eax         
10002D7A  |.  53            push    ebx                             
10002D7B  |.  8B5D 08       mov     ebx, dword ptr [ebp+8]         
10002D7E  |.  837B 04 01    cmp     dword ptr [ebx+4], 1            
10002D82  |.  56            push    esi                           
10002D83  |.  57            push    edi                             
10002D84  |.  74 19         je      short 10002D9F                  
10002D86  |>  33C0          xor     eax, eax
10002D88  |.  5F            pop     edi
10002D89  |.  5E            pop     esi
10002D8A  |.  5B            pop     ebx
10002D8B  |.  8B8C24 680200>mov     ecx, dword ptr [esp+268]
10002D92  |.  33CC          xor     ecx, esp
10002D94  |.  E8 E4D30000   call    1001017D
10002D99  |.  8BE5          mov     esp, ebp
10002D9B  |.  5D            pop     ebp
10002D9C  |.  C2 0400       retn    4
10002D9F  |>  B9 3B000000   mov     ecx, 3B                        
10002DA4  |.  8BF3          mov     esi, ebx
10002DA6  |.  BF 08500510   mov     edi, 10055008                    
10002DAB  |.  F3:A5         rep     movs dword ptr es:[edi], dword p>
10002DAD  |.  33FF          xor     edi, edi                        
10002DAF  |.  39BB A0000000 cmp     dword ptr [ebx+A0], edi         
10002DB5  |.  0F84 EB010000 je      10002FA6                        
10002DBB  |.  D983 AC000000 fld     dword ptr [ebx+AC]
10002DC1  |.  DC1D 68080310 fcomp   qword ptr [10030868]
10002DC7  |.  DFE0          fstsw   ax
10002DC9  |.  F6C4 41       test    ah, 41
10002DCC  |.  75 1B         jnz     short 10002DE9
10002DCE  |.  D905 94080310 fld     dword ptr [10030894]
10002DD4  |.  D89B AC000000 fcomp   dword ptr [ebx+AC]
10002DDA  |.  DFE0          fstsw   ax
10002DDC  |.  F6C4 41       test    ah, 41
10002DDF  |.  75 08         jnz     short 10002DE9
10002DE1  |.  D983 AC000000 fld     dword ptr [ebx+AC]
10002DE7  |.  EB 18         jmp     short 10002E01
10002DE9  |>  D905 90080310 fld     dword ptr [10030890]
10002DEF  |.  51            push    ecx
10002DF0  |.  8B8B 9C000000 mov     ecx, dword ptr [ebx+9C]
10002DF6  |.  D91C24        fstp    dword ptr [esp]
10002DF9  |.  E8 12160000   call    10004410
10002DFE  |.  83C4 04       add     esp, 4
10002E01  |>  833D A0500510>cmp     dword ptr [100550A0], 2
10002E08  |.  D91D D45E0510 fstp    dword ptr [10055ED4]
10002E0E  |.  D905 D45E0510 fld     dword ptr [10055ED4]
10002E14  |.  D91D D85E0510 fstp    dword ptr [10055ED8]
10002E1A  |.  0F8C 0A010000 jl      10002F2A
10002E20  |.  393D BC1F0510 cmp     dword ptr [10051FBC], edi
10002E26  |.  0F85 FE000000 jnz     10002F2A
10002E2C  |.  68 D0180510   push    100518D0                         ;  UNICODE "C:\DOCUME~1\qf\LOCALS~1\Temp"
10002E31  |.  8D4424 6C     lea     eax, dword ptr [esp+6C]
10002E35  |.  68 18EF0210   push    1002EF18                         ;  UNICODE "%s\gwken.dll"
10002E3A  |.  50            push    eax
10002E3B  |.  C705 BC1F0510>mov     dword ptr [10051FBC], 1
10002E45  |.  E8 8ED50000   call    100103D8
10002E4A  |.  83C4 0C       add     esp, 0C
10002E4D  |.  8D4C24 68     lea     ecx, dword ptr [esp+68]
10002E51  |.  51            push    ecx                              ; /Path
10002E52  |.  FF15 E4B10210 call    dword ptr [<&SHLWAPI.PathFileExi>; \PathFileExistsW
10002E58  |.  85C0          test    eax, eax
10002E5A  |.  75 21         jnz     short 10002E7D
10002E5C  |.  8B15 245F0510 mov     edx, dword ptr [10055F24]
10002E62  |.  83C2 0C       add     edx, 0C
10002E65  |.  52            push    edx
10002E66  |.  68 D0180510   push    100518D0                         ;  UNICODE "C:\DOCUME~1\Chark\LOCALS~1\Temp"
10002E6B  |.  8D4424 70     lea     eax, dword ptr [esp+70]
10002E6F  |.  68 34EF0210   push    1002EF34                         ;  UNICODE "%s\%d"
10002E74  |.  50            push    eax
10002E75  |.  E8 5ED50000   call    100103D8
10002E7A  |.  83C4 10       add     esp, 10
10002E7D  |>  8D4C24 68     lea     ecx, dword ptr [esp+68]
10002E81  |.  51            push    ecx
10002E82  |.  8D5C24 14     lea     ebx, dword ptr [esp+14]
10002E86  |.  E8 05EEFFFF   call    10001C90
10002E8B  |.  83C4 04       add     esp, 4
10002E8E  |.  A3 B81F0510   mov     dword ptr [10051FB8], eax
10002E93  |.  3BC7          cmp     eax, edi
10002E95  |.  74 0A         je      short 10002EA1
10002E97  |.  C705 C41F0510>mov     dword ptr [10051FC4], 1
10002EA1  |>  E8 CAECFFFF   call    10001B70
10002EA6  |.  A3 E05E0510   mov     dword ptr [10055EE0], eax
10002EAB  |.  3BC7          cmp     eax, edi
10002EAD  |.  75 33         jnz     short 10002EE2
10002EAF  |.  8B15 C41F0510 mov     edx, dword ptr [10051FC4]
10002EB5  |.  52            push    edx
10002EB6  |.  FF15 34B00210 call    dword ptr [<&KERNEL32.GetLastErr>; [GetLastError
10002EBC  |.  50            push    eax
10002EBD  |.  68 50EF0210   push    1002EF50                         ;  UNICODE "Error Code:  CF=%d CU=%d ",LF,LF,"Speed Engine loading failed! Make sure you are the Administrator."
10002EC2  |.  E8 19E4FFFF   call    100012E0
10002EC7  |.  83C4 0C       add     esp, 0C
10002ECA  |.  68 0CF00210   push    1002F00C
10002ECF  |.  E8 0CE4FFFF   call    100012E0
10002ED4  |.  A1 E05E0510   mov     eax, dword ptr [10055EE0]
10002ED9  |.  83C4 04       add     esp, 4
10002EDC  |.  893D C41F0510 mov     dword ptr [10051FC4], edi
10002EE2  |>  8B0D A0500510 mov     ecx, dword ptr [100550A0]
10002EE8  |.  8B15 BC500510 mov     edx, dword ptr [100550BC]
10002EEE  |.  890D 98180510 mov     dword ptr [10051898], ecx
10002EF4  |.  8B0D B8500510 mov     ecx, dword ptr [100550B8]
10002EFA  |.  890D AC180510 mov     dword ptr [100518AC], ecx
10002F00  |.  8915 A4180510 mov     dword ptr [100518A4], edx
10002F06  |.  B9 07000000   mov     ecx, 7
10002F0B  |.  BE 08500510   mov     esi, 10055008
10002F10  |.  BF B0180510   mov     edi, 100518B0
10002F15  |.  F3:A5         rep     movs dword ptr es:[edi], dword p>
10002F17  |.  A4            movs    byte ptr es:[edi], byte ptr [esi>
10002F18  |.  85C0          test    eax, eax
10002F1A  |.  74 0E         je      short 10002F2A
10002F1C  |.  50            push    eax
10002F1D  |.  BE 94180510   mov     esi, 10051894
10002F22  |.  E8 F9ECFFFF   call    10001C20
10002F27  |.  83C4 04       add     esp, 4
10002F2A  |>  E8 C1FCFFFF   call    10002BF0
10002F2F  |.  85C0          test    eax, eax
10002F31  |.^ 0F84 4FFEFFFF je      10002D86
10002F37  |.  833D A0500510>cmp     dword ptr [100550A0], 3
10002F3E  |.  0F85 BC010000 jnz     10003100
10002F44  |.  A1 C01F0510   mov     eax, dword ptr [10051FC0]
10002F49  |.  85C0          test    eax, eax
10002F4B  |.  75 13         jnz     short 10002F60
10002F4D  |.  FF15 F4B10210 call    dword ptr [<&USER32.GetDoubleCli>; [GetDoubleClickTime
10002F53  |.  A3 C01F0510   mov     dword ptr [10051FC0], eax
10002F58  |.  85C0          test    eax, eax
10002F5A  |.  0F84 A0010000 je      10003100
10002F60  |>  894424 10     mov     dword ptr [esp+10], eax
10002F64  |.  DB4424 10     fild    dword ptr [esp+10]
10002F68  |.  85C0          test    eax, eax
10002F6A  |.  7D 06         jge     short 10002F72
10002F6C  |.  D805 78080310 fadd    dword ptr [10030878]
10002F72  |>  D80D D45E0510 fmul    dword ptr [10055ED4]
10002F78  |.  D97C24 0E     fstcw   word ptr [esp+E]
10002F7C  |.  0FB74424 0E   movzx   eax, word ptr [esp+E]
10002F81  |.  0D 000C0000   or      eax, 0C00
10002F86  |.  894424 10     mov     dword ptr [esp+10], eax
10002F8A  |.  D96C24 10     fldcw   word ptr [esp+10]
10002F8E  |.  DF7C24 10     fistp   qword ptr [esp+10]
10002F92  |.  8B5424 10     mov     edx, dword ptr [esp+10]
10002F96  |.  52            push    edx                              ; /Interval
10002F97  |.  D96C24 12     fldcw   word ptr [esp+12]                ; |
10002F9B  |.  FF15 10B20210 call    dword ptr [<&USER32.SetDoubleCli>; \SetDoubleClickTime
10002FA1  |.  E9 5A010000   jmp     10003100
10002FA6  |>  8B8B 8C000000 mov     ecx, dword ptr [ebx+8C]         
10002FAC  |.  3BCF          cmp     ecx, edi                        
10002FAE  |.  74 2E         je      short 10002FDE
10002FB0  |.  BA 7C560510   mov     edx, 1005567C                  
10002FB5  |>  0FB701        /movzx   eax, word ptr [ecx]
10002FB8  |.  66:8902       |mov     word ptr [edx], ax
10002FBB  |.  83C1 02       |add     ecx, 2
10002FBE  |.  83C2 02       |add     edx, 2
10002FC1  |.  66:3BC7       |cmp     ax, di
10002FC4  |.^ 75 EF         \jnz     short 10002FB5
10002FC6  |.  8D4424 18     lea     eax, dword ptr [esp+18]
10002FCA  |.  50            push    eax
10002FCB  |.  B9 7C560510   mov     ecx, 1005567C
10002FD0  |.  E8 CB290000   call    100059A0
10002FD5  |.  8D7424 18     lea     esi, dword ptr [esp+18]
10002FD9  |.  E8 F22A0000   call    10005AD0
10002FDE  |>  8B83 94000000 mov     eax, dword ptr [ebx+94]
10002FE4  |.  3BC7          cmp     eax, edi
10002FE6  |.  74 10         je      short 10002FF8
10002FE8  |.  6A 20         push    20
10002FEA  |.  50            push    eax
10002FEB  |.  68 E45E0510   push    10055EE4
10002FF0  |.  E8 B5D80000   call    100108AA
10002FF5  |.  83C4 0C       add     esp, 0C
10002FF8  |>  8B43 0C       mov     eax, dword ptr [ebx+C]
10002FFB  |.  3BC7          cmp     eax, edi
10002FFD  |.  74 19         je      short 10003018
10002FFF  |.  66:393D BC5A0>cmp     word ptr [10055ABC], di
10003006  |.  75 10         jnz     short 10003018
10003008  |.  6A 08         push    8
1000300A  |.  50            push    eax
1000300B  |.  68 BC5A0510   push    10055ABC
10003010  |.  E8 95D80000   call    100108AA
10003015  |.  83C4 0C       add     esp, 0C
10003018  |>  393B          cmp     dword ptr [ebx], edi
1000301A  |.  7E 06         jle     short 10003022
1000301C  |.  FF05 F4500510 inc     dword ptr [100550F4]
10003022  |>  A1 58530510   mov     eax, dword ptr [10055358]
10003027  |.  83F8 01       cmp     eax, 1
1000302A  |.  893D 5C560510 mov     dword ptr [1005565C], edi
10003030  |.  7C 2C         jl      short 1000305E
10003032  |.  B9 68530510   mov     ecx, 10055368
10003037  |.  8BD0          mov     edx, eax
10003039  |.  8DA424 000000>lea     esp, dword ptr [esp]
10003040  |>  8B01          /mov     eax, dword ptr [ecx]
10003042  |.  83F8 05       |cmp     eax, 5
10003045  |.  74 05         |je      short 1000304C
10003047  |.  83F8 06       |cmp     eax, 6
1000304A  |.  75 0A         |jnz     short 10003056
1000304C  |>  C705 5C560510>|mov     dword ptr [1005565C], 1
10003056  |>  83C1 0C       |add     ecx, 0C
10003059  |.  83EA 01       |sub     edx, 1
1000305C  |.^ 75 E2         \jnz     short 10003040
1000305E  |>  837B 18 01    cmp     dword ptr [ebx+18], 1
10003062  |.  75 0D         jnz     short 10003071
10003064  |.  B9 32000000   mov     ecx, 32
10003069  |.  890D 90500510 mov     dword ptr [10055090], ecx
1000306F  |.  EB 06         jmp     short 10003077
10003071  |>  8B0D 90500510 mov     ecx, dword ptr [10055090]
10003077  |>  8BD1          mov     edx, ecx
10003079  |.  69D2 FF000000 imul    edx, edx, 0FF
1000307F  |.  B8 1F85EB51   mov     eax, 51EB851F
10003084  |.  F7EA          imul    edx
10003086  |.  C1FA 05       sar     edx, 5
10003089  |.  8BC2          mov     eax, edx
1000308B  |.  C1E8 1F       shr     eax, 1F
1000308E  |.  03C2          add     eax, edx
10003090  |.  0FB693 840000>movzx   edx, byte ptr [ebx+84]
10003097  |.  C1E0 08       shl     eax, 8
1000309A  |.  0BC2          or      eax, edx
1000309C  |.  0FB693 850000>movzx   edx, byte ptr [ebx+85]
100030A3  |.  C1E0 08       shl     eax, 8
100030A6  |.  0BC2          or      eax, edx
100030A8  |.  0FB693 860000>movzx   edx, byte ptr [ebx+86]
100030AF  |.  C1E0 08       shl     eax, 8
100030B2  |.  0BC2          or      eax, edx
100030B4  |.  A3 70560510   mov     dword ptr [10055670], eax
100030B9  |.  C1E1 07       shl     ecx, 7
100030BC  |.  B8 1F85EB51   mov     eax, 51EB851F
100030C1  |.  F7E9          imul    ecx
100030C3  |.  8B0D 30500510 mov     ecx, dword ptr [10055030]
100030C9  |.  C1FA 05       sar     edx, 5
100030CC  |.  8BC2          mov     eax, edx
100030CE  |.  C1E8 1F       shr     eax, 1F
100030D1  |.  03C2          add     eax, edx
100030D3  |.  C1E0 18       shl     eax, 18
100030D6  |.  A3 78560510   mov     dword ptr [10055678], eax
100030DB  |.  B8 67666666   mov     eax, 66666667
100030E0  |.  F7E9          imul    ecx
100030E2  |.  C1FA 02       sar     edx, 2
100030E5  |.  8BC2          mov     eax, edx
100030E7  |.  C1E8 1F       shr     eax, 1F
100030EA  |.  03C2          add     eax, edx
100030EC  |.  83F8 FF       cmp     eax, -1
100030EF  |.  C705 74560510>mov     dword ptr [10055674], -1
100030F9  |.  7F 05         jg      short 10003100
100030FB  |.  A3 74560510   mov     dword ptr [10055674], eax
10003100  |>  8B8C24 740200>mov     ecx, dword ptr [esp+274]
10003107  |.  5F            pop     edi
10003108  |.  5E            pop     esi
10003109  |.  5B            pop     ebx
1000310A  |.  33CC          xor     ecx, esp
1000310C  |.  B8 01000000   mov     eax, 1
10003111  |.  E8 67D00000   call    1001017D
10003116  |.  8BE5          mov     esp, ebp
10003118  |.  5D            pop     ebp
10003119  \.  C2 0400       retn    4

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

上传的附件:
收藏
免费 0
支持
分享
最新回复 (4)
雪    币: 245
活跃值: (93)
能力值: ( LV6,RANK:80 )
在线值:
发帖
回帖
粉丝
2
10002D7B  |.  8B5D 08       mov     ebx, dword ptr [ebp+8]  ;传参 ebp+8 应该是指针参数        
10002D7E  |.  837B 04 01    cmp     dword ptr [ebx+4], 1            
10002D82  |.  56            push    esi                           
10002D83  |.  57            push    edi                             
10002D84  |.  74 19         je      short 10002D9F        

不就一个指针型参数吗.........
2009-12-18 06:42
0
雪    币: 50
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3

10002D60 >/$ 55 push ebp
10002D61 |. 8BEC mov ebp, esp
10002D63 |. 83E4 F8 and esp, FFFFFFF8 ;定义2个局部变量
10002D66 |. 81EC 6C020000 sub esp, 26C ;分配26C的局部空间
10002D6C |. A1 B0420310 mov eax, dword ptr [100342B0]
10002D71 |. 33C4 xor eax, esp ;不知道敢什么
10002D73 |. 898424 680200>mov dword ptr [esp+268], eax
10002D7A |. 53 push ebx
10002D7B |. 8B5D 08 mov ebx, dword ptr [ebp+8] ;EBX指向一个结构体
10002D7E |. 837B 04 01 cmp dword ptr [ebx+4], 1 ;由这里和上一句知道参数2是一 个
结构体指针
10002D82 |. 56 push esi
10002D83 |. 57 push edi
10002D84 |. 74 19 je short 10002D9F ;参数2指向的结构体的第2个成员值勤必需为1,否则
;退 出函数

下面的我晕了,这个结构体很复杂,看这些操作,竟然能写到[ebx+84],里面不是一般多的东西。

10003090 |. 0FB693 840000>movzx edx, byte ptr [ebx+84]
10003097 |. C1E0 08 shl eax, 8
1000309A |. 0BC2 or eax, edx
1000309C |. 0FB693 850000>movzx edx, byte ptr [ebx+85]
100030A3 |. C1E0 08 shl eax, 8
100030A6 |. 0BC2 or eax, edx
100030A8 |. 0FB693 860000>movzx edx, byte ptr [ebx+86]


要分析完这个估计我得短寿2年
2009-12-18 10:01
0
雪    币: 245
活跃值: (93)
能力值: ( LV6,RANK:80 )
在线值:
发帖
回帖
粉丝
4
[QUOTE=泥芭;728584]下面的我晕了,这个结构体很复杂,看这些操作,竟然能写到[ebx+84],里面不是一般多的东西。

要分析完这个估计我得短寿2年[/QUOTE]

哪有参数1啊........不就一个参吗
2009-12-18 10:19
0
雪    币: 178
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
这函数参数确实比较麻烦,就算是一个参数我想也一定是很复杂的结构体~ 反正我看他函数里调用了很多处~~ 就是还不确定有那些。。
2009-12-18 15:30
0
游客
登录 | 注册 方可回帖
返回
//