【问题标题】:how to generate obfuscated-code [closed]如何生成混淆代码[关闭]
【发布时间】:2011-11-21 12:53:18
【问题描述】:

例如,考虑以下代码:

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

这个代码块是如何在C编程中生成的?如何对代码进行去混淆处理?

【问题讨论】:

  • 这个C代码怎么样?
  • 您是否正在寻找一个反编译器,它试图获取二进制图像并检索用于生成它的 C(或其他)?或者您是否正在寻找一种将标签添加到反汇编程序的方法?您提供的代码是汇编代码,网上有很多关于如何阅读的信息,这里无法简单回答。
  • 要像这样进行混淆,您需要一个名为“C Compiler”的工具。有人告诉我,很难去混淆。
  • 我想知道这些代码是如何生成的,如何去混淆?(以上代码只是一个例子)

标签: c obfuscation deobfuscation


【解决方案1】:

它不是经过混淆的 C 代码。如果这来自 C 程序,则它是来自一行左右 C 代码的几行汇编程序。

一旦分解为汇编程序,就很难走另一条路,尤其是在自动化的基础上。虽然您可以获得一些可以按照这些方式执行某些操作的工具,但结果不会是原始 C 代码,而是执行相同操作的不同代码。结果仍然看起来很模糊。

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

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

【讨论】:

    猜你喜欢
    • 2010-10-20
    • 2018-08-01
    • 1970-01-01
    • 2013-10-01
    • 2011-10-26
    • 2010-09-18
    • 1970-01-01
    相关资源
    最近更新 更多