Mono.Cecil-如何找出PInvoke DLL名称?

时间:2019-01-09 13:04:22

标签: cil mono.cecil

Mono.Cecil提供了一种使用method.IsPInvokeImpl检查方法是否为点名的方法,还提供了带有method.PInvokeInfo的更多信息。如何找出dll名称?

1 个答案:

答案 0 :(得分:2)

P / Invoke方法的IL看起来像这样(例如<input type="number" min="1" name="month" ng-model="year.month" class="form-control" required /> ):

kernel32!LockFile

Mono.Cecil镜像PInvokeInfo类中的.method assembly hidebysig static pinvokeimpl("kernel32.dll" lasterr winapi) bool LockFile ( class Microsoft.Win32.SafeHandles.SafeFileHandle handle, int32 offsetLow, int32 offsetHigh, int32 countLow, int32 countHigh ) cil managed preservesig { } 元数据,第一个字符串打包为pinvokeimpl。因此,ModuleReference给出了DLL / dylib名称。