Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我目前正在使用 Mono Cecil 从 C# 项目中提取数据。现在我需要检查每个方法中是否读取或写入了一个字段。
如何从CIL 指令中得知正在读取或写入字段?
因为我怀疑 Mono Cecil 中有一个类似于Eclipse 的 JDT 中的分配的库,它允许我提取左侧和右侧。如果有,那么我可以从那里开始工作。
直接现场商店的说明是stfld,因此您必须注意这一点。
stfld
请注意,字段也可以通过指针(两者*和&种类)间接写入,这在最一般的情况下是不可能检测到的(因为指针可以来自外部)。
*
&