【发布时间】:2013-02-17 18:49:57
【问题描述】:
如何从本机 dll 获取源代码?使用反射器没有运气。
【问题讨论】:
如何从本机 dll 获取源代码?使用反射器没有运气。
【问题讨论】:
你不能。
严格来说,您也无法使用 Reflector 获取 托管 dll 的源代码(例如,没有 cmets;如果它被混淆了,您也将看不到源代码)。 .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
但是源代码?没有。
【讨论】: