目前自己的几种脱壳方式

1.     FSG壳:

       针对FSG壳 一般的思路是F8一路向下,遇见向上的跳转,直接在跳转语句后面下断点F9跳过,一路循环此过程,知道程序的OEP处,(自己先去查看内存中各段的内存地址区间判断程序的OEP大概位置)

      针对FSG壳另一种快捷的方式(使用OD),首先打开OD载入FSG壳程序,点击“选项“”界面调试“  ”SFX“    选择”字节方式跟踪真正入口处“目前自己的几种脱壳方式_第1张图片

点击之后确定,然后从新载入程序,然后从新点开如图所示的界面选中”停在自解压器的入口处“点击确定,然后你会发现OD在运作某种东西,从下面的跳动的字符可以看出,(跟踪SFX:read=。。。 write=。。。),稍等之后,就会进入走到程序的OEP。

2. UPX壳:

       利用常用的方法:堆栈平衡来脱壳。

3. winupack壳:利用堆栈平衡脱壳。


4.  几种一般通用的脱壳方法:

         第一种:堆栈平衡:用OD载入程序,一边点击F8,一边观察右边的寄存器区域,观察ESP的变化如果ESP发生变化,立刻在ESP处单击,然后右键点击”数据窗口中“

目前自己的几种脱壳方式_第2张图片


然后在此时跳转到的数据窗口中前几个字节处选中一个Byte或者Word或者Dword  ,然后右键”断点“  ”硬件访问“  根据之前选过的字形选择Byte,Word,Dword。然后F9

(有时候需要F9不止一次),然后就会跳转到OEP处。

              



                   第二种:        在OEP所在的代码段下访问断点ALT+M  进入内存区段界面,在OEP所在的段下访问断点,然后ALT+c   回到cpu界面 F9跳,重复如此的过程,如果中途遇见循环,则直接在循环后下断点F9走过(一般遇到循环,跳过循环再下访问断点再跟进,很快就会到OEP)

            

你可能感兴趣的:(目前自己的几种脱壳方式)