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解题方法汇总!