我用 IDA 反转 exe 文件,有一个函数(正在运行其他一些函数),我不想了解它是如何工作的,但我想运行它。
如何从特定偏移量运行 exe 文件并为其提供参数给某些参数?
您可以使用 Ida 的Appcall功能:
Appcall 是一种从调试器或脚本调用被调试程序内部函数的机制,就好像它是一个内置函数一样。这种机制可用于调试、模糊测试和测试应用程序。Appcall 机制高度依赖于被调用函数的类型信息。出于这个原因,在进行 Appcall 之前必须有一个正确的函数原型,否则可能会返回不同或不正确的结果。
我有使用Appcall或滚动自己在我的博客的例子在这里。
如果你想保持简单,它一定不要做很多系统调用和与整个内存的交互。
您可能正在寻找一个基于 Unicorn 的 IDA 插件,例如这个插件,它可以实现对不太依赖的功能的模拟,并为您提供寄存器和内存的视图。
否则,您可能必须在 IDA 之外使用 Unicorns 绑定,这里有一些示例,因此您将能够模拟系统调用和所有您需要的东西。
我会建议使用LIEF。它有一个巧妙的功能add_exported_function,可以在新文件中导出的地址处添加一个函数。您可以在此处查看此功能
add_exported_function