首页
社区
课程
招聘
这段代码怎么解释?
发表于: 2006-7-26 19:08 4304

这段代码怎么解释?

2006-7-26 19:08
4304
0069290B  |> /6A 00         /PUSH 0                                  ; /Arg1 = 00000000
0069290D  |. |8BC5          |MOV EAX,EBP                             ; |
0069290F  |. |C1E0 04       |SHL EAX,4                               ; |
00692912  |. |03C5          |ADD EAX,EBP                             ; |
00692914  |. |8B93 300C0000 |MOV EDX,DWORD PTR DS:[EBX+C30]          ; |
0069291A  |. |03D0          |ADD EDX,EAX                             ; |公式出现
0069291C  |. |B1 01         |MOV CL,1                                ; |
0069291E  |. |8BC7          |MOV EAX,EDI                             ; |
00692920  |. |E8 43FCFFFF   |CALL 脱壳.00692568                        ; \脱壳.00692568
00692925  |. |45            |INC EBP
00692926  |. |4E            |DEC ESI
00692927  |.^\75 E2         \JNZ SHORT 脱壳.0069290B

============
跟进 CALL 00692568
==================
00692568  /$  55            PUSH EBP
00692569  |.  8BEC          MOV EBP,ESP
0069256B  |.  51            PUSH ECX
0069256C  |.  53            PUSH EBX
0069256D  |.  56            PUSH ESI
0069256E  |.  57            PUSH EDI
0069256F  |.  884D FF       MOV BYTE PTR SS:[EBP-1],CL
00692572  |.  8BF2          MOV ESI,EDX
00692574  |.  8B7D 08       MOV EDI,DWORD PTR SS:[EBP+8]
00692577  |.  85F6          TEST ESI,ESI
00692579      0F84 09010000 JE 脱壳.00692688
0069257F  |.  85FF          TEST EDI,EDI
00692581  |.  7F 0B         JG SHORT 脱壳.0069258E
00692583  |.  8BC6          MOV EAX,ESI
00692585  |.  E8 E684D7FF   CALL 脱壳.0040AA70
0069258A  |.  8BF8          MOV EDI,EAX
0069258C  |.  EB 01         JMP SHORT 脱壳.0069258F
0069258E  |>  4F            DEC EDI
0069258F  |>  33C9          XOR ECX,ECX
00692591  |.  E9 E1000000   JMP 脱壳.00692677
00692596  |>  33DB          /XOR EBX,EBX
00692598  |.  8A45 FF       |MOV AL,BYTE PTR SS:[EBP-1]
0069259B  |.  2C 01         |SUB AL,1                                ;  Switch (cases 0..1)
0069259D  |.  72 07         |JB SHORT 脱壳.006925A6
0069259F  |.  74 4C         |JE SHORT 脱壳.006925ED
006925A1  |.  E9 D1000000   |JMP 脱壳.00692677
006925A6  |>  8BC1          |MOV EAX,ECX                             ;  Case 0 of switch 0069259B
006925A8  |.  51            |PUSH ECX
006925A9  |.  B9 03000000   |MOV ECX,3
006925AE  |.  99            |CDQ
006925AF  |.  F7F9          |IDIV ECX
006925B1  |.  59            |POP ECX
006925B2  |.  83EA 01       |SUB EDX,1                               ;  Switch (cases 0..2)
006925B5  |.  72 07         |JB SHORT 脱壳.006925BE
006925B7  |.  74 10         |JE SHORT 脱壳.006925C9
006925B9  |.  4A            |DEC EDX
006925BA  |.  74 18         |JE SHORT 脱壳.006925D4
006925BC  |.  EB 1F         |JMP SHORT 脱壳.006925DD
006925BE  |>  8BC6          |MOV EAX,ESI                             ;  Case 0 of switch 006925B2
006925C0  |.  03C1          |ADD EAX,ECX
006925C2  |.  8A18          |MOV BL,BYTE PTR DS:[EAX]
006925C4  |.  80F3 25       |XOR BL,25
006925C7  |.  EB 14         |JMP SHORT 脱壳.006925DD
006925C9  |>  8BC6          |MOV EAX,ESI                             ;  Case 1 of switch 006925B2
006925CB  |.  03C1          |ADD EAX,ECX
006925CD  |.  8A18          |MOV BL,BYTE PTR DS:[EAX]
006925CF  |.  80F3 19       |XOR BL,19
006925D2  |.  EB 09         |JMP SHORT 脱壳.006925DD
006925D4  |>  8BC6          |MOV EAX,ESI                             ;  Case 2 of switch 006925B2
006925D6  |.  03C1          |ADD EAX,ECX
006925D8  |.  8A18          |MOV BL,BYTE PTR DS:[EAX]
006925DA  |.  80F3 59       |XOR BL,59
006925DD  |>  84DB          |TEST BL,BL                              ;  Default case of switch 006925B2
006925DF  |.  74 06         |JE SHORT 脱壳.006925E7
006925E1  |.  8BC6          |MOV EAX,ESI
006925E3  |.  03C1          |ADD EAX,ECX
006925E5  |.  8818          |MOV BYTE PTR DS:[EAX],BL
006925E7  |>  41            |INC ECX
006925E8  |.  E9 8A000000   |JMP 脱壳.00692677
006925ED  |>  8BC1          |MOV EAX,ECX                             ;  Case 1 of switch 0069259B
006925EF  |.  51            |PUSH ECX
006925F0  |.  B9 07000000   |MOV ECX,7
006925F5  |.  99            |CDQ
006925F6  |.  F7F9          |IDIV ECX
006925F8  |.  59            |POP ECX
006925F9  |.  83FA 06       |CMP EDX,6                               ;  Switch (cases 0..6)
006925FC  |.  77 6E         |JA SHORT 脱壳.0069266C
006925FE  |.  FF2495 052669>|JMP DWORD PTR DS:[EDX*4+692605]
00692605  |.  21266900      |DD 脱壳.00692621                          ;  分支表 被用于 006925FE
00692609  |.  2C266900      |DD 脱壳.0069262C
0069260D  |.  37266900      |DD 脱壳.00692637
00692611  |.  42266900      |DD 脱壳.00692642
00692615  |.  4D266900      |DD 脱壳.0069264D
00692619  |.  58266900      |DD 脱壳.00692658
0069261D  |.  63266900      |DD 脱壳.00692663
00692621  |>  8BC6          |MOV EAX,ESI                             ;  Case 0 of switch 006925F9
00692623  |.  03C1          |ADD EAX,ECX
00692625  |.  8A18          |MOV BL,BYTE PTR DS:[EAX]
00692627  |.  80F3 44       |XOR BL,44
0069262A  |.  EB 40         |JMP SHORT 脱壳.0069266C
0069262C  |>  8BC6          |MOV EAX,ESI                             ;  Case 1 of switch 006925F9
0069262E  |.  03C1          |ADD EAX,ECX
00692630  |.  8A18          |MOV BL,BYTE PTR DS:[EAX]
00692632  |.  80F3 2C       |XOR BL,2C
00692635  |.  EB 35         |JMP SHORT 脱壳.0069266C
00692637  |>  8BC6          |MOV EAX,ESI                             ;  Case 2 of switch 006925F9
00692639  |.  03C1          |ADD EAX,ECX
0069263B  |.  8A18          |MOV BL,BYTE PTR DS:[EAX]
0069263D  |.  80F3 1D       |XOR BL,1D
00692640  |.  EB 2A         |JMP SHORT 脱壳.0069266C
00692642  |>  8BC6          |MOV EAX,ESI                             ;  Case 3 of switch 006925F9
00692644  |.  03C1          |ADD EAX,ECX
00692646  |.  8A18          |MOV BL,BYTE PTR DS:[EAX]
00692648  |.  80F3 3C       |XOR BL,3C
0069264B  |.  EB 1F         |JMP SHORT 脱壳.0069266C
0069264D  |>  8BC6          |MOV EAX,ESI                             ;  Case 4 of switch 006925F9
0069264F  |.  03C1          |ADD EAX,ECX
00692651  |.  8A18          |MOV BL,BYTE PTR DS:[EAX]
00692653  |.  80F3 15       |XOR BL,15
00692656  |.  EB 14         |JMP SHORT 脱壳.0069266C
00692658  |>  8BC6          |MOV EAX,ESI                             ;  Case 5 of switch 006925F9
0069265A  |.  03C1          |ADD EAX,ECX
0069265C  |.  8A18          |MOV BL,BYTE PTR DS:[EAX]
0069265E  |.  80F3 5A       |XOR BL,5A
00692661  |.  EB 09         |JMP SHORT 脱壳.0069266C
00692663  |>  8BC6          |MOV EAX,ESI                             ;  Case 6 of switch 006925F9
00692665  |.  03C1          |ADD EAX,ECX
00692667  |.  8A18          |MOV BL,BYTE PTR DS:[EAX]
00692669  |.  80F3 48       |XOR BL,48
0069266C  |>  84DB          |TEST BL,BL                              ;  Default case of switch 006925F9
0069266E  |.  74 06         |JE SHORT 脱壳.00692676
00692670  |.  8BC6          |MOV EAX,ESI
00692672  |.  03C1          |ADD EAX,ECX
00692674  |.  8818          |MOV BYTE PTR DS:[EAX],BL
00692676  |>  41            |INC ECX
00692677  |>  3BF9           CMP EDI,ECX                             ;  Default case of switch 0069259B
00692679  |.  7E 0D         |JLE SHORT 脱壳.00692688
0069267B  |.  8BC6          |MOV EAX,ESI
0069267D  |.  03C1          |ADD EAX,ECX
0069267F  |.  8038 00       |CMP BYTE PTR DS:[EAX],0
00692682    ^ 0F85 0EFFFFFF JNZ 脱壳.00692596
00692688  |>  5F            POP EDI
00692689  |.  5E            POP ESI
0069268A  |.  5B            POP EBX
0069268B  |.  59            POP ECX
0069268C  |.  5D            POP EBP
0069268D  \.  C2 0400       RETN 4

