c++花指令:

00460000: 55                             PUSH EBP
00460001: 8B EC                          MOV EBP,ESP
00460003: 6A FF                          PUSH FF
00460005: 68 2A 2C 0A 00                 PUSH 000A2C2A
0046000A: 68 38 90 0D 00                 PUSH 000D9038
0046000F: 64 A1 00 00 00 00              MOV EAX,FS:[00000000]
00460015: 50                             PUSH EAX
00460016: 64 89 25 00 00 00 00           MOV FS:[00000000],ESP
0046001D: 58                             POP EAX
0046001E: 64 A3 00 00 00 00              MOV FS:[00000000],EAX
00460024: 58                             POP EAX
00460025: 58                             POP EAX
00460026: 58                             POP EAX
00460027: 58                             POP EAX
00460028: 8B E8                          MOV EBP,EAX
0046002A: B8 98 CA 44 00                 MOV EAX,0044CA98
0046002F: FF E0                          JMP EAX
00460031: 90                             NOP
00460032: 00 00                          ADD [EAX],AL
00460034: 00 00                          ADD [EAX],AL
00460036: 00 00                          ADD [EAX],AL
00460038: 00 00                          ADD [EAX],AL
0046003A: 00 00                          ADD [EAX],AL
0046003C: 00 00                          ADD [EAX],AL
0046003E: 00 00                          ADD [EAX],AL

OEPCODE: THEAD =
   ($55, $8B, $EC, $6A, $FF, $68, $2A, $2C, $0A, $00, $68, $38,
    $90, $0D, $00, $64, $A1, $00, $00, $00, $00, $50, $64, $89,
    $25, $00, $00, $00, $00, $58, $64, $A3, $00, $00, $00, $00,
    $58, $58, $58, $58, $8B, $E8, $B8, $00, $10, $40, $00, $FF,
    $E0, $90, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
    $00, $00, $00, $00);

网上收集了几个花指令!
 
 
 
花指令:
push ebp
mov ebp,esp
inc ecx
push edx
nop
pop edx
dec ecx
pop ebp
inc ecx
jmp 原入口

1。伪装 vc

VC++程序的入口代码:
PUSH EBP 
MOV EBP,ESP 
PUSH -1 
push 415448 -/___
PUSH 4021A8 -/ 在这段代码中类似这样的操作数可以乱填 
MOV EAX,DWORD PTR FS:[0] 
PUSH EAX 
MOV DWORD PTR FS:[0],ESP 
ADD ESP,-6C 
PUSH EBX 
PUSH ESI 
PUSH EDI 
ADD BYTE PTR DS:[EAX],AL /这条指令可以不要!
jmp 跳转到程序原来的入口点

2。跳转

somewhere: 
nop /"胡乱"跳转的开始...
jmp 下一个jmp的地址 /在附近随意跳
jmp ... /...
jmp 原入口的地址 /跳到原始oep

<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
新入口: push ebp
mov ebp,esp
inc ecx
push edx
nop
pop edx
dec ecx
pop ebp
inc ecx
loop somewhere /跳转到上面那段代码地址去!

3.C:
融合
把A的代码换成B的
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 老入口

4. 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

5.Microsoft Visual C++ 6.0
PUSH -1
PUSH 0
PUSH 0
MOV EAX,DWORD PTR FS:[0]
PUSH EAX
MOV DWORD PTR FS:[0],ESP
SUB ESP,68
PUSH EBX
PUSH ESI
PUSH EDI
POP EAX
POP EAX
POP EAX
ADD ESP,68
POP EAX
MOV DWORD PTR FS:[0],EAX
POP EAX
POP EAX
POP EAX
POP EAX
MOV EBP,EAX
JMP 原入口

6.
在mov ebp,eax
后面加上
PUSH EAX 
POP EAX

7.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

另外附上几个在线破解MD5的网站

国外——
http://md5.rednoize.com/
这个站是一个搜索引擎的形式.支持双向转换,即:MD5散列-〉字符串 字符串-〉MD5散列
这个使用比较简单,在上面的文本框中输入MD5散列或者字符串,即可得到相应的字符串或者MD5散列,当然,必须是其数据库中有记录的.
目前拥有1,963,442条记录
http://www.milw0rm.com/md5/list.php
这个站目前拥有一万多条记录
-::MD5 HASH中显示的是MD5散列
-::PASS中显示的是字符串,也就是破解出来的密码,但是也有-notfound-出现
-::STATUS中显示的是当前的状态,还没有开始破解时显示的是waiting,如果在破解中,则显示processing,已破解出来的是completed
在[ search ] 中可以输入MD5散列来搜索,字符串
在[ insert ] 中可以提交你没有搜索到的MD5散列,让他们来替你破解,过段时间再来看看.

国内——
MD5收集查询:http://www.neeao.com/md5/ 主页显示目前拥有105595条记录
MD5在线查询:http://www.xmd5.org/ 主页显示目前拥有500W条记录
这两个都是中文的,大家都看的懂,就不多做介绍了.
所以以后再遇到MD5,就先到这几个站搜索一下看看有没有记录,有的话就不用浪费时间,浪费精力的去跑了.当然,如果没的话,还是自己慢慢跑吧..

两段伪装指令.

============================

【深层】伪装 PEtite 2.2 -> Ian Luck  汇编代码:
============================
伪装代码部分:
============================

mov eax,0040E000
push 004153F3
push dword ptr fs:[0]
mov dword ptr fs:[0],esp
pushfw
pushad
push eax
xor ebx,ebx
pop eax
popad
popfw
pop dword ptr fs:[0]
pop eax
jmp XXXXXXXX        '执行到程序的原有OEP

