1.
近call----------F7 进去
远call----------F8 跳过
因为近call跳过的话, 很可能本身程序也跑过了
2. 为什么一直向下跳, 不能向上跳?
因为向上跳很可能是一个for或者while循环, 这样就很难跳出来了
3. 为什么大跳转很大概率是OEP
因为跳过了壳的程序, 而壳的程序通常需要一部分内存来实现, 所以一般会是一个大跳转
push NotePad_.004010CC
retn
retn就是用栈顶的数据修改IP的值从而实现跳转, 所以上面的语句也就是个大跳转
4. 判断OEP(Offset of Entry Point):
五种语言特征
大跨度跳转
5. 达到OEP开始脱壳
6. 所谓的修复,就是重建程序的输入表
因为壳中可能会用到一些其他DLL里面的函数,而脱壳之后,这些函数就没有用到了, 所以要修改程序的IAT
时间: 2024-10-17 19:25:58