awesome-vmp关于软件虚拟化保护(如VMProtect)的资料。工具篇介绍了VM保护的现有分析工具,并进行了简单的试用分析。文章篇介绍了VM保护相关的分析文章,包括对虚拟机的分析,及一些反混淆方法。本项目发在了github上, https://github.com/lmy375/awesome-vmp如果有其他好用的工具或者优秀的文章可以留言链接或者直接在github上提交 pu            
                
         
            
            
            
            # Android 虚拟机保护实现指南
在开发Android应用程序时,保护应用的安全性极为重要。特别是,通过一些有效手段来防止应用被逆向工程,保证你的代码不被轻易破解。本文将介绍如何实现“Android虚拟机保护”,帮助刚入行的小白逐步掌握这个过程。
## 实现流程
首先,我们来概览一下整个实现的流程,如下表所示:
| 步骤 | 描述 |
| ---- | ---- |
| 1    |            
                
         
            
            
            
            打开SCVMM控制台,从库选项卡里导入防护数据,就是之前创建好的2个PDK文件  定义好区别的名称  导入完毕  确定每一个VM防护文件可以看到所有者和保护者(监护域(人))  创建受保护的虚拟机了  选择之前做好的虚拟机模板  定义新虚拟机的名称  定义新虚拟机的硬件参数  设置好新虚拟机的计算机名  选择防护级别是仅加密还是加密又防护,这里是加密又防护  指定好后,下一步  下一步  下一步            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2018-12-28 14:57:57
                            
                                413阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            于看雪论坛 对加密与解密的内容进行了一些总结、重新归纳整理,加入了自己的理解;希望对新手有所帮助。 《加密与解密》第三版 第471页虚拟机保护技术 虚拟机概览 所谓虚拟机保护技术,是指将代码翻译为机器和人都无法识别的一串伪代码字节流;在具体执行时再对这些伪代码进行一一翻译解释,逐步还原为原始代码        Read More            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2016-07-03 05:39:00
                            
                                126阅读
                            
                                                                                    
                                2评论
                            
                                                 
                 
                
                             
         
            
            
            
            作者:b1ngo前言软件防逆向工程与逆向工程相伴发展,早期的有花指令,反调试技术,代码混淆与加密,加压缩壳或者加密壳等等保护手段,这些技目前已经有了较好的解决方案,自动化的分析方法也比较成熟。目前比较前沿的软件保护技术是虚拟机保护(Virtual-Machine-Protect),当然这种虚拟化的思想也广泛用于软件开发等其他领域。最近在打一些CTF比赛的时候,感觉虚拟机保护的逆向已经成了Rever            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2023-07-04 23:04:14
                            
                                0阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            一年前这个时候,我们安利过一款名为虚拟大师 VMOS 的安卓应用。它的作用就是把安卓系统以 App 的形式运行在任意 Linux 或安卓系统上。具体来讲就是在安卓手机上,运行一个Android 5.1.1 系统。而且虚拟大师的安卓系统自带 root 权限和谷歌服务框架。对普通用户来说,可以把它当做手机分身功能、虚拟备用机使用,进行双开应用,隐私空间或是游戏挂机等操作。对极客玩家来说,自带 root            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-09-07 09:33:22
                            
                                905阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            No1: 虚拟机是指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离的环境中的完整计算机系统。 No2: Java虚拟机由如下五个部分组成:一组指令集、一组寄存器、一个栈、一个无用单元收集堆、一个方法区域。 No3: Java虚拟机中有4种寄存器: 1)pc:Java程序计数器 2)opto            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2017-10-13 16:42:00
                            
                                1859阅读
                            
                                                                                    
                                2评论
                            
                                                 
                 
                
                             
         
            
            
            
            这个一般是由于vmware快照导致的,vmware后面的快照基于前面的快照,当正在编辑快照数据,而之前的快照被修改了,就会出现这个问题(修改方式在处理方式中赘述);处理方法可以使用其他虚拟机挂载快照磁盘,然后触发*.vmdk文件的更新,从而使parentID与CID统一,快照的父子关系在*.vmdk文件中也有描述:先理清各个*.vmdk的快照父子关系然后使用另外一个虚拟机按照父子关系从前向后不断挂            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-04-27 08:34:07
                            
                                207阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            之前介绍了新建一台受保护的虚拟机,那么对于目前已经在使用的非受保护的虚拟机是否也可以进行保护和防护起来呢?当然是可以的,但防护现有虚拟机是对现有虚拟机有要求的: https://docs.microsoft.com/zh-cn/windows-server/security/guarded-fabric-shielded-vm/guarded-fabric-vm-shielding-helper-            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2018-12-28 15:03:55
                            
                                549阅读
                            
                                                        
                                点赞
                            
                                                                             
                 
                
                             
         
            
            
            
              android5.0之前使用的虚拟机是Dalvik虚拟机,这个虚拟机在JVM的基础上做了一定的优化。android5.0之后,android采用了新的虚拟机ART,本文主要对Dalvik、JVM、ART之间进行对比。##一.Dalvik虚拟机 ###1.概念   Dalvik虚拟机是Android程序的虚拟机,是Android中Java程序的运行基础。其指令集基于寄存器架构,执行其特有的文件格            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-08-31 11:39:46
                            
                                134阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            Android虚拟机的安装完成Android环境搭建后。1. 将C:\ProgramData\Microsoft\AndroidSDK\25\tools\lib下的AVD Manager.exe和SDK Manager.exe复制到根目录下,看看能否双击打开。 2. 右击SDKManager.exe,使用管理员模式打开,安装列表最下方的加速器。 如无法通过SDKManager安            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-07-16 22:18:02
                            
                                558阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            Dalvik虚拟机的特点:体积小,占用内存空间小专有的DEX 可执行文件格式,体积更小,执行速度更快常量池采用32位索引值,寻址类方法名、字段名、常量更快基于寄存器架构,拥有一套完整的指令系统提供了对象生命周期管理、堆栈管理、线程管理、安全和异常管理以及垃圾回收等重要功能所有的Android程序都运行在Android系统进程里,每个进程对应着一dalvik虚拟机实例Dalvik虚拟机与Java虚拟            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-04-21 15:21:58
                            
                                58阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
             1 什么是Dalvik虚拟机    Dalvik是Google公司自己设计用于Android平台的Java虚拟机,它是Android平台的重要组成部分,支持dex格式(Dalvik Executable)的Java应用程序的运行。dex格式是专门为Dalvik设计的一种压缩格式,适合内存和处理器速度有限的系统。Google对其进行了特定的优化,使得Dalvik具有高效、简洁、节省资源的            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-07-10 12:36:22
                            
                                127阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            <!-- @page { margin: 2cm } P { margin-bottom: 0.21cm } --> 为了挖掘Dalvik虚拟机的秘密,需要仔细分析Dalvik的每一个目录,每一个文件,才能把它的细节了然于胸。下面就开始吧! Android.mk 这个文件是虚拟机编译的makefile文件。 dalvikvm 这个目录是虚拟机命令行调用入口文件的目            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-07-26 16:17:23
                            
                                191阅读
                            
                                                                             
                 
                
                             
         
            
            
            
              Android 4.4提供了一种与Dalvik截然不同的运行环境ART(Android runtime)支持,ART源于google收购的Flexycore的公司。ART模式与Dalvik模式最大的不同在于,启用ART模式后,系统在安装应用的时候会进行一次预编译,将字节码转换为机器语言存储在本地,这样在运行程序时就不会每次都进行一次编译了,执行效率也大大提升。这种编译的方式与c++,c语言编译            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-07-09 22:50:56
                            
                                246阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            MyEclipse has detected that less than 5% of the 64MB of PermGen (Non-heap memory) space remains. It is strongly recommendedthat you exit and restart MyEclipse with new virtual machine memoryparamters             
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-06-21 22:51:19
                            
                                341阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            DalvikDalvik虚拟机是Google等厂商合作开发的Android移动设备平台的核心组成部分之一。  它可以支持已转换为.dex(即Dalvik Executable)格式的Java应用程序的运行,.dex格式是专为Dalvik设计的一种压缩格式,适合内存和处理器速度有限的系统。(dx 是一套工具,可以将 Java .class 转换成 .dex 格式. 一个dex档通常会有多个.clas            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-07-27 16:16:03
                            
                                186阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            Dalvik虚拟机存在于Android系统,JVM是Java虚拟机,两者都是虚拟机,它们之间有什么区别呢?本文就对两者进行比较,讲述它们的不同。1.定义:Dalvik虚拟机是Google等厂商合作开发的Android移动设备平台的核心组成部分之一。它可以支持已转换为.dex(即Dalvik Executable)格式的Java应用程序的运行,.dex格式是专为Dalvik设计的一种压缩格式,适合内            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-08-29 16:41:17
                            
                                331阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            这里写自定义目录标题虚拟机介绍SDK打包过程ADB模拟器简介以及创建Android工程目录结构 虚拟机介绍Android的系统架构采用了分层架构的思想,从上层到底层共包括四层,分别是应用程序程序层(java)、应用框架层(java)、系统库(C/C++,开源)和Android运行时(dalvik虚拟机)和Linux内核(硬件驱动)。一层调一层。图片: java代码运行在虚拟机中,java标准的虚            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-07-03 21:09:16
                            
                                39阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            准备进入安卓开发的行列,开始几篇基础文章的总结,获取并不怎么针对开发应用,仅仅是为自己多了解一些。本文对部分安卓基础知识的总结:Dalvik虚拟机(DVM)、Android基本架构、Android的启动过程一、Dalvik虚拟机(DVM)(1)Android系统可以简单地完成进程隔离和线程管理,每一个Android应用都在底层会对应一个独立的Dalvik虚拟机实例,其代码在虚拟机的解释下得以执行。            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-08-31 15:27:17
                            
                                171阅读