我有一个函数,它接受一些参数并返回一个 char 数组,稍后将被 send() 函数使用(基本上是一个数据包编码器)。我最初的方法是尝试反编译这个大的 encode 函数,但至少有 20-40 个子函数,而且数据类型也不是很容易弄清楚,所以我放弃了。我的第二种方法是尝试使用 hex-rays 反编译器插件,但这也提供了一些无法编译的 c 代码。作为最后的手段,我尝试分析输入数据和编码数据,但由于输入在运行时一直在变化,因此很难比较结果,我能得出的唯一结论是第一个字节是标头,接下来的两个字节表示数据包长度。所以我的问题是,有什么方法可以使用 IDA Pro 或任何其他反汇编工具将数据输入到函数(子程序)中?
是否可以使用 IDA Pro 在运行期间或运行之外向函数提供数据?
逆向工程
艾达
拆卸
2021-06-30 17:29:51
1个回答
是的,您可以使用 Appcall:https : //hex-rays.com/products/ida/support/tutorials/debugging_appcall.pdf
Appcall 是一种从调试器或脚本调用被调试程序内部函数的机制,就好像它是一个内置函数一样。
...