首页 > 其他分享 >VMP无加密脱壳

VMP无加密脱壳

时间:2023-04-14 14:11:40浏览次数:35  
标签:脱壳 加密 dump OEP 程序 C++ VirtualProtect VMP

将CM.exe拖入DIE,发现程序有vmp壳,并且是用C++编写的
image

下面进行脱壳,脱壳的关键是找到程序真正的入口OEP(Original Entry Point),然后才能dump下来,得到脱壳后的程序。拖入x32dbg,Ctrl+G搜索VirtualProtect,该函数由动态链接库kernel32.dll提供
image

可以看到最后一条指令跳转到了VirtualProtect函数的地址,F2下断点
image

按F9前进,找到vmp1区段的入口,也就是加壳后程序的入口EP(Entry Point)
image

不断F9直到无法继续跳转(Ollydbg里面堆栈窗口显示PAGE_READONLY,因为代码段是只读的)。地址为CM.00DBB000,就是这个地址的指令调用了VirtualProtect函数进行保护,说明OEP就在这之后不远
image

使用第二个方法:搜索C++程序特征码EB0B85F375078BC6C1E0100BF0,这是OEP第一个call尾部的指令,地址为00DD39F2
image

image

往上找,发现类似C++程序开头段,猜测OEP是00DD37F2。这里需要尝试所有可能的OEP,如果错误dunp下来还是没法反汇编
image

使用x32dbg的Scylla插件,在OEP处将脱壳后的程序dump下来,即可得到CM_dump.exe,但是无法运行,拖进IDA分析即可
image

标签:脱壳,加密,dump,OEP,程序,C++,VirtualProtect,VMP
From: https://www.cnblogs.com/nemuzuki/p/17236922.html

相关文章

  • ADVMP 三代壳(vmp加固)原理分析(执行流程)
    由于在加壳时插入了System.loadLibrary("advmp");,看一下JNI_OnLoadJNIEXPORTjintJNICALLJNI_OnLoad(JavaVM*vm,void*reserved){JNIEnv*env=NULL;if(vm->GetEnv((void**)&env,JNI_VERSION_1_4)!=JNI_OK){returnJNI_ERR;}......
  • ADVMP 三代壳(vmp加固)原理分析(加壳流程)
    开源项目地址https://github.com/chago/ADVMPvmp加固可以说时各大加固厂商的拳头产品了,这个开源项目虽然不是十分完善,让我们可以一览vmp加固的原理,是十分好的学习资源vmp全称:virtualmachineprotect,本质是将原来smali对应的代码转化为自定义的代码,然后通过自定义的......
  • 报错信息如下:出现身份验证错误。要求的函数不受支持。可能是由于CredSSP加密数据库修
    微软官方已出补丁包:CVE-2018-0886的CredSSP更新WindowsServer2016,alleditions、WindowsServer2012R2Standard、WindowsServer2012Standard、Windows8.1、Windows10、Windows7这是由于凭据安全支持提供程序协议(CredSSP)是处理加密Oracle修正所导致。(详细......
  • FART 脱壳机原理分析
    FART是一个基于Android源码修改的脱壳机可以脱整体壳和抽取壳FART脱壳的步骤主要分为三步:1.内存中DexFile结构体完整dex的dump2.主动调用类中的每一个方法,并实现对应CodeItem的dump3.通过主动调用dump下来的方法的CodeItem进行dex中被抽取的方法的修复1.整体壳脱壳分析......
  • 加密木马分析
    前言记一次恶意代码分析教程:《恶意代码分析实战》第九章实验Lab9-1恶意代码样本:https://github.com/mikesiko/PracticalMalwareAnalysis-Labs 实验环境(虚拟环境)WindowsXP:Ollydbg1.1Windows10:IDApro7.7 定位调用main函数地址 IDA函数窗口找到_main,进入函......
  • Youpk 脱壳机脱壳原理分析
    Youpk是一个针对整体加固和Dex抽取加固壳的脱壳机主要是基于虚拟机的,也就是基于VA的脱壳机,相对FART出来的更晚一些,厂商针对少一些,脱壳位置相对更底层一些,还提供了Dex修复的工具,简直棒棒1.先分析整体脱壳的原理在ActivityThread的handleBindApplication中增加了代......
  • 选币模型:评估加密货币投资价值
    以下选币模型我是基于ChatGPT进行训练微调得出的。评估加密货币投资价值的关键因素主要包括:技术背景:加密货币所采用的技术是否先进,能否满足当前市场的需求,以及是否有未来的潜力。实际应用:加密货币是否有实际应用场景,是否能够解决当前市场上的问题。团队实力:加密货币的开发团队是......
  • Android脱壳基础知识
    JVM的类加载器:BootstrapClassLoader引导类加载器:C/C++代码实现的加载器,用于加载制定的JDK核心库,比如java.lang.*、java.util.*等这些系统类。Java虚拟机的启动就是通过Bootstrap,该ClassLoader在java里无法获取,负责加载/lib下的类ExtensionsClassLoader拓展类加载器:Java中的......
  • 关于S3对象加密以及S3-bucket桶默认加密的配置
    今天在看到一个s3中的对属性时,发现服务端加密显示的Off,那么就意味着这个对象是没有使用加密的 但笔者就一直思考了、怎么会没有加密呢,关于s3-bucket和对象,都找不到地方是可以关闭加密的呢,后面去看了一下官方文档:Protectingdatausingserver-sideencryption-AmazonSi......
  • php连接mysql 的错误:用户密码使用了旧版本的加密方式
    CannotconnecttoDatabase,pleasecheckyourconfiguration:错误代号:2000 mysqlndcannotconnecttoMySQL4.1+usingtheoldinsecureauthentication.PleaseuseanadministrationtooltoresetyourpasswordwiththecommandSETPASSWORD=PASSWORD('you......