一个软件脱壳后,exe文件用Ollydbg打开只有 这么几句代码
超级字串参考+
地址 反汇编 文本字串
004430D0 MOV EAX,Dbt3G.0040D040 (
004430E8 MOV EDX,Dbt3G.00443130 0x
00443362 MOV EAX,Dbt3G.0044268C ,
0044336E PUSH Dbt3G.00443398 mir3g2006_plugin
00443392 CALL Dbt3G.00404748 (初始 cpu 选择)
与exe同名的DLL里的代码也不多
00401000 > . F168827C DD kernel32.ExitProcess
00401004 00000000 DD 00000000
00401008 > . 5F42E577 DD user32.MessageBoxA
0040100C 00000000 DD 00000000
00401010 > $ EB 6E JMP SHORT Dbt3G.00401080 ; (初始 cpu 选择)
00401012 . 49 6E 66 6F 0>ASCII "Info",0
00401017 . 2D 2D 2D 3D 3>ASCII "---== Hello, Wor"
00401027 . 6C 64 20 3D 3>ASCII "ld ==---",0
00401030 5A DB 5A ; CHAR 'Z'
00401031 C6 DB C6
00401032 7A DB 7A ; CHAR 'z'
00401033 . F9 STC
00401034 . 52 PUSH EDX
00401035 > 2B7F F9 SUB EDI,DWORD PTR DS:[EDI-7]
00401038 . 52 PUSH EDX
00401039 . 2F DAS
0040103A .^ 7F F9 JG SHORT Dbt3G.00401035
0040103C . 5A POP EDX
0040103D . C2 72F9 RETN 0F972
00401040 1B DB 1B
00401041 54 DB 54 ; CHAR 'T'
00401042 > 69C3 0829DBEE IMUL EAX,EBX,EEDB2908
00401048 . 04 BB ADD AL,0BB
0040104A . F658 E5 NEG BYTE PTR DS:[EAX-1B]
0040104D . 44 INC ESP
0040104E . B0 DD MOV AL,0DD
00401050 . 26:AE SCAS BYTE PTR ES:[EDI]
00401052 . D6 SALC
00401053 . 6C INS BYTE PTR ES:[EDI],DX ; I/O 命令
00401054 . A5 MOVS DWORD PTR ES:[EDI],DWORD PTR DS:[ES>
00401055 . 28A1 3F0636A8 SUB BYTE PTR DS:[ECX+A836063F],AH
0040105B . 27 DAA
0040105C . 58 POP EAX
0040105D . A6 CMPS BYTE PTR DS:[ESI],BYTE PTR ES:[EDI]
0040105E . 626A 95 BOUND EBP,QWORD PTR DS:[EDX-6B]
00401061 . 187F 03 SBB BYTE PTR DS:[EDI+3],BH
00401064 . 0B08 OR ECX,DWORD PTR DS:[EAX]
00401066 . C14CEF 7E 30 ROR DWORD PTR DS:[EDI+EBP*8+7E],30 ; 移位常量超出 1..31 的范围
0040106B . 6284DD BCD5A6>BOUND EAX,QWORD PTR SS:[EBP+EBX*8+6EA6D5>
00401072 . B5 61 MOV CH,61
00401074 . 9F LAHF
00401075 . 9D POPFD
00401076 . AB STOS DWORD PTR ES:[EDI]
00401077 C6 DB C6
00401078 . 9E SAHF
00401079 . 15 9A0E2C1A ADC EAX,1A2C0E9A
0040107E .^ 77 C2 JA SHORT Dbt3G.00401042
00401080 > 6A 00 PUSH 0 ; /Style = MB_OK|MB_APPLMODAL
00401082 . 68 12104000 PUSH Dbt3G.00401012 ; |info
00401087 . 68 17104000 PUSH Dbt3G.00401017 ; |---== hello, world ==---
0040108C . 6A 00 PUSH 0 ; |hOwner = NULL
0040108E . E8 07000000 CALL <JMP.&user32.MessageBoxA> ; \MessageBoxA
00401093 . 6A 00 PUSH 0 ; /ExitCode = 0
00401095 . E8 06000000 CALL <JMP.&kernel32.ExitProcess> ; \ExitProcess
0040109A $- FF25 08104000 JMP DWORD PTR DS:[<&user32.MessageBoxA>] ; user32.MessageBoxA
004010A0 .- FF25 00104000 JMP DWORD PTR DS:[<&kernel32.ExitProcess>; kernel32.ExitProcess
004010A6 CC INT3
004010A7 CC INT3
004010A8 . EC100000 DD 000010EC ; 结构 'IMAGE_IMPORT_DESCRIPTOR'
004010AC . 00000000 DD 00000000
004010B0 . 00000000 DD 00000000
004010B4 . 02110000 DD 00001102
004010B8 . 08100000 DD 00001008
004010BC . E4100000 DD 000010E4 ; 结构 'IMAGE_IMPORT_DESCRIPTOR'
004010C0 . 00000000 DD 00000000
004010C4 . 00000000 DD 00000000
004010C8 . 1C110000 DD 0000111C
004010CC . 00100000 DD 00001000
004010D0 . 00000000 DD 00000000 ; 结构 'IMAGE_IMPORT_DESCRIPTOR'
004010D4 . 00000000 DD 00000000
004010D8 . 00000000 DD 00000000
004010DC . 00000000 DD 00000000
004010E0 . 00000000 DD 00000000
004010E4 . 0E110000 DD 0000110E ; 为 'kernel32.dll'导入查找表
004010E8 . 00000000 DD 00000000
004010EC . F4100000 DD 000010F4 ; 为 'user32.dll'导入查找表
004010F0 . 00000000 DD 00000000
004010F4 . 9D01 DW 019D
004010F6 . 4D 65 73 73 6>ASCII "MessageBoxA",0
00401102 . 75 73 65 72 3>ASCII "user32.dll",0
0040110D 00 DB 00
0040110E . 8000 DW 0080
00401110 . 45 78 69 74 5>ASCII "ExitProcess",0
0040111C . 6B 65 72 6E 6>ASCII "kernel32.dll",0
004011EF 00 DB 00
00401409 00 DB 00
而且也找不出 汉字的提示,请高手指点一下破解思路,从哪里入手~~谢谢`~
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课