可执行文件的格式是反映一个系统程序运行机制的重要方面,Win32下可执行文件是读者已经非常熟悉的PE格式,在.NET系统中,运行机制的改变带来了可执行文件格式的扩展。一方面,.NET建立在Win32/64的基础上,兼容性的要求决定了.NET的可执行文件必须是在PE的基础上进行扩展;另一方面,Win32中PE文件存储的是汇编代码,而.NET中存储
你可能注意到了,我们迄今为止所讨论的反逆向技术都是一些与平台相关的“技巧”,在我看来这些“技巧”除了增加攻击者的“烦恼程度”外,什么用处也没有。真正的代码混淆需要进行代码变换(transforming),这种代码变换能够在保持代码原有功能的基础上大大降低代码的人工可读性。这些变换通常不是依赖于具体的平台,而是通过修改代码实现隐藏代码本来意图的目
本节的内容以知识为主,比较少技巧和经验。读者只需要了解,不需要熟练。如果你熟悉x86架构,请直接跳过这节。 现在探讨内核程序和应用程序之间的本质区别。除了能用WDK编写内核程序和阅读一部分Windows的内核代码之外,我们还需要了解它们的本质是什么,它们和我们熟悉的应用程序有什么区别。
Copyright © 2005-2024 51CTO.COM 版权所有 京ICP证060544号