zoukankan      html  css  js  c++  java
  • 学习:脱壳之内存执行寻找OEP

    前言:类似排除法,如果一开始知道OEP的地址话,那么成功脱壳的几率应该百分之百,如果不知道,那自己尝试的时候,还是需要检查检查

    1、直接加载入OD,打开内存窗口观察,发现是UPX的壳

    内存映射, 条目 22
    地址=00401000
    大小=00008000 (32768.)
    属主=CRACKME_ 00400000
    区段=UPX0
    包含=输出表
    类型=Imag 01001002
    访问=R
    初始访问=RWE

    内存映射, 条目 23
    地址=00409000
    大小=00001000 (4096.)
    属主=CRACKME_ 00400000
    区段=UPX1
    包含=代码
    类型=Imag 01001002
    访问=R
    初始访问=RWE

    内存映射, 条目 24
    地址=0040A000
    大小=00001000 (4096.)
    Owner=CRACKME_ 00400000
    Section=.rsrc
    Contains=data,imports,resources
    Type=Imag 01001002
    Access=R
    Initial access=RWE

    2、知道了UPX1是代码段,那么这个程序在运行的时候肯定不会把自己的代码段UPX1进行解密然后再进行写入,那么值得怀疑的区段就只有.rsrc 和 UPX0,那么直接给UPX0下内存断点,原因是UPX1区段解密完会在别的区段进行写入解密完之后的代码,所以当访问的时候,也就是解密的时候的代码,那么直接F9运行,发现成功来到OEP

  • 相关阅读:
    Python父类调用子类
    Python中for else注意事项
    JS Number类型数字位数及IEEE754标准
    cocos打包到ios与android上音频推荐
    JS学习之预解析(执行上下文)
    JS学习之函数的作用域
    JS学习之函数二
    JS学习之函数
    如何在subline中高亮显示.vue文件
    JS之正则
  • 原文地址:https://www.cnblogs.com/zpchcbd/p/12096433.html
Copyright © 2011-2022 走看看