【问题标题】:How to get source code from native dll?如何从本机 dll 获取源代码?
【发布时间】:2013-02-17 18:49:57
【问题描述】:

如何从本机 dll 获取源代码?使用反射器没有运气。

【问题讨论】:

    标签: dll native reflector


    【解决方案1】:

    你不能。

    严格来说,您也无法使用 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
    

    但是源代码?没有。

    【讨论】:

      猜你喜欢
      • 2015-07-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-10
      • 1970-01-01
      • 2012-04-22
      相关资源
      最近更新 更多