VMProtect完美脱壳过程1.查看程序这是我自己写的一个VB的小程序,长得有点丑,别介意。然后自己加了一个壳,是VMProtect v.1.6x - 2.03的壳。接下来我们国际惯例,用PEID,EXEinfo PE查一下壳可以看到是加了VMP的壳的,VMP壳的介绍我会放在帖子的最后哦。2.拉到OD去啦~push 0xE131EEA3 这其实就是被VM过的OEP,你问我啥是Push?push
转载
2024-01-20 07:08:46
453阅读
工作需要要脱一个VMP壳,我是一个从来没接触过脱壳的人。瞬间那种心情遇到的人应该都知道!没办法硬着头皮找教程,7天看完了 《天草的壳的世界》尝试脱壳下面是我的脱壳过程希望大牛多多指正!1、准备工具,FEID(查壳工具)、DIE(查壳工具)、LordPE(dump工具)、ImpRec(IAT修复工具)、UIF(IAT修复工具)、CFF(文件优化工具)、OD(吾爱破解专版 调试工具)2、查壳 
转载
2024-01-18 10:12:53
93阅读
预备知识 1.PUSHAD (压栈) 代表程序的入口点, 2.POPAD (出栈) 代表程序的出口点,与PUSHAD想对应,一般找到这个OEP就在附近 3.OEP:程序的入口点,软件加壳就是隐藏了OEP(或者用了假的OEP/FOEP),只要我们找到程序真正的OEP,就可以立刻脱壳。方法一:单步跟踪法1.用OD载入,点“不分析代码!”2.单步向下跟踪F8,实现向下的跳。也就是说向上的跳
VMP壳 :是用来保护关键的代码段的一种加密壳原理:抽出局部代码,转变为中间码,虚拟机引擎对中间码进行解释,替代CPU解释执行代码,然后跳转回源地址,每次执行都解释执行一次代码,虚拟机有一套自己的反编译算法去解释执行代码:比如mov = 0xe8 ebx = 02 eax = 01 mov ebx,eax 被虚拟机解释执行为 e8 02 01注意:这套虚拟机对应的反编译算法是根据程序的不同随机的产
转载
2023-10-09 11:39:05
1140阅读
VMProtect完美脱壳过程1.查看程序这是我自己写的一个VB的小程序,长得有点丑,别介意。然后自己加了一个壳,是VMProtect v.1.6x - 2.03的壳。接下来我们国际惯例,用PEID,EXEinfo PE查一下壳 可以看到是加了VMP的壳的,VMP壳的介绍我会放在帖子的最后哦。2.拉到OD去啦~ push 0xE131EEA3 这其实就是被V
1、Reflector --微软自家工具--推荐 Reflector是最为流行的.Net反编译工具。Reflector是由微软员工Lutz Roeder编写的免费程序。Reflector的出现使·NET程序员眼前豁然开朗,因为这个免费工具可以将·NET程序集中的中间语言反编译成C#或者Visual Basic代码。除
# 如何实现Android Vmp脱壳机
## 1. 概述
在Android应用程序的反编译过程中,脱壳是一个非常重要的步骤。Vmp是一种常见的加固技术,通过脱壳可以去除Vmp对应用程序的保护,方便进行进一步的分析或修改。本文将介绍如何实现Android Vmp脱壳机。
## 2. 流程
以下是实现Android Vmp脱壳机的主要步骤:
```mermaid
gantt
title
原创
2024-05-15 05:55:15
372阅读
步骤 1. 启动KSDumper并通过运行它从内存中转储。步骤 2. 使用CFF Explorer 修复转储文件的部分特征。步骤 3. 现在使o
原创
2022-07-10 00:06:51
1100阅读
背景 无 VMP的介绍 相信看到这篇文章的人都听过或了解过vmp,基本遇到vmp加壳的程序基本就是右键回收站,但是如果只是简单的加了一层vmp壳的话,还是可以分析的。 vmp加壳方式 下面是程序代码 int main() { printf("222222222...
原创
2022-09-11 00:48:53
1168阅读
特点 不同的压缩壳会先将 pe 文件压缩,载入内存后进行解压缩(TLS函数内)然后运行,而 vmp 是修改 pe文件中的汇编指令为一...
原创
2022-07-19 10:08:55
1179阅读
好久没有到博客写文章了,9月份开学有点忙,参加了一个上海的一个CHINA SIG信息比赛,前几天又无锡南京来回跑了几趟,签了阿里巴巴的安全工程师,准备11月以后过去实习,这之前就好好待在学校学习了。这段时间断断续续把《加密与解码 第三版》给看完了,虽然对逆向还是一知半解,不过对VMP虚拟机加壳这块有了一点新的认识。这里分享一些笔记和想法,没有新的东西,都是书上还KSSD里看来的,权当笔记和分享,大
转载
2024-01-28 07:59:46
248阅读
12.3 配置虚拟机可以在创建(Folder.CreateVM_Task) 或 克隆(VirtualMachine.CloneVM_Task)虚拟机期间配置虚拟机,也可以使用 VirtualMachine.ReconfigVM_Task 对虚拟机进行重新配置,但是,不要使用 VirtualMachine.ReconfigVM_Task 方法创建或添加磁盘。在 vSphere 5.5 及之后版本,当
转载
2024-01-14 18:10:46
92阅读
目录1、字节码ASM插桩到底什么意思?1.1、字节码1.2、ASM1.3、插桩2、插桩到底有什么用?3、怎么才能实现插桩呢?第一步:新建moudle第二步,配置属性文件和插件模块的build.gradle:第三步,编写对应的插件注入类,及类和方法访问器:第四步,上传插件库到本地maven仓库,方便主项目引用:第五步,配置主项目的MyAmsTest/app/build_gradle及MyAmsTe
转载
2023-06-30 15:51:10
240阅读
字节码插桩我们知道JVM是不能直接执行.java 代码,也不能直接执行.class文件,它只能执行.class 文件中存储的指令码。这就是为什么class需要通过classLoader 装载以后才能运行。基于此机制可否在ClassLoader装载之前拦截修改class当中的内容(jvm 指令码)从而让程序中包含我们的埋点逻辑呢?答案是肯定的,但需要用到两个技术 javaagent与javassis
转载
2024-06-20 20:35:24
23阅读
一、汉字在计算机中的编码形式我们都知道,在计算机中英文字符是用一个字节的ASCII码表示,该字节最高位一般用做奇偶校验,故实际是用7位码来代表128个字符的,但是对于众多的汉字,只有用两个字节才能表示,这样用两个字节来表示一个汉字的体制,国家制定了统一的标准,称为国标码。国标码规定,组成两个汉字代码的各字节最高位为0,这和英文字符表示方法相同,这就有可能把汉字的国标码看作两个ASCII码,为此又规
转载
2023-07-26 23:46:06
127阅读
hello world class字节码文件 每一个class字节码文件都唯一对应一个类或接口,class文件中记录中类或接口的基本信息,但反之不成立,不是每一个类或接口都有一个唯一对应的字节码文件,首先类或接口的字节码可以不以文件的方式存储,可以直接从内存中生成字节码,而不产生.class文件,动态代理的原理就是直接内存中生成字节码流,根据加载字节码流进行类加载操作,类实例化
转载
2023-11-02 13:37:39
91阅读
如果能在APK编译期间,通过自动化工具对所有JAR、AAR包中每个类做一遍检测,检测其中调用的方法、属性的使用是否存在引用问题,将检测出疑似问题的地方在编译时进行提示,有必要的情况下直接报错终止编译,并输出错误日志来提醒开发人员检查,防止问题流入线上出现运行时异常。 原理:各子仓的Java类(或Kotlin类)在编译成AAR或JAR后,AAR、JAR中会有所有类的Class文件,我们实际上就
转载
2023-08-28 22:55:18
139阅读
在android开发的过程中,不管是开发SDK还是开发App,我们时常有这么一个需求,性能优化,或者卡顿优化,通常进行这项工作的时候,我们可能会凭着主观的一些观点,去定位排查某一部分代码,常用的手段就是在可疑代码前后加时间戳相减来手动统计,或者在运行的过程中,通过看android 自带的性能分析工具来进行优化。但这种方式难免会有疏漏,而且每段代码的执行过程也是不容易追踪的。今天就
转载
2023-12-08 08:49:21
61阅读
目录一、Android APK 查壳工具二、Xposed框架下的脱壳工具1.Zjdroid2. DexExtractor(可在真机使用)3. dexdump4. FDex2三、Frida框架下的脱壳工具(方便且持续更新)1. frida-Android脱壳2. frida-unpack3.FRIDA-DEXDump4. frida_dump5. FRIDA-APK-U
转载
2024-01-25 10:51:27
635阅读
Dalvik字节码1、寄存器位32位,64位数据(double)用两个相邻的32寄存器表示。2、两种类型:基本类型和引用类型(对象和数组) 全限定名是什么?以String为例,其完整名称是Java.lang.String,那么其全限定名就是java/lang/String;,即java.lang.String的”.”用”/”代替,并在末尾添加分号”;”做结束符. Dalvik字
转载
2023-12-12 20:32:07
24阅读