0

我想获得第一个参数值(它是一个字符串)。例如,我有以下说明:

指示

我有一个指令列表,有时可能有其他参数,也可能有其他字符串。我怎样才能只得到第一个论点?

我试图迭代指令,从我更高的调用开始,直到我遇到ldstr指令。但是如果传递了两个字符串参数,它将不起作用。有什么可能的解决方法吗?

4

1 回答 1

-1

如果您想从类似的内容中检索“OnLoseCondition”

Interface.CallHook("OnLoseCondition", <some variable>)

您将需要比指令反汇编器更智能的东西 - 不一定是完整的反编译器,但至少可以跳过在您感兴趣的函数调用的参数中遇到的指令,以便您可以回溯到第一个参数通话。

如果该方法似乎总是用单指令第二个参数调用,这就像获取指令列表一样简单(参见ex.2获取方法的指令),找到您的调用,在 -2 偏移处找到指令,验证它是一个 ldstr,最后从中获取操作数。

于 2019-08-17T17:38:03.043 回答