好友
阅读权限10
听众
最后登录1970-1-1
|
本学习笔记是根据ximo老师的教学视频自我凝练总结而成,目的是为了巩固所学+方便以后忘记了查阅。
————————————————————————————————————————————————
UPX脱壳有两大步骤:
一:寻找入口点
四个方法,但是所依据的底层原理都是一样的~
- 1.ESP定律:运行了pushad之后,esp的值会发生变化,由于堆栈平衡,之后还会运行与变化了的esp值相关的代码。所以,在esp值所指向的位置下硬件断点,然后运行到断点触发后(记得删除断点),单步走,直至看到入口点。
- 2.双内存镜像:起初,在本进程的Memory当中找本进程的.rsrc内存,下断点(F2),运行至触发断点,删除断点。再在UPX.0的那个内存上下断点,再运行至断点处。
- 3.顺序往下:让程序往下执行。配合F8(执行该条命令)和F4,要求就是,遇到call指令或者向上跳转的指令,在其下一跳指令处按F4(执行到此处),然后就走一步看一步,直至遇到大的跳转(经验谈)。
- 4.搜索法:运行到pushad的时候,搜索popad的指令,并且执行到popad处。然后就开始一步一步的看。
二:dump转储
由于我每次都找不到OllyDbg上面的按钮,所以我上传图片。 |
-
dump第一步
-
dump第二步
免费评分
-
查看全部评分
|
发帖前要善用【论坛搜索】功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。 |
|
|
|
|