脱壳(初学)-- 手脱UPX壳及一点疑问
2015-03-21 02:39
267 查看
原地址:http://blog.csdn.net/keweidong888/article/details/44507733#comments
前辈们说得好,脱壳要多动手,要有耐心,今天刚刚看完ximo得脱壳教程第一个,打铁趁热,动手实践一下,顺便提几个疑问
疑问1:如果在peid查不出壳的情况下要怎么处理,壳不可能一成不变的,我学的这些壳估计在现实场合不会遇到吧???
疑问2:这里在数据窗口下端是什么原理(这个我之后慢慢百度吧,好像之前有看到过)
疑问3:这个是教程里的例子,我知道这里是OEP,如果换做其他程序,我怎么判断这个时候到达了程序入口呢,程序入口有什么特征
步骤一:查壳
这个是教程提供的加了UPX壳的软件
疑问1:如果在peid查不出壳的情况下要怎么处理,壳不可能一成不变的,我学的这些壳估计在现实场合不会遇到吧???
步骤二:加载程序,寻找OEP(我这里偷下懒,使用ESP定律法,快速定位OEP了)
1、如下图,pushad是关键句,保存寄存器,保存环境(我记得是这样)
2、F8单步走,这时ESP突变,如下图的右边寄存器窗口,ESP显示为红色,我们在这里点击右键,选中 在数据窗口跟随
疑问2:这里在数据窗口下端是什么原理(这个我之后慢慢百度吧,好像之前有看到过)
3、接着如下图,在数据窗口中下断点(图3-1), 然后点击运行到断点(图3-2),中断下来后选中菜单栏中的调试,选中硬件断点,先删除断点,(图3-3)
图3-1
图3-2
图3-3
4、如图3-2,我们看到这里地址从005791EF 将 jmp 0047738C这是一个大的跳转,说明很可能是跳转到入口地址啦,单步F8,程序已经到达OEP,接下来就是脱壳,脱壳就不截图啦
疑问3:这个是教程里的例子,我知道这里是OEP,如果换做其他程序,不一定大跳转后就是OEP的吧,我怎么判断这个时候到达了程序入口呢,程序入口有什么特征
还请路过的大神们耐心解答,谢谢!!!如果有什么说得不对的地方希望提出来,我会及时更改!
前辈们说得好,脱壳要多动手,要有耐心,今天刚刚看完ximo得脱壳教程第一个,打铁趁热,动手实践一下,顺便提几个疑问
疑问1:如果在peid查不出壳的情况下要怎么处理,壳不可能一成不变的,我学的这些壳估计在现实场合不会遇到吧???
疑问2:这里在数据窗口下端是什么原理(这个我之后慢慢百度吧,好像之前有看到过)
疑问3:这个是教程里的例子,我知道这里是OEP,如果换做其他程序,我怎么判断这个时候到达了程序入口呢,程序入口有什么特征
步骤一:查壳
这个是教程提供的加了UPX壳的软件
疑问1:如果在peid查不出壳的情况下要怎么处理,壳不可能一成不变的,我学的这些壳估计在现实场合不会遇到吧???
步骤二:加载程序,寻找OEP(我这里偷下懒,使用ESP定律法,快速定位OEP了)
1、如下图,pushad是关键句,保存寄存器,保存环境(我记得是这样)
2、F8单步走,这时ESP突变,如下图的右边寄存器窗口,ESP显示为红色,我们在这里点击右键,选中 在数据窗口跟随
疑问2:这里在数据窗口下端是什么原理(这个我之后慢慢百度吧,好像之前有看到过)
3、接着如下图,在数据窗口中下断点(图3-1), 然后点击运行到断点(图3-2),中断下来后选中菜单栏中的调试,选中硬件断点,先删除断点,(图3-3)
图3-1
图3-2
图3-3
4、如图3-2,我们看到这里地址从005791EF 将 jmp 0047738C这是一个大的跳转,说明很可能是跳转到入口地址啦,单步F8,程序已经到达OEP,接下来就是脱壳,脱壳就不截图啦
疑问3:这个是教程里的例子,我知道这里是OEP,如果换做其他程序,不一定大跳转后就是OEP的吧,我怎么判断这个时候到达了程序入口呢,程序入口有什么特征
还请路过的大神们耐心解答,谢谢!!!如果有什么说得不对的地方希望提出来,我会及时更改!
相关文章推荐
- 关于网页计数器的一点小疑问
- 一点疑问:关于static 和static readonly
- [原创]偶的upx脱壳动画
- 关于Python中输出中文的一点疑问
- 关于asp.net web service的一点疑问----"为什么vs2005还要多生成四个文件"
- 初学iOS,刚看到控件的strong&weak问题,如果答的不对还请指正。首先有一点,在OC中,如果对象没有强引用,就会被自动释放,那么为什么控件还可以设为weak?
- struts 标签的一点疑问
- 给初学编程者的一点建议
- 对于Tekkaman completion 的一点疑问?? 没有 解决
- 关于System.in(out、err)的一点疑问
- 【笔记】单步跟踪法与UPX的脱壳理解
- ofstream 的一点疑问
- 关于动态代理的一点疑问
- Swift初学有一点难理解的东西,整理了一下,想明白了。
- 提问:初学JAVA的疑问关于indexOf的用法
- 关于JSP的一点疑问小结
- 关于JavaScript初学的一点主意的地方
- hdu1199 初学离散化的一点心得
- 初学Oracle的一点心得
- 关于用于静态变量实现singleton的多线程互斥的一点疑问