使用32位64位交叉编码混淆来打败静态和动态分析-feiworkscom.PDF

使用32位64位交叉编码混淆来打败静态和动态分析-feiworkscom.PDF

使用32位64位交叉编码混淆来打败静态和动态分析-feiworkscom

原原文文地地址址:/papers/11032 Ke Sun(wildsator@) 原原文文:http://en.wooyun.io/201 /12/08/33.html 0x00 摘摘要要 混淆是一种能增加二进制分析和逆向工程难度与成本的常 技术。主流的混淆技术都是着眼于使 与目标CPU相同的机器代码,在相同的处理器模式下,隐藏代码并进行控制。本文中引入了 一种新的混淆方法,这一方法利 了64Windows系统中的32位/64位交叉模式编码。针对静态和动态分析工具的案例研究证明了这种混淆技术虽然简单,但是十分有效。 0x01 64位位Windows中中的的模模式式转转换换 所有的64位Windows操作系统都能向下兼容未修改过的 32位应 ,这是通过WoW64 (64位Windows上的32位Windows)子系统实现的。WoW64使 了3个动态链接库 (Wow64.dll,Wow64win.dll 和 Wow64cpu.dll),提供了一个兼容层, 作64位内核与32位应 {1}之间的接口,借此,处理器模式就可以在32位和64位之间动态地切换。 在任何时间中,处理器模式都是由当前代码段 (CS)描述符中的控制位决定的。图1就是一个段描述符的示意图。L位 (21位)是“64位代码段”控制标记:“值为1则说明这个代码段中的指令会 在64位模式下执行,值为0

文档评论(0)

1亿VIP精品文档

相关文档