============================

【深层】伪装 WCRT Library (Visual C++) DLL Method 1 -> Jibz  二进制代码 + 汇编代码:
============================
伪装代码部分:
============================

使用二进制粘贴以下代码:

55 8B EC 83 7D 0C 01 75 41 A1 C0 30 00 10 85 C0 74 0A FF D0 85 C0 75 04 6A FE EB 17 68 0C 30 00 10 68 08 30 00 10 E8 89 00 00 00 85 C0 59 59 74 08 6A FD FF 15 08 20 00 10 68 04 30 00 10 68 00 30 00 10 E8 52 00 00 00 59 59

粘贴完毕后,再添加2行汇编语句:

jmp XXXXXXXX        '执行到程序的原有OEP
retn 0C

============================

网上收集的几个花指令相关推荐

  1. 花指令的原理和常用花指令收集

    花指令的原理和常用花指令收集 花指令的作用是对付静态分析,以下面一段程序说明一下花指令的原理 代码 #include  < iostream.h > #include  < wind ...

  2. 花指令的原理、常用花指令收集及花指令示例

    花指令的作用是对付静态分析,以下面一段程序说明一下花指令的原理 #include <iostream.h> #include <windows.h> void main() { ...

  3. 关于freemarker(网上收集资料)

    copy自http://demojava.iteye.com/blog/800204 以下内容全部是网上收集: FreeMarker的模板文件并不比HTML页面复杂多少,FreeMarker模板文件主 ...

  4. 木马病毒隐身穿墙术解密之花指令和终止进程

    今天我们要了解的,就是另外两种攻击者喜欢使用的 木马 隐身技术:给 木马 程序加花指令和终止 安全软件 进程. 一.对 木马 使用花指令 花指令就是指程序中包括了跳转指令及一些无用的指令在内的汇编指令 ...

  5. 木马免杀之汇编花指令技巧

    木马免杀之汇编花指令技巧 作者: 逆流风(发表于<黑客X档案>07.07,转载注明出处)        相信很多朋友都做过木马免杀,早期的免杀都是加壳和改特征码,现在免杀技术已经发展到花指 ...

  6. 花指令问题——[HDCTF2019]Maze

    文章目录 声明 题目 分析 资料 声明 1)该文章部分内容整理自网上的资料,如不小心侵犯了大家的权益,还望海涵,并联系博主删除. 2)博主是萌新上路,文中如有不当之处,请各位大佬指出,共同进步,谢谢. ...

  7. 花指令——多个指令共用字节

    一.原理 一个字节属于两条指令. 短跳转的指令机器码是 EB XX,XX是指跳转位置到JMP指令的下一条指令的偏移,例如 EB 00 就是跳转到JMP 的下一条指令,相当于啥也不做,如图: 那么如果是 ...

  8. 160个Crackme028之对抗花指令

    文章目录 查壳 分析程序 分析算法 对抗花指令 校验过程 校验结果 查壳 目标程序是用VC6写的,没有加壳,跟027是同一个作者,难度为一颗星 分析程序 首先根据错误提示可以看到跳转到这个地址的地方有 ...

  9. Android 阅读器架构图,网上收集,留做存货

    这个结构图是网上收集的图片,基结构明晰简洁,易于后期维护,本文会继续收集更多其它优秀的结构图,望有图的朋友推荐~

最新文章

  1. 《马哥出品高薪linux运维教程》wingkeung学习笔记-linux基础入门课程5
  2. sass @function,@for,@mixin 的应用
  3. 详解为什么32位系统只能用4G内存.
  4. 手机控制linux电脑,通过Amora用symbian手机控制linux系统的电脑
  5. 产生线程安全的原因(3)(操作系统)
  6. java游戏应龙女魃转世_应龙和女魃的凄美爱情,究竟是爱情,还是阴谋?
  7. Gulp vs Grunt 前端工程构建工具
  8. python筛选质数并一行输出五个_python使用filter方法递归筛选法求N以内的质数素数附一行打印心形标记的代码解析...
  9. navicat 导入excel 闪退
  10. AES加解密流程及方法
  11. 已解决:虚拟机安装windows server 2012 出现“找不到任何设备驱动程序。请确保安装介质包含正确的驱动程序”
  12. 【论文笔记】EagerMOT:3D Multi-Object Tracking via Sensor Fusion
  13. 跨境电商系统对接-进口篇
  14. IP协议/地址(IPv4IPv6)概要
  15. UserBehavior用户行为分析
  16. 【ROS-Navigation】—— Astar路径规划算法解析
  17. Facebook分享使用
  18. JQuery .find()方法查找
  19. 【AXURE】如何在谷歌浏览器中打开axure原型文件
  20. 魔兽世界也是Python开发的?盘点Python开发的知名网站和游戏!

热门文章

  1. 如何快速实现数组/字符串的逆序(用reverse函数实现)
  2. 用计算机画有常数的函数图像,信息技术应用 用计算机画函数图象ppt配用优秀获奖教案...
  3. html正则半角,JS正则密码校验之:JS正则匹配半角英文符号
  4. java龙世界禁忌之恋灵魂大殿_《龙世界-禁忌之恋》完美图文攻略
  5. 原生js 调用电脑摄像头完成拍照
  6. 操作系统课程设计--简单文件系统的实现
  7. IDEA整合SSM(Spring+Spring MVC+MyBatis)
  8. 【Python】如何使用 Python 的 pprint库格式化和输出列表和字典
  9. Ubuntu Frp内网穿透+Samba 445端口
  10. 【Java用法】@NotEmpty、@NotBlank、@NotNull注解的使用方法与区别