首页
社区
课程
招聘
[讨论][vmprotect+ASProtect混合壳]
发表于: 2007-8-26 01:33 7605

[讨论][vmprotect+ASProtect混合壳]

2007-8-26 01:33
7605
先用vmprotect的SDK对关键代码进行虚拟机处理,
然后把变换后的文件用ASProtect加壳 (暂时没有加ASProtect SDK)

发现这2个壳在一起用出错比较多,经常造成程序无法运行或运行错误,
我想可能因为ASProtect中也用了代码变形或者虚拟机技术,所以会与vmprotect有所冲突。
(ASProtect所有选项都去掉,运行还是出问题,不知道有没有方法使ASProtect对vmprotect虚拟处理过的部分不要再进行变形处理)

同时,用vmprotect+Themida进行了混合壳测试,运行基本正常。

因为vmprotect对性能的影响比较明显,所以只用vmprotect对关键代码进行保护,其余的部分交给外层的壳来做。(当然加的壳只是增加了一些强度,也是对混合壳的小研究,并不是希望通过壳实现软件的保护)

请教用过的朋友vmprotect与哪种壳同时使用比较稳定?   

(ASProtect是不是强度比Themida大些,因为ASProtect测试时间长些,所以觉得SDK做的挺不错的,如果有可能还是想vmprotect+ASProtect混用)

请高手赐招~~  

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (6)
雪    币: 207
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2

用vmprotect的SDK对关键代码进行虚拟机处理


关键代码要选好,对性能要求高的就不要用VM了
2007-8-26 02:53
0
雪    币: 200
活跃值: (50)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
VMProtect 和 EXECryptor 组合效果还可以。目前未遇到异常的情况。你可以试试看。
不过,VM的SDK段,不要和 EXECryptor 的SDK段重合,否则很容易出错。
2007-8-26 11:00
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
多谢mervynlove,exky大侠

实在不行就用ASProtect或者Themida自带的SDK虚拟机处理一下,据说Themida的虚拟机强度不比VMProtect低,比较关键的地方再用下VMProtect。

单独用了下Themida的SDK虚拟机和替换,不太稳定,看来虚拟的部分需要多测试一下。

VMProtect+EXECryptor不错,运行挺稳定的,我这边的瑞星没报毒,发出去测试看看。

ASProtect的帮助里多态变换的SDK比较有用,请问这是不是就是虚拟机处理?但是只有开始标志,没有结束,
是不是结束默认到函数结束?有没有更好的方法控制下呢。
#include "include\aspr.h"  
VOID Test  
{  
USER_POLYBUFFER  
// some code   
}  

2007-8-26 13:36
0
雪    币: 207
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
Delphi example:  


 Procedure Test;  
 
 begin  
 
  

 {$I Inc\UserPolyBuffer.inc}  
 
  

 // some code  
 
 end;  
 
  


 VC example:  
 
  

 #include "include\aspr.h"  
 
 VOID Test  
 
 {  
 
  

 USER_POLYBUFFER  
 
  

 // some code  
 
 }  
 
  


 NOTE! Try to avoid operators that change procudure logic before polymorphic marker. This version doesn't support marks inside cycles, so please, place them outside the cycles and don't use the code like this:  
 
  

 begin  
 
  

 repeat  
 
  

 {$I Inc\UserPolyBuffer.inc}  
 
  

 // some code  
 
 until ...;  
 
  

 // some code  
 
 end;  
 

Polymorphic 使用根据说明应该是从SDK"标志"开始,到end(delphi)或者右大括号(C)结束,但不能用在循环语句里.
2007-8-27 01:21
0
雪    币: 325
活跃值: (97)
能力值: ( LV13,RANK:530 )
在线值:
发帖
回帖
粉丝
6
Themida的虚拟机这么好不用。。。。
2007-8-27 01:35
0
雪    币: 208
活跃值: (40)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
7
我也有和楼主同样的问题,不过我感觉好像和程序本身的语言有较大的关系。我用VMProtect+ASProtect加Delphi的EXE就很容易出错,一般要加好几次才能成功,不成功的一运行exe就会提示内存访问错(我是在EXE的开始执行的地方就加了VMProtect的SDK的)。但我用在VC写的Dll上时,好像一直都很稳定。
2007-8-27 12:59
0
游客
登录 | 注册 方可回帖
返回
//