如何生成混淆代码
例如,考虑以下代码:
call far ptr 90b6h:79c35c2eh
shl dword ptr [ebp+0fh],1
db 67h
daa
push eax
push cs
在 C 编程中如何生成此代码块?我如何对该代码进行反混淆?
For example, consider the following code:
call far ptr 90b6h:79c35c2eh
shl dword ptr [ebp+0fh],1
db 67h
daa
push eax
push cs
How this code block generated in C programming? How can I deobfuscate that code?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
它不是混淆的 C 代码。如果它来自 C 程序,那么它是来自一行左右的 C 代码的几行汇编程序。
一旦分解为汇编程序,就很难再转向其他方式,尤其是在自动化的基础上。虽然您可以获得一些可以按照这些思路执行某些操作的工具,但结果将不是原始的 C 代码,而是执行相同操作的不同代码。结果看起来仍然很混乱。
您拥有的是 1 或 2 的汇编器输出。您似乎要求 3。
It's not obfuscated C code. If this comes from a C program it is a few lines of assembler from a line or so of C code.
Once broken down to assembler it is very difficult to go the other way, especially on an automated basis. While you can get some tools that will do something along those lines the results will not be the original C code but something different that does the same thing. The results will still look obfuscated.
What you have is the assembler output of either 1 or 2. You seem to be asking for 3.