能力值:
( LV2,RANK:10 )
|
-
-
2 楼
简单说一下,很多杀毒软件都是靠多处检测特征码来判断是不是病毒的(所以病毒要有多态性)。同理,加壳软件要防止被误认为是病毒,成本最低且很有效的办法就是花指令和代码变形,最有效的时候应该是OEP附近添加。楼主你说吧PUSH改为POP,可以啊,关键是这些POP会被执行吗?
比如
push 1h
改写为
mov eax,1h
db 0ebh,002h ;这串花指令意思就是jmp到 0e8h 下一个指令(@a处)开始继续执行
pop eax ;这个POP 不执行
db 0e8h ;这个花指令就是配合“隐藏”push eax的。
@a:
push eax
第一行花指令这样就达到了隐藏 push eax 的目的。
这种方法一方面能防止杀毒软件误报,而且能防止跟踪。上面的代码很初级,实际上可以改写的很长很难看懂。这些技术是壳必用的一些技术,尽管没啥技术,但是越是笨办法配合其他技术反而变成好办法。
|
能力值:
( LV2,RANK:10 )
|
-
-
3 楼
不一样的感觉,毛瑟顿开
|
能力值:
( LV12,RANK:210 )
|
-
-
4 楼
学习一下。
|
能力值:
( LV2,RANK:10 )
|
-
-
5 楼
呵呵,真得佩服其汇编代技术
|
能力值:
( LV9,RANK:180 )
|
-
-
6 楼
LZ说的若是OEP的第一条
那就不是这个解释了.
|
能力值:
( LV2,RANK:10 )
|
-
-
7 楼
谢谢指点 学到很多
|
能力值:
( LV2,RANK:10 )
|
-
-
8 楼
请解释下那种情况吧............谢谢
|
能力值:
( LV2,RANK:10 )
|
-
-
9 楼
不错,学习了
|
能力值:
( LV2,RANK:10 )
|
-
-
10 楼
有大虾来解释下这种情况吗,给点提示也好。
|
能力值:
( LV9,RANK:180 )
|
-
-
11 楼
近100%的软件结束是调用 API , Ex: ExitProcess
OEP 第1条的 push ebp 变成了垃圾, 不用考虑Stack平衡.
所以有人将之改成 pop
我倒是认为LZ问的问题较属于这种.
|
能力值:
( LV2,RANK:10 )
|
-
-
12 楼
学习了,我也倾向LZ问的问题属于这种。最近在找如何狙击ESP定律的办法,精华7有篇文章提及了一点:回复里说,很多时候软件不会通过堆栈结束。
|
能力值:
( LV2,RANK:10 )
|
-
-
13 楼
谢谢指教 谢谢指教
|
能力值:
( LV2,RANK:10 )
|
-
-
14 楼
很多人免杀时经常把PUSH 换成pop
本人感觉一点都不等价 为什么程序还能正常运行|?
|
能力值:
( LV2,RANK:10 )
|
-
-
15 楼
ls的怎么还不明白呢?关键是看你的改的pop有没有使得软件运行,或者是不是跟push正好对应的那个!
|
能力值:
( LV2,RANK:10 )
|
-
-
16 楼
也进来学习学习
|
能力值:
( LV2,RANK:10 )
|
-
-
17 楼
新手,刚进来,要多看看看
|
|
|