菜鸟起步二 手脱ASPACK壳笔记
本帖最后由 658 于 2011-1-21 14:22 编辑自己的号 诗意人生 权限不够 不能发帖= =# 借朋友号补上
手脱ASPACK壳 和 手脱USP壳 基本上一样不过又多了两种寻找OEP的方法
工具:PEID和OD
原教程地址:http://www.rayfile.com/zh-cn/files/3c141c42-320d-11de-a8d0-0014221b798a/
ASPack 2.12 -> Alexey Solodovnikov
QQ个性网名昵称查看器 这个程序的OEP 在retn命令中
004303B0 /75 08 jnz short QQ个性网.004303BA
004303B2 |B8 01000000 mov eax,1
004303B7 |C2 0C00 retn 0C
004303BA \68 D4124000 push QQ个性网.004012D4 ; ASCII "hTG@"
004303BF C3 retn /此处OEP
方法1:单步跟踪
call后爆出程序 跑飞了 重载 call 时跟进(单步左边的按钮 F7) 继续单步
经验 在PE头附近的call基本上会跑飞 所以遇到直接F7
方法2:ESP定律
跳到后可以 F2再运行再F2 (估计这三个动作相当于一个F4)
方法3:一步直达
ctrl+F 输入popad 查找下一个(ctrl+L)
方法4:2次内存镜像
Alt+M 找到程序块的.csrc F2 运行 alt+M 找到地址00401000 F2 运行 出现OEP
方法5:模拟跟踪
在内存板块(Alt+M)
tc eip<xxxxxx(aspack处地址)左上角显示跟踪后 点击运行 点了几次后找到OEP
方法6:SFX
选项 调试选项 SFX 选择 块方式跟踪
PS:有个问题请教大牛
nSPack 1.3北斗壳中
用ESP定律
我找到了popfd popad 这句应该是OEP入口点吧?
可单步后就变成这个了 请教下这咋回事呢?
给小白同学的一个意见哈
其实可以脱掉壳后找小生我怕怕工具包里的加壳机给程序加壳 不断练习
附上命令行命令
以下命令适用于 OllyDbg 的命令行插件 Cmdline.dll(显示于程序的插件菜单中)
===============================================================
命令行插件支持的命令
CALC
判断表达式
WATCH
添加监视表达式
AT
在指定地址进行反汇编
FOLLOW
跟随命令
ORIG
反汇编于 EIP
DUMP
在指定地址进行转存
DA
转存为反汇编代码
DB
使用十六进制字节格式转存
DC
使用 ASCII 格式转存
DD
转存在堆栈格式
DU
转存在 UNICODE 格式
DW
使用十六进制字词格式转存
STK
前往堆栈中的地址
AS
(AS + 地址 + 字符串)
在指定地址进行汇编
BP
进行条件中断(有条件的断点)
BPX
中断在全部调用 (Call)
BPD
清除全部调用中的断点
BC
清除断点
MR
内存断点于访问时
MW
内存断点于写入时
MD
清除内存断点
HR
访问时进行硬件中断
HW
写入时进行硬件中断
HE
执行时进行硬件中断
HD
清除硬件断点
STOP
停止运行程序调试
PAUSE
暂停执行程序调试
RUN
运行程序进行调试
GE
运行和通过例外
SI
单步进入 Call 中
SO
步过 Call
TI
跟踪进入直到地址
TO
跟踪步过直到地址
TC
跟踪进入直到满足条件
TOC
跟踪步过直到满足条件
TR
运行直到返回
TU
运行直到用户代码
LOG
查看记录窗口
MOD
查看模块窗口
MEM
查看内存窗口
CPU
查看 CPU 窗口
CS
查看 Call 堆栈
BRK
查看断点窗口
TC EIP<500000
0071169C E8 2ECEFFFF call videofix.0070E4CF
0071CAC2 E8 8434FFFF call videofix.0070FF4B
0071CB7A 45 inc ebp
0071CB7A 45 inc ebp
0071E36F E8 9229FFFF call videofix.00710D06
00720664 E8 E2F8FEFF call videofix.0070FF4B
OPT
打开选项设置窗口
EXIT
退出 OllyDbg
QUIT
退出 OllyDbg
OPEN
打开一个可执行文件
CLOSE
关闭可执行文件
RST
重新运行当前程序
HELP
查看 API 函数的帮助
感谢分享 学习一下 :) 感谢发帖,我根本看不懂· 前排插入,谢谢楼主分享 不错不错。继续努力. 没错,这个是跳向OEP的JMP,这里应该是一个PUSH 下面是一个CALL,CALL的地址应该是上面一串JMP的最后一个JMP的地址,你可以右键->分析->删除分析,就能看到,这是VB程序典型的OEP,好好记住吧。所有VB程序的OEP都是这样的。 学习来了,这个教程不错
感谢发帖,我根本看不懂·同感 好东西要支持! 我也来支持下
页:
[1]
2