1

ネイティブdllからソースコードを取得するにはどうすればよいですか?リフレクターでは運がありません。

4

1 に答える 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 に答える