单机游戏下载单机游戏下载基地
最新游戏|热门游戏|游戏大全|游戏专题
压缩解压光盘工具文字输入杀毒软件文件处理转换翻译股票证券办公学习编程软件虚拟光驱
当前位置:首页应用软件编程软件 → java代码混淆助手Code Virtualizer V2.3.1.0 绿色中文版

java代码混淆助手Code Virtualizer V2.3.1.0 绿色中文版

  • java代码混淆助手Code Virtualizer截图0
< >
java代码混淆助手Code Virtualizer下载
好玩 好玩 0
坑爹 坑爹 0
  • 应用语言:中文
  • 应用大小:6.3M
  • 更新时间:2017-09-18 18:35
  • 发行时间:
  • 应用类型:普通
  • 应用标签: java
CodeVirtualizerjava代码混淆助手是一款非常实用的程序代码混淆软件。有什么好用的源代码混淆工具?CodeVirtualizerjava代码混淆助手的优秀有目共睹。专门为帮助开发人员保护代码区域免受逆向工程而开发的小型软件,软件能够对代码数据进行加密并将其转换成其[更多]
应用介绍

Code Virtualizer java代码混淆助手是一款非常实用的程序代码混淆软件。有什么好用的源代码混淆工具?Code Virtualizer(java代码混淆助手)的优秀有目共睹。专门为帮助开发人员保护代码区域免受逆向工程而开发的小型软件,软件能够对代码数据进行加密并将其转换成其他用户无法读取和解释的格式,欢迎下载。

功能特点:

1、通过多个虚拟机进行混淆。

2、每个受保护的应用程序的独特保护。

3、保护任何x32和x64应用程序和设备驱动程序。

4、高级突变引擎。

5、代码重定位以保护DLL和设备驱动程序。

6、在独特的虚拟机内仿真任何Intel x86操作码。

7、每个受保护的应用程序的唯一虚拟操作码。

8、完全兼容任何压缩机/保护器。

9、命令行保护。

教程:

先把Code Virtualizer的虚拟机简单说一下,这里把我们自己的程序运行空间叫做宿主吧。cv虚拟机的所有运算的操作都在宿主的堆栈中完成。

cv自己的存放宿主程序的寄存器及解析例程的结构叫vm_context,所有操作的都是由一个叫vm_data数据块来驱动的。这里面的数据会指示cv的虚拟机如何取指令计算出新的数据。

程序运行进入cv虚拟机后,edi的值始终不变,一直指向vm_context(在Ryosuke的里面叫VM_BLOCK都是一个意思)的首地址。

从偏移0 ~ 0x1c 存放的是宿主的寄存器,但每次都会变,这个是按某种顺序的变化的。

esi指向vm_data结构,每执行一个dispatch,esi不断的增加。

eax的用处就是从esi中读取数据,进行运算,获得解析例程的dispatch号码。或者是vm_context的某个相对偏移地址(cv里面为了操作某个结构)

ebx就是参与计算用的,和vm_data中的数据运算,用来获得有效的eax

edx是个临时的变量,cv在宿主堆栈的运算中,常用edx做临时变量来存放数据

ebp,esp 基本没有太大用处,参与一些混淆代码的计算。
   struct vm_context
   {
  DWORD  vm_off_00;     +0
  DWORD  vm_off_04;     +4
  DWORD  vm_off_08;     +8
  DWORD  vm_off_0c;     +0c
  DWORD  vm_off_10;     +10
  DWORD  vm_off_14;     +14
  DWORD  vm_off_18;     +18
  DWORD  vm_off_1c;     +1c
  DWORD  vm_off_20;
  DWORD  VM_off_24;
  DWORD  VM_ecx_value;
  DWORD  VM_off_2c;  
  DWORD  VM_busy_flag;
  DWORD  VM_off_34;
  DWORD  VM_off_38;
  DWORD  VM_off_3c;
  DWORD  VM_off_40;
  DWORD  VM_off_44;
  DWORD  VM_off_48;
  DWORD  vm_context_xxx1;
  DWORD  VM_dispatch_xxx2;
  DWORD  VM_dispatch_xxx3;
  ...
   }
    
  下面就测试这么一个例子:
 
  .data 
  t_buff  db 100 dup(090h) 
  t_txt   db "test",0
  t_title db "codevirtualizer",0
  .code

  START:  
  
  mov     eax,offset t_buff
  
  call    VirtualizerStart    
  mov     dword ptr[eax],01234567h  ; 既然小窥,先只测试这一条语句吧,对cv的分析可以在里加入不同的语句一点一点分析    
  call    VirtualizerEnd
  
  invoke  MessageBox,0,offset t_txt,offset t_title,0
  invoke  ExitProcess,0

  end START
  
  分别在Protection Options中选择这两种个加一次

          Virtual Opcodes Obfuscation :Low ,Highest  
          Virtual Machine Complexity  :Low ,Highest 
          Opcodes Mutation            :Low ,Highest 
          
  分析后可以发现再混淆方面差别并不是太大。          

  进入VM之前先保存程序最初的环境

  EAX 00403000  
  ECX 0013FFB0
  EDX 7C92E514  
  EBX 7FFDE000
  ESP 0013FFC0
  EBP 0013FFF0
  ESI 00000068
  EDI 0013B790
  EIP 004034EC CV_TES~3.004034EC
   
  EFL 00000246 (NO,NB,E,BE,NS,PE,GE,LE)
 
  
  软后先压入VM_DATA
  00407083     68 1A704000        push CV_TES~3.0040701A  -----VM_DATA
  00407088   ^ E9 5FC4FFFF        jmp CV_TES~3.004034EC

  VM_DATA 内容每次加壳后都变化
  0040701A  3F 1E E1 D0 F8 5F A0 8F B7 A4 5B 4A 72 E4 1B 0A  ?嵝鴂爮筏[Jr?.
  0040702A  32 2A D5 C4 5F D9 C0 9C 63 52 7A DE 21 10 38 21  2*漳_倮渃Rz?8!
  0040703A  DE CD F5 65 9A 89 11 74 22 9F 40 20 7A DD 43 EF  尥鮡殙t"烜 z軨
  0040704A  45 05 C3 7B DD 74 54 43 A9 25 6B BD 85 1A EF 01  E脅輙TC?k絽?
  0040705A  00 00 00 FB 59 04 FB 59 C7 93 6C CA 38 21 DE 3C  ...鸜鸜菗l?!?
  0040706A  AA AE 51 AF 1D 3F C0 1E 8C D0 2F 8D FB 5B A4 02  Q???屝/嶜[?
  0040707A  70 EB 14 72 E0 77 88 E6 B8 68 1A 70 40 00 E9 5F  p?r鄔堟竓p@.開
  0040708A  C4 FF FF 00 00 00 00 00 00 00 00 00 00 00 00 00  ?.............

  通过重定位获得自身数据及处理例程的偏移,设置重定位标志,如果是dll还要重新定位。

  004034EF     E8 00000000        call CV_TES~3.004034F4   ; 重定位自身
  004034F4     5F                 pop edi
  004034F5     81EF F4344000      sub edi,CV_TES~3.004034F4
  004034FB     8BC7               mov eax,edi
  004034FD     81C7 00324000      add edi,offset <CV_TES~3.vm_dispatch> ;定位edi为vm_context 
  00403503     3B47 2C            cmp eax,dword ptr ds:[edi+2C]
  
  
  00403556     AC              lods byte ptr ds:[esi]  ;此处进入虚拟机,知道遇到vm_exit,才退出。
  00403557     04 81           add al,81
  00403559     04 90           add al,90
  0040355B     00D8            add al,bl
  0040355D     2C 90           sub al,90
  0040355F     E9 080A0000     jmp CV_TES~3.00403F6C

相关应用
下载地址

java代码混淆助手Code Virtualizer V2.3.1.0 绿色中文版

    热门评论

    最新评论

    发表评论 查看所有评论(0)

    昵称:
    表情: 高兴 可 汗 我不要 害羞 好 下下下 送花 屎 亲亲
    (您的评论需要经过审核才能显示)

    配置需求

    推荐专题

    up对战平台up对战平台

    关于飞翔 | 联系我们 | 大事记 | 下载帮助(?) | 广告联系 | 版权声明 | 网站地图 | 友情链接

    Copyright 2010-2013 单机游戏下载 (R) 版权所有 飞翔下载所有游戏及软件下载资源来源互联网,并由网友上传分享。如有侵权,请来电来函告之。
    飞翔忠告:抵制不良色情、反动、暴力游戏 合理安排游戏时间 享受健康生活【鄂ICP备13011873号-1】