简单OD脚本演示
本帖最后由 古月不傲 于 2020-7-12 23:08 编辑//UPX v3.4脱壳脚本
VAR addr //定义变量
STO //单步F8
MOV addr, esp
BPHWS addr, "r" //设置硬件访问断点
RUN //F9
BPHWC addr //清除硬件断点
STO
STO
STO //F8 3次
ADD eip, 2 //F4 运行到选定位置
STO
STO //F8 2次
CMT eip, "到达OEP" //当前EIP处 写上注释
MSG "脚本运行完毕"
RET //结束脚本
//Aspack v2.38脱壳脚本
VAR nRunCount
VAR nStoCount
GMA "KernelBa",CODEBASE
CMP $RESULT, 0
JE exit
FINDCMDS $RESULT, "mov edi,edi;push ebp;mov ebp,esp;push ecx;push ecx;mov eax,dword ptr ss:;push esi;push dword ptr ss:;mov dword ptr ss:,eax;push dword ptr ss:"
CMP $RESULT, 0
JE exit
BP $RESULT
MOV nRunCount, 6
LoopRun:
RUN
DEC nRunCount
CMP nRunCount, 0
JE VirtualProtect
JMP LoopRun
VirtualProtect:
BC $RESULT
FIND $RESULT,#C21000#//查找函数尾
CMP $RESULT, 0 //判断是否查找到
JE exit
MOV eip, $RESULT //设置eip
STO //单步F8
MOV nStoCount, B//注意是16进制
LoopSto:
STO
DECnStoCount
CMP nStoCount, 0
JE Info
JMP LoopSto
Info:
CMT eip, "到达OEP" //加上注释
MSG "脚本运行完毕!"
exit:
RET
//Nspack v3.7脱壳脚本
GMA "KernelBa", CODEBASE//获取KernelBase.dll代码段
CMP $RESULT, 0
JE exit
FINDCMDS $RESULT, "mov edi,edi;push ebp;mov ebp,esp;push ecx;push ecx;mov eax,dword ptr ss:;push esi;push dword ptr ss:;mov dword ptr ss:,eax;push dword ptr ss:"
CMP $RESULT, 0
JE exit
BP $RESULT
RUN
RUN //执行两次F9
BC $RESULT
FIND $RESULT,#C21000#//查找函数尾
CMP $RESULT, 0 //判断是否查找到
JE exit
MOV eip, $RESULT //设置eip
STO //单步F8
FIND eip, #E9????????#
CMP $RESULT, 0
JE exit
MOV eip, $RESULT
STO
CMT eip, "到达OEP" //加上注释
MSG "脚本运行完毕!"
exit:
RET
我也是初学脱壳的小白 第一次写脱壳脚本 分享给同样的小白 看起来挺高级的好好学习一下 在哪里可以学习这个脚本写法呢 有没有od相关教学视频呢
xiaobai3963 发表于 2020-7-13 10:08
在哪里可以学习这个脚本写法呢
官方教学这节好像有讲脚本写法的
《吾爱破解培训第八课:短兵相接--深入浅出探讨脱壳细节(上)》 讲师:L4Nce
https://www.52pojie.cn/thread-411104-1-1.html
(出处: 吾爱破解论坛)
本帖最后由 古月不傲 于 2020-7-14 01:28 编辑
xiaobai3963 发表于 2020-7-13 10:08
在哪里可以学习这个脚本写法呢
https://www.52pojie.cn/thread-6881-1-1.html
https://www.bilibili.com/video/BV1YC4y1s7Kf?p=11
所以指令都在脚本工具里面有
看雪上的一些壳源码
页:
[1]