我有可执行文件中存在的特定函数的位置/偏移量。是否可以调用这样的函数(同时抑制CRT执行可执行文件的入口点)?
答案 0 :(得分:4)
实际上,您可以模拟Windows加载程序,假设您在Windows下运行,但基本应该在任何平台上都相同。参见例如http://msdn.microsoft.com/en-us/magazine/cc301805.aspx。
然而,正如评论者指出的那样,这可能仅仅是一种使用非常简单的功能的练习。如果您无法模拟完整的OS加载程序,可能会出现许多错误。
PS:您也可以向Google询问:http://www.cultdeadcow.com/tools/pewrap.html
PPS:您还可以在“安全”社区中找到有用的建议:https://www.blackhat.com/presentations/bh-usa-07/Harbour/Whitepaper/bh-usa-07-harbour-WP.pdf
答案 1 :(得分:0)
是的,如果要初始化此函数使用的所有全局变量,则可以调用它。可能包括CRT全局变量。作为替代方法,您可以挂钩并替换被调用者使用的所有CRT函数。请参阅反汇编该函数以获得正确的解决方案。
答案 2 :(得分:0)
1)查看LoadLibraryEx()
API。它有一些标志可以完成塞巴斯蒂安所描述的所有肮脏的工作。
2)编辑可执行文件。几个修改的字节将完成这项工作。以下是有关文件格式的一些文档:http://docsrv.sco.com:507/en/topics/COFF.html