高手能分析一下吗?

[课程]Android-CTF解题方法汇总!

收藏
免费 0
支持
分享
最新回复 (9)
雪    币: 205
活跃值: (15)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
这是将一段代码进行格式转换的,但是我看不懂啊?指点一下吧,让我也提高一下,到现在我还只会爆破和简单的动态跟踪注册码啊!
2006-7-26 19:10
0
雪    币: 205
活跃值: (15)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
没人指点啊!
2006-7-27 09:30
0
雪    币: 205
活跃值: (15)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
还只能自己顶一下了,现在热心人不多了
2006-7-31 13:08
0
雪    币: 151
活跃值: (10)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
5
0069290B  |> /6A 00         /PUSH 0                                  ; /Arg1 = 00000000
0069290D  |. |8BC5          |MOV EAX,EBP                             ; |
0069290F  |. |C1E0 04       |SHL EAX,4                               ; |
00692912  |. |03C5          |ADD EAX,EBP                             ; |
00692914  |. |8B93 300C0000 |MOV EDX,DWORD PTR DS:[EBX+C30]          ; |
0069291A  |. |03D0          |ADD EDX,EAX                             ; |公式出现
0069291C  |. |B1 01         |MOV CL,1                                ; |
0069291E  |. |8BC7          |MOV EAX,EDI                             ; |
00692920  |. |E8 43FCFFFF   |CALL 脱壳.00692568                        ; \脱壳.00692568

能不能把进入函数前edx的值写出来呢?
2006-7-31 15:23
0
雪    币: 211
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
根据公式结果判断走那一条分支.这几个分支中总有一个是正确的.
2006-7-31 16:04
0
雪    币: 205
活跃值: (15)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
最初由 请哥慢捂 发布
0069290B |> /6A 00 /PUSH 0 ; /Arg1 = 00000000
0069290D |. |8BC5 |MOV EAX,EBP ; |
0069290F |. |C1E0 04 |SHL EAX,4 ; |
00692912 |. |03C5 |ADD EAX,EBP ; |
00692914 |. |8B93 300C0000 |MOV EDX,DWORD PTR DS:[EBX+C30] ; |
........


以下是:
EBP=00000000
EAX=00000009
堆栈 DS:[0012EC74]=025D6D90
EDX=00000003
EAX=00000000
EDX=025D6D90
EDI=025B9F64
EAX=00000000
==========
2006-8-1 13:13
0
雪    币: 205
活跃值: (15)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
人呢?
人那?
2006-8-6 16:34
0
雪    币: 342
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
循环里面没有call因该不难, CALL 脱壳.0040AA70 这个地方也是个关键 要搞明白了 动态跟下!你就明白了!
2006-8-6 18:06
0
雪    币: 205
活跃值: (15)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
进 CALL 脱壳.0040AA70 后看到

0040AA70  /$  89FA          MOV EDX,EDI
0040AA72  |.  89C7          MOV EDI,EAX
0040AA74  |.  B9 FFFFFFFF   MOV ECX,-1
0040AA79  |.  30C0          XOR AL,AL
0040AA7B  |.  F2:AE         REPNE SCAS BYTE PTR ES:[EDI]
0040AA7D  |.  B8 FEFFFFFF   MOV EAX,-2
0040AA82  |.  29C8          SUB EAX,ECX
0040AA84  |.  89D7          MOV EDI,EDX
0040AA86  \.  C3            RETN
0040AA87      90            NOP
0040AA88  /$  89FA          MOV EDX,EDI
0040AA8A  |.  89C7          MOV EDI,EAX
0040AA8C  |.  B9 FFFFFFFF   MOV ECX,-1
0040AA91  |.  30C0          XOR AL,AL
0040AA93  |.  F2:AE         REPNE SCAS BYTE PTR ES:[EDI]
0040AA95  |.  8D47 FF       LEA EAX,DWORD PTR DS:[EDI-1]
0040AA98  |.  89D7          MOV EDI,EDX
0040AA9A  \.  C3            RETN

killalarm加我的QQ 790868,我们一起搞定这个
2006-8-17 21:21
0
游客
登录 | 注册 方可回帖
返回
//