如何生成混淆代码

时间:2011-09-21 00:12:19

标签: c obfuscation deobfuscation

例如,请考虑以下代码:

call far ptr 90b6h:79c35c2eh
shl dword ptr [ebp+0fh],1
db 67h
daa
push eax
push cs

如何在C编程中生成此代码块?如何对该代码进行反混淆处理?

1 个答案:

答案 0 :(得分:5)

这不是混淆的C代码。如果这是来自C程序,那么它就是C代码行的几行汇编程序。

一旦分解为汇编程序,就很难走另一条路,特别是在自动化的基础上。虽然你可以得到一些可以在这些方面做某事的工具,但结果将不是原始的C代码,而是做同样事情的不同之处。结果仍然看起来模糊不清。

  1. 编译:将高级语言转换为目标代码,可能还有中间汇编程序。
  2. 反汇编:汇编源代码的对象代码。这可以通过某些程序或调试器来完成。
  3. 反编译:将编译的目标代码转换回原始源语言。

你所拥有的是1或2的汇编输出。你似乎要求3。