tElock v0.98脱壳脚本(第八九课作业)
本帖最后由 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:
0045D50B|.50 PUSH EAX
0045D50C|.64:8925 00000>MOV DWORD PTR FS:,ESP
0045D513|.83EC 58 SUB ESP,58
0045D516|.53 PUSH EBX
0045D517|.56 PUSH ESI
0045D518|.57 PUSH EDI
0045D519|.8965 E8 MOV ,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:,EDX
0045D52C|.8BC8 MOV ECX,EAX
0045D52E|.81E1 FF000000 AND ECX,0FF
0045D534|.890D E0D74B00 MOV DWORD PTR DS:,ECX
0045D53A|.C1E1 08 SHL ECX,8
0045D53D|.03CA ADD ECX,EDX
0045D53F|.890D DCD74B00 MOV DWORD PTR DS:,ECX
0045D545|.C1E8 10 SHR EAX,10
0045D548|.A3 D8D74B00 MOV DWORD PTR DS:,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
脚本
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
学习下,支持楼主 认真写作业! 谢谢楼主分享! 拿 走了 谢谢分享 求写脚本的视频教程
页:
[1]