好友
阅读权限30
听众
最后登录1970-1-1
|
本帖最后由 whyIDA 于 2016-5-1 19:40 编辑
tElock v0.98是一款很老而且比较容易脱得壳,最后一次异常法,二次内存法很容易脱掉。本帖只是练习一下脚本的写法。大概原理是先在
.rdata下断然后搜索iat加密并改强制跳转。再在.data下断,最后跳到oep 完成脱壳。
0045D4F6 55 PUSH EBP
0045D4F7 |. 8BEC MOV EBP,ESP
0045D4F9 |. 6A FF PUSH -1
0045D4FB |. 68 28704800 PUSH 第八九课.00487028
0045D500 |. 68 D4024600 PUSH 第八九课.004602D4 ; SE 处理程序安装
0045D505 |. 64:A1 0000000>MOV EAX,DWORD PTR FS:[0]
0045D50B |. 50 PUSH EAX
0045D50C |. 64:8925 00000>MOV DWORD PTR FS:[0],ESP
0045D513 |. 83EC 58 SUB ESP,58
0045D516 |. 53 PUSH EBX
0045D517 |. 56 PUSH ESI
0045D518 |. 57 PUSH EDI
0045D519 |. 8965 E8 MOV [LOCAL.6],ESP
0045D51C |. FF15 7CD14700 CALL NEAR DWORD PTR DS:[<&kernel32.GetVe>; kernel32.GetVersion
0045D522 |. 33D2 XOR EDX,EDX
0045D524 |. 8AD4 MOV DL,AH
0045D526 |. 8915 E4D74B00 MOV DWORD PTR DS:[4BD7E4],EDX
0045D52C |. 8BC8 MOV ECX,EAX
0045D52E |. 81E1 FF000000 AND ECX,0FF
0045D534 |. 890D E0D74B00 MOV DWORD PTR DS:[4BD7E0],ECX
0045D53A |. C1E1 08 SHL ECX,8
0045D53D |. 03CA ADD ECX,EDX
0045D53F |. 890D DCD74B00 MOV DWORD PTR DS:[4BD7DC],ECX
0045D545 |. C1E8 10 SHR EAX,10
0045D548 |. A3 D8D74B00 MOV DWORD PTR DS:[4BD7D8],EAX
0045D54D |. 6A 01 PUSH 1
0045D54F |. E8 174F0000 CALL 第八九课.0046246B
0045D554 |. 59 POP ECX
0045D555 |. 85C0 TEST EAX,EAX
0045D557 |. 75 08 JNZ SHORT 第八九课.0045D561
脚本
[Asm] 纯文本查看 复制代码 VAR fin1
VAR tmp
VAR CD1
VAR CD2
VAR SZ
GMI eip,CODEBASE
MOV CD1,$RESULT
MOV CD2,CD1
GMI eip,CODESIZE
MOV SZ, $RESULT
ADD CD1,SZ
BPRM CD1, FF ;RDada 地址
ERUN
BPMC
GMEMI eip, MEMORYBASE
MOV tmp1,$RESULT
FINDMEM #C685??????????74#,tmp1
MOV fin1, $RESULT
CMP fin1,0
JE end
GO fin1
STO
GCI eip, DESTINATION
MOV tmp,$RESULT
eval "jmp {tmp}"
ASM eip,$RESULT
BPRM CD2, SZ ;text 地址
ERUN
BPMC
GPI CURRENTDIR
DPE "dump.exe",eip
MSG "已脱壳,文件在当前目录"
end:
RET
[/mw_shl_code]
tElock v0.98.7z
(543.86 KB, 下载次数: 77)
|
免费评分
-
查看全部评分
|
发帖前要善用【论坛搜索】功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。 |
|
|
|
|