首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Mono.Cecil或dnlib获取参数值

使用Mono.Cecil或dnlib获取参数值
EN

Stack Overflow用户
提问于 2019-08-17 22:55:37
回答 1查看 250关注 0票数 0

我想要获取第一个参数值(它是一个字符串)。例如,我有以下指令:

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

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

EN

回答 1

Stack Overflow用户

发布于 2019-08-18 01:38:03

如果您想从类似于

代码语言:javascript
复制
Interface.CallHook("OnLoseCondition", <some variable>)

您需要一些比指令反汇编程序更智能的工具--不一定是完整的反编译器,但至少需要一些可以跳过您感兴趣的函数调用的参数中遇到的指令的工具,这样您就可以回溯到调用中的第一个参数。

如果该方法似乎总是用一个单指令的第二个参数调用,那么这就像获得一个指令列表一样简单(参见ex.2获取方法的指令),找到你的调用,找到-2 \f25 offset -2\f6处的指令,验证它是否为ldstr,最后从其中获取操作数。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57537358

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档