如何从本机 dll 获取源代码?使用反射器没有运气。
问问题
1125 次
1 回答
2
你不能。
严格来说,您也无法使用 Reflector 获取托管dll 的源代码(例如,没有注释;如果它被混淆了,您也将看不到源代码)。.NET Reflector非常擅长反汇编 MSIL 代码。
您可以 反汇编本机 dll,只是您不会喜欢它。例如,我正在尝试调试不是我的代码中的崩溃:
CPU Disasm
Address Hex dump Command Comments
20C46D9B |> 8B4424 14 |MOV EAX,DWORD PTR SS:[LOCAL.1]
20C46D9F |. 8B40 10 |MOV EAX,DWORD PTR DS:[EAX+10]
20C46DA2 |. 83C0 08 |ADD EAX,8
20C46DA5 |> 8B08 |/MOV ECX,DWORD PTR DS:[EAX]
20C46DA7 |. 3B0F ||CMP ECX,DWORD PTR DS:[EDI] ; Crash with EDI=00000008
20C46DA9 |. 75 12 ||JNE SHORT 20C46DBD
20C46DAB |. 83EE 04 ||SUB ESI,4
20C46DAE |. 83C7 04 ||ADD EDI,4
20C46DB1 |. 83C0 04 ||ADD EAX,4
20C46DB4 |. 83FE 04 ||CMP ESI,4
20C46DB7 |.^ 73 EC |\JAE SHORT 20C46DA5
但是源代码?不。
于 2013-02-17T18:56:13.930 回答