658 发表于 2011-1-21 13:48

菜鸟起步二 手脱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 函数的帮助

Seper 发表于 2011-1-21 14:16

感谢分享 学习一下 :)

 发表于 2011-1-21 14:40

感谢发帖,我根本看不懂·

tuimaochang 发表于 2011-1-24 15:55

前排插入,谢谢楼主分享

qq20048888 发表于 2011-1-24 22:17

不错不错。继续努力.

zone0826 发表于 2011-1-25 13:24

没错,这个是跳向OEP的JMP,这里应该是一个PUSH 下面是一个CALL,CALL的地址应该是上面一串JMP的最后一个JMP的地址,你可以右键->分析->删除分析,就能看到,这是VB程序典型的OEP,好好记住吧。所有VB程序的OEP都是这样的。

pengpeng0543 发表于 2011-1-25 13:54

学习来了,这个教程不错

980499769 发表于 2011-1-25 14:22

感谢发帖,我根本看不懂·同感

下雪天 发表于 2011-1-26 21:58

好东西要支持!

欲望的橱窗ヽ 发表于 2011-1-26 22:28

我也来支持下
页: [1] 2
查看完整版本: 菜鸟起步二 手脱ASPACK壳笔记