什么是花指令?当然不是"flower code",呵呵,实际上,把它按照“乱指令”来理解可能更贴切一些,它的真正英文名应该叫"thunkcode"吧(不确定,呵呵)。我们知道,汇编语言其实就是机器指令的符号化,从某种程度上看,它只是更容易理解一点的机器指令而已。每一条汇编语句,在汇编时,都会根据cpu特定的指令符号表将汇编指令翻译成二进制代码。而日常应用中,我们通过VC的IDE或其它如OD等反汇编、反编译软件也可以将一个二进制程序反汇编成汇编代码。机器的一般格式为:指令+数据。而反汇编的大致过程是:首先会确定指令开始的首地址,然后根据这个指令字判断是哪个汇编语句,然后再将后面的数据反汇编出来。由此,我们可以看到,在这一步的反汇编过程中存在漏洞:如果有人故意将错误的机器指令放在了错误的位置,那反汇编时,就有可能连同后面的数据一起错误地反汇编出来,这样,我们看到的就可能是一个错误的反汇编代码。这就是“花指令”,简而言之,花指令是利用了反汇编时单纯根据机器指令字来决定反汇编结果的漏洞。
先举个例子(记为A代码段):
jz label
jnz label
db thunkcode
label:
以上是一个相当简单的花指令块,其中thunkcode是由应用者自己随便写的机器指令字,当然,你写的这个机器指令字不能是单字节指令(比如nop, clr,等),否则,你的花指字就相当于白加了。那么,你要如何来使用这段代码呢?
假设我们待加密的代码块如下(记为B代码段):
mov ax, 8
xor ax, 77
...
我们假设这B代码段是我们的加密算法所在的代码段,现在我们想要对B代码段进行保护,可以直接将A花指令块加到mov指令之前,形如:
jz label
jnz label
db thunkcode
label:
mov ax, 8
xor ax, 77
...
其中,对于thunkcode,在实际使用时,可以使用任何一个多字节指令的机器指令字来代替,这样就会欺骗反汇编软件将它连同后面的mov指令的前边某一部分反汇编成一个多字节指令。这样,我们的目的也就达到了。
由上可以看到,使用了花指令的地方,一般都会出现这样的现象:一个跳转指令,跳转到了某条语句的中间位置,而不是这条语句的开始位置。每当出现这种情况时,我们就可以断定,这里出现了花指令。
显然地,破解它的办法,就是在那个跳转到的目的地址之前将中间的代码全部nop掉。
当然,为了加强难度,我们可以将若干个花指令结合起来使用。比如:
jz label
jnz label
db thunkcode
label:
jz label2
jnz label2
db thunkcode
lable2
mov ax, 8
xor ax, 77
...
也当然,针对这种情况的破解只要一层层解开它即可:我们可以先破解到以label为首字节的指令出现为止,然后再根据新的结果,破解到以label2为首字节的指令出现为止,虽然这样麻烦点,但还是不难的。
但是,如果把下面的这段代码再同其它花指令结合起来使用,可能就更复杂了:
call label_1
db thunkcode
jmp label_2
db thunkcode
label_1:
pop eax
jmp label_3
db thunkcode,thunkcode,thunkcode
label_3:
inc eax
jmp label_4
db thunkcode,thunkcode,thunkcode
label_4:
jmp eax
db thunkcode
label_2:
....
这里还有一段:
call label_1
db thunkcode,thunkcode
jmp label_4
label_1:
pop eax
jmp label_2
db thunkcode,thunkcode
label_2:
add eax,2
jmp label_3
db thunkcode
label_3:
push eax
ret
db thunkcode
label_4: ....
为了加强难度,尽可能地用call和push实现间接跳转,当然,矛矛盾盾,只是时间长点而已,世上没有绝对安全的系统。
加花指令的确没有改变特征码的位置,但是他改变了程序执行顺序,有的也能改变文件结构。使杀毒软件扫描的时候跳到花指令处,即判断没有病毒。通常情况下,在文件免杀的时候,加花指令是最简单、有效的方法,而且一般能通杀很多杀毒软件,所以一般文件免杀通用此法,前提是你的花指令不是常用的,最好能自己做出你个人的花指令,才会很有效。
免杀,顾名思义就是说避免被杀毒软件查杀!
免杀的方法也有很多种,针对不同的情况我们运用不同的免杀方法。
⒈文件免杀:加花/修改文件特征码/加壳/修改加壳后的文件。
⒉内存免杀:修改特征码。
⒊行为免杀。
现在我来揭开免杀神秘的面纱。(这里不对免杀做深入讨论,只对原理进行分析,毕竟这不是黑客教程)
加花
加花是病毒免杀的常用手段,加花原理就是通过添加加花指令(一些垃圾指令,类似加1减1之类的无用语句)让杀毒软件检测不到特征码。加花可以分为加区加花和去头加花。(只做了解,不做解释)
特征码修改
加花以后一些杀毒软件就认不出来了,但有些比较强的杀毒软件,像卡巴斯基这类,可能还是会被杀,这时就要定位特征码修改了,要修改特征码,就要先定位杀毒软件的病毒库所定位的特征码,这个有一定难度,特别是复合特征码的定位,但复合特征码虽然增加了定位特征码的难度,但复合特征码也有它的弱点,因为定义复合特征码需要单个特征码几倍的病毒库,不方便用户的病毒库升级,所以除了特别流行的病毒,杀毒软件厂商并没有做太多的复合特征码。
定位了特征码之后就应该修改特征码了,主要方法有两种:直接修改法,跳转修改法。
直接修改法利用的是等效指令替换,或者指令顺序的改变不影响执行的效果。还有一种是如果特征码是ASCll码,可以直接修改大小写,大写替换小写,小写替换大写。
跳转修改发比较简单,主要原理是把有特征码的那段NOP掉,然后把NOP掉的那段语句写入空白的0000区,在通过JMP跳转连接起来,让杀毒软件找不到特征码,从而达到免杀的目的。
加壳
加壳的原理是给原程序加上一段保护程序,有保护和加密功能,运行加壳后的文件先运行壳再运行真实文件,从而起到保护作用。
脱壳当然就是去掉保护程序
想要加壳后能达到免杀的效果
那就要加最新的免杀壳!!!!
要采纳哈。
您好,朋友!
学习黑客也不是一天两天的事。
要自己的努力才行的。
你要多努力去学习才可以达到很高的一种境界。
现在全套的很少。
我以前得到过一个黑客大高的建议。
用过一套教程
这套教程完全不同于往日的教程
他是全套的,既包括视频,又包括电子书,既有教程,又有软件!
实在很难得。
这个黑客教程,以前是经过一个黑客高手推荐的。
后来也要自己努力才行的!
不过这套教程是管用!
一般人无论有无基础都可以学会
堪称是一套经典的从入门到精通必备教程。
里面不仅包括从入门到精通的高清视频全套教程
还包括各种各样的软件。
这套教程,任何人看到都会心动的!
不要说我这个黑客迷了。呵呵,推荐给你吧
花指令 用OD打开程序 自己找点0区域 让后NOP填充 保存一下看看那能用不 让能保存 就是可以用 让后直接写要汇编代码 至于花指令 自己去网上搜 很多 也可以 自己变异一下 效果好点 不过现在写反调试 好点
不太懂的话还是不要乱加
先下个工具,给要加花的程序加一段空区域段
然后在这一段空区域加花
比如跳转,算法什么的
好点的花指令能过N多杀软,一般就加加减减的花没啥用,当时过了过两天又不免了
一.花指令相关知识:
其实是一段垃圾代码,和一些乱跳转,但并不影响程序的正常运行。加了花指令后,使一些杀毒软件无法正确识别木马程序,从而达到免杀的效果。
二.加花指令使木马免杀制作过程详解:
第一步:配置一个不加壳的木马程序。
第二步:用OD载入这个木马程序,同时记下入口点的内存地址。
第三步:向下拉滚动条,找到零区域(也就是可以插入代码的都是0的空白地方)。并记下零区域的起始内存地址。
第四步:从这个零区域的起始地址开始一句一句的写入我们准备好的花指令代码。
第五步:花指令写完后,在花指令的结束位置加一句:JMP 刚才OD载入时的入口点内存地址。
第六步:保存修改结果后,最后用PEditor这款工具打开这个改过后的木马程序。在入口点处把原来的入口地址改成刚才记下的零区域的起始内存地址,并按应用更改。使更改生效。
三.加花指令免杀技术总节:
1.优点:通用性非常不错,一般一个木马程序加入花指令后,就可以躲大部分的杀毒软件,不像改特征码,只能躲过某一种杀毒软件。
2.缺点:这种方法还是不能过具有内存查杀的杀毒软件,比如瑞星内存查杀等。
3.以后将加花指令与改入口点,加壳,改特征码这几种方法结合起来混合使用效果将非常不错。
四.加花指令免杀要点:
由于黑客网站公布的花指令过不了一段时间就会被杀软辨认出来,所以需要你自己去搜集一些不常用的花指令,另外目前还有几款软件可以自动帮你加花,方便一些不熟悉的朋友,例如花指令添加器等。
五.常见花指令代码
1。 VC++ 5.0
PUSH EBP
MOV EBP,ESP
PUSH -1
push 515448
PUSH 6021A8
MOV EAX,DWORD PTR FS:[0]
PUSH EAX
MOV DWORD PTR FS:[0],ESP
ADD ESP,-6C
PUSH EBX
PUSH ESI
PUSH EDI
jmp 跳转到程序原来的入口点
2。c ++
push ebp
mov ebp,esp
push -1
push 111111
push 222222
mov eax,fs:[0]
push eax
mov fs:[0],esp
pop eax
mov fs:[0],eax
pop eax
pop eax
pop eax
pop eax
mov ebp,eax
jmp 跳转到程序原来的入口点
亲爱的父亲和儿子:你胆小!这是你母亲在除夕后第一次写给父亲和儿子的怀疑。我希望 怀疑能给你带来更多的快乐 战争...
除夕 教学生涯 对付 我们来说都是长度 往往是主要 的一个阶段,也是我们熟悉之外的一个转折点。除夕 教行把毕业...
启动简欠的感激 怀疑先生 大概 很多 人都想写一篇感激 怀疑,给老公 ,因为 他教我们如何 来谋生 ,如何 与...
基本 情况 。总结必须 有一个概念叙述,有些简单,有些比较 具体 。该部门 次要分析 主观前提 、劣缺陷 、事...
电力平安 口吃懂 怎么写?上面是给除夕 野带几部电力平安 小我 口吃理解 范文,供参考。领会 口患?一尔针对变...
事情 的时刻 ,每个人都必须 写自己 的事情 总结,所以对于 新员工,如何写自己 的事情 总结?昨天给除夕带来...