首页 > 分享 > c语言加花指令,花指令的应用

c语言加花指令,花指令的应用

花指令在免杀技术中的应用与高级技巧

最新推荐文章于 2024-05-22 16:05:46 发布

转载 于 2021-05-21 23:41:52 发布 · 2k 阅读

· 0

· 11

原标题:花指令的应用

b4b09718de6aaf04b12479f4d0a4d9a0.png

对免杀的影响是非常大的,有效地利用花指令可以使免杀工作事半功倍,甚至单凭花指令就可以达到免杀的效果。

一、花指令在免杀领域的应用

1、花指令的应用技巧

在使用之前,首先我们应该明白什么时候比较适合使用,同时还要清楚什么时候不适合。总的来说,应该在无壳的木马中应用,如果木马已经被加壳,那么我们必须要先脱壳然后再添加。不管是加壳还是加都可以看作是一种加密行为,因此一般都是先加然后再加壳。

有一点需要说明的是,添加也会增加木马被启发式扫描器发现的概率,因为常见的可能本身就包含着特征码,所以究竟什么时候加,加多少是件仁者见仁、智者见智的事情。

下面将带大家进行一次典型的花指令添加操作。首先打开Ollydbg并载入我们要加花的程序,然后找到一段空白区域写入以下花指令:

21ff313767b603384625c270b1353a65.png

首先选中空白区域并按空格键,在调出的反汇编窗口中依次写入上面的指令,然后写入jmp指令跳回到原程序入口点并将程序Dump(转储)保存,最后修改OEP。

其实除了手工添加花指令外,还有一些工具也可以实现自动加花。

2、花指令的修改技巧

既然能制作出来,那么必然也可以修改它,但是的修改是否能达到我们预期的目的,是否能修改成功呢?这就需要有一定的汇编语言基础了。

花指令首先要保证不破坏堆栈平衡,或者它只能在程序可以接受的范围内进行有目的的破坏,这样才能保证程序在加花后仍可正常运行。说到这里,或许会您对“堆栈”这个名词发悚,不用担心,带着问题看下去就会明白了。

所谓的堆栈平衡,目前可以简单地理解为不影响程序的运行结果,例如我们先执行一条push eax,也就是将eax的内容压入栈,然后再执行一条pop eax,也就是将栈顶的内容取出并传递给eax,这样一存一取,对于堆栈来说没有任何影响,也就是说这时的堆栈是平衡的。

保证堆栈平衡是的制作原则,如果要在现成的上进行修改,可以使用特征码的等值替换法来修改原有的语句,例如将add eax,-3修改为sub eax,3等,或者是添加一些自己的语句,例如添加add eax,3与sub eax,3。由此不难看出,的修改其实是很简单的。

3、空白区域寻找与加空白区段

不管是通过反汇编为程序添加功能还是使用跳转法修改特征码,又或者是添加花指令等操作,都有一个共同点,那就是需要有一块比较大的0x00区域以便于我们进行修改。

相关知识

给dll加花指令
android 加花指令 花指令的作用
UPX加壳免杀添加花指令 V1.0 绿色版 下载
花指令总结
关于花指令,请问要怎么解决呢?
花指令及反混淆
花指令
花指令的原理、常用花指令收集及花指令示例
Reverse花指令及反混淆
逆向花指令入门

网址: c语言加花指令,花指令的应用 https://m.huajiangbk.com/newsview2499802.html

所属分类:花卉
上一篇: 少儿C编程教程:从零开始学习代码
下一篇: 玫瑰花镂空花编织教程