-
-
[旧帖]
[原创]木马高级免杀修改特征码需要熟练掌握的全部汇编语言
0.00雪花
-
发表于:
2011-3-1 08:33
1347
-
[旧帖] [原创]木马高级免杀修改特征码需要熟练掌握的全部汇编语言
0.00雪花
一.机器码
ultraedit打开
修改程序时必须通过修改机器码来修改exe文件
二.需要熟练掌握的全部汇编知识
cmp a,b 比较a与b
mov a,b 把b的值送给a
ret 返回主程序
nop 无作用 no operation的的简单,意思是do nothing
call 调用子程序
je 或 jz 若相等则跳(机器码74或0F84)
jne 或 jnz 若不相等则跳(机器码75或0F85)
jmp 无条件跳(机器码EB)
jb 若小于则跳
ja 若大于则跳
jg 若大于则跳
jge 若小于则跳
jl 若小于则跳
jle 若小于等于则跳
pop 出栈
push 压栈
三.常见修改(机器码)
74=>75 74=>90 74=>EB
75=>74 75=>90 75=>EB
jnz->nop
75->90(相应的机器码修改)
jnz -> jmp
75 -> EB(相应的机器码修改)
jnz -> jz
75 -> 74 (正常) 0F 85 -> 0F 84(特殊情况下,有时,相应的机器码修改)
四.两种不同情况的不同修改方法
1,修改为jmp
je(jne,jz,jnz)=>jmp相应的机器码EB(出错信息向上找到的第一个跳转)jmp的作用是绝对跳
出错信息,例如:注册码不对,sorry,未注册表不能。。。
2.修改为nop
je(jne,jz,jnz)=>nop相应的机器码90(正确信息向上找到的第一个跳转)nop的作用是抹掉
[课程]Android-CTF解题方法汇总!