能力值:
( LV2,RANK:10 )
26 楼
看不懂啊...
能力值:
( LV2,RANK:10 )
27 楼
同意玩命的说法,感觉楼主有点自己把自己绕进去了。加密函数拆了然后随机绕两圈,确实让人都晕跟不用说杀毒软件,但仔细想想,你如何保证你的随机调用过程可逆?总得让解密后的程序能run吧。要不只是解密函数觉乱了没什么用呀,但解密出来的东西也乱了,那就不好了吧。这也是为什么前辈的花指令变换的用处。不管怎么变,咱功能不变。
Anyway, 你的随机加密函数用的函数没有特征么?
最后,还是风月说地,杀毒可以不捕捉你加密过程,VM技术以及 很高了,污点传播技术也很厉害了,楼主不妨看看先。
不过有想法就很不错
能力值:
( LV2,RANK:10 )
28 楼
楼主的想法不错~~~
如果将一个函数拆成多个,然再随机调用的话,产生的结果必然也是随机的的.
那解密时如何确定是随机中的哪一种呢?
像国产的杀软 东方微点,是以程序行为来判断的.不管你程序内部做何处理,程序要达到的目的肯定是一样的,微点只在将要产生危害系统行为的时候,再做处理.
楼主这种方法用在防破解上应该可以.
能力值:
( LV8,RANK:122 )
29 楼
收藏了慢慢看
能力值:
( LV3,RANK:20 )
30 楼
启发式杀毒也不行吗? 你要运行你的函数就的"凑"到一起, 凑到一起就过不了启发
能力值:
( LV12,RANK:760 )
31 楼
可以杀,不管加了多少密~~
不过动态多少,你最后的CPU指令流程是可以标记的就可以杀~~
能力值:
( LV9,RANK:220 )
32 楼
这个和启发式有关系吗?
多态本就是为了躲避解密头特征码扫描。
对付现在的av只需要 加密 + Anti启发引擎。只要让启发引擎模拟不到我们真正的解密入口点,即可。说白了,现在的多态是为了躲避DNA。
能力值:
( LV2,RANK:140 )
33 楼
xfish开专题讲讲啥叫特征码吧,这样我们才能理解为啥多态能躲避特征码扫描~~~~
能力值:
( LV4,RANK:50 )
34 楼
"不过动态多少,你最后的CPU指令流程是可以标记的就可以杀~~"
vxk这样说了,启发式就不是简简单单的扫描了。
"对付现在的av只需要 加密 + Anti启发引擎"
说的太绝对了
说实话,捅个洞好捅,修堵墙难修....。
xfish是专业反病毒的还是专业写病毒的呀,
能力值:
( LV12,RANK:760 )
35 楼
LS既然提到了我,我就来简单说下XX标记法启发吧~
假设病毒使用API A,B,C,D这四个
流程是
A(参数1) B(参数2) C(参数3) D(参数4)
于是可有启发特征:调用序ABCD,参数为参数1,参数2,参数3,参数4
启发虚拟执行获得某程序C.EXE含有同样的序列,则为可疑文件...
这种序列很黄很暴力...
主要是要绕过启发引擎,否则一切努力都是白费的,而且现在启发引擎连自造型HEAP OVERRUN法都模拟了~~
能力值:
(RANK:570 )
36 楼
只要有虚拟机或者主动防御支持,执行过程中的任意状态或者动态序列(无论是何种序列),都是可以作为特征的
假如只能静态扫描,特征只能提代码,那LZ的方案,我个人认为很不错
能力值:
( LV6,RANK:80 )
37 楼
多态解密引擎本身 使用递归与循环进行大数计算. 当每一次计算出的结果满足某一条件时进行一次解密.
整个解密过程 需要在大数计算完成后才完成.
大数计算所花时间 大于三十秒.
再者,
就我现在提出的方案中, 在函数调用过程中随机加入无用参数,或者调动参数顺序都是很简单的事.
能力值:
( LV6,RANK:80 )
38 楼
在一个大数运算中 加入代码解密部分.
大数运算足够长的时间 . 虚拟启发引擎跑不出大数运算过程. 至于主动防御"特征", ...这不是一个多态引擎所能对付的
能力值:
( LV6,RANK:80 )
39 楼
启发虚拟执行获得某程序C.EXE含有同样的序列,则为可疑文件... 这种序列很黄很暴力...
如果现在的杀毒软件查毒引擎仅仅如此, 那真的确实太弱了.
也难怪"主动防御"横行.
也难怪, 引擎再强, 也只是循环和递归(个人认为)
能力值:
(RANK:570 )
40 楼
LZ放开思想
想想算法书上对程序行为判定方面的结论,再想想杀软杀的到底是什么
序列也是一样,可用的不止API
某个瞬间虚拟机的状态本身就能作为一种特征
你只能对抗你想到的检查方法,而虚拟机的运用还有很多方式
能力值:
( LV6,RANK:80 )
41 楼
呵呵.
你讲的这个 "某个瞬间虚拟机的状态本身就能作为一种特征"
我真的不懂. :)
希望如你所讲,我看到的东西很片面. 如果杀毒软件真像我想的那样弱, 那就真郁闷了.
能力值:
( LV6,RANK:80 )
42 楼
寒
"某个瞬间虚拟机的状态本身就能作为一种特征"
顿悟..
能力值:
( LV6,RANK:80 )
43 楼
不过,我还真的是在这里被"伤害"了
一个AddSection 都给个精华, ExpandSection却什么都没有...
不过也无所谓了, 开始迷python了
能力值:
(RANK:570 )
44 楼
不是你看的东西片面,而是你没有进一步想.
你针对的是别人曾经告诉过你的,虚拟机通过把程序跑起来,直到解密好了,再执行扫描.
在仅仅知道虚拟机这么用的时候,你的方法的确是可以针对这一点的.
但是虚拟机和主动防御一样,都不是某种具体的方法,而是实现更多玩法的平台
就像有人拿主动防御弹窗口,有人拿主动防御特征扫描,以及更多的玩法
能力值:
( LV4,RANK:50 )
45 楼
把行为看作特征,那后面看用什么方式和角度来抽象行为了。
不能说100%查,也不能说100%反,概率问题。
能力值:
(RANK:570 )
46 楼
知道不?为什么多态病毒出现得更早,后来却加壳而不用多态?
那是因为正常软件也会加壳.
如果正常软件不用,这么有特色的多态引擎,你用虚拟机为这个引擎提特征,你觉得有难度嘛?
能力值:
(RANK:570 )
47 楼
既然这么多人有兴趣,给大家看看WIKI上对启发式这个英文的解释.其实当你用了启发式这个词,而某个问题又不是无解,基本就等于你把解说出来了.就像是说所有有限密钥在无限时间内都能被破解一样正确
Heuristic (/hjʊˈrɪs.tɪk/) is an adjective for methods that help in problem solving, in turn leading to learning and discovery. These methods in most cases employ experimentation and trial-and-error techniques. A heuristic method is particularly used to rapidly come to a solution that is reasonably close to the best possible answer, or 'optimal solution'. Heuristics are "rules of thumb", educated guesses, intuitive judgments or simply common sense.
能力值:
( LV6,RANK:80 )
48 楼
这就是杀毒软件的弱点咯
能力值:
( LV12,RANK:420 )
49 楼
加壳很快就要end of the road了~
能力值:
(RANK:570 )
50 楼
这就是杀毒软件的真相,不是判断程序的行为,而是判断你的东西有多少误报正常程序的风险.
如果没有正常程序用你的东西,就可以随便报.
关键不是你有多少种变化,而是你跟正常人不一样
你要把丝袜套头上进银行,立刻就引起保安注意了
但是你坐宝马到银行门口,再一堆保镖跟着你,你就是来抢劫银行的,在没告诉保安之前,他都以为你是大客户