2012-01-31 54 views
6

Tôi có một tệp thực thi yêu cầu .NET Framework để chạy; Tôi đã sử dụng phản xạ và một số phần mềm giải mã phổ biến nhưng không thể đọc được tệp thực thi;Không thể dịch ngược .NET thực thi được xây dựng

Đây là tệp kê khai được sử dụng Resource Hacker;

<?xml version="1.0" encoding="UTF-8" standalone="yes"?> 
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> 
    <assemblyIdentity version="1.0.0.0" name="MyApplication.app"/> 
    <trustInfo xmlns="urn:schemas-microsoft-com:asm.v2"> 
    <security> 
     <requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3"> 
     <requestedExecutionLevel level="asInvoker" uiAccess="false"/> 
     </requestedPrivileges> 
    </security> 
    </trustInfo> 
</assembly> 

Ai đó có thể cho tôi biết công cụ thích hợp để sử dụng để dịch ngược phiên bản này hoặc thực thi được không? Nó yêu cầu .NET để chạy. Cảm ơn. Tôi đang sử dụng mục đích này cho mục đích giáo dục.

+3

"nhưng không thể đọc tệp thực thi" - bất kỳ lỗi hoặc cảnh báo nào có thể cung cấp bất kỳ thông tin nào ?? – craig1231

+0

Cảm ơn mọi người. De4Dot đã làm điều đó. – Blank

Trả lời

9

Nghe có vẻ như thực thi có thể đã được obfuscated (bảo vệ) chống NET cụ decompliation/phản ánh như Reflector, ILSpy, dotPeek, vv

Có một số công cụ có sẵn mà thực hiện bảo vệ như vậy, bao gồm Babel.NETDotfuscator.

Bạn có thể thử de4dot, có thể 'tách rời' các hội đồng .NET đã được bảo vệ bằng một số công cụ, bao gồm Crypto Obfuscator, Dotfuscator, NET Reactor và SmartAssembly.

+0

Cảm ơn. de4dot đã làm nó! – Blank

0

Nếu Trình phản xạ không thể dịch ngược nó, thì nó phải được làm xáo trộn bằng công cụ obfuscation mã như SmartAssembly hoặc Dotfuscator.

Trong trường hợp này, không có cách nào để dịch ngược ứng dụng.

+2

Không đời nào? Thời gian chạy có thể nhận được IL bằng cách nào đó, vì vậy tôi có thể làm như vậy. – svick

+0

Đó là những gì bạn nghĩ ... Nhưng những công cụ này được gọi là obfuscators vì một lý do. Chúng phá vỡ các trình giải mã. Đó là lý do tại sao Reflector không thể dịch ngược bất cứ thứ gì bị làm xáo trộn bằng một công cụ thích hợp. Cảm ơn bạn đã downvoting bằng cách này! –

+2

Tôi đã không downvote, nhưng bạn đang phải họ được gọi là obfuscators vì một lý do: và đó là bởi vì họ làm cho decompilation * khó khăn hơn, nhưng không phải không thể *. Nếu bạn có thể chạy mã, bạn có thể dịch ngược nó (ít nhất là trên PC). Nó đơn giản như vậy và không có công cụ nào có thể thay đổi điều đó. – svick

3

Đó là ứng dụng nhấp chuột.

Trước tiên, bạn cần trích xuất nội dung (không nhớ nếu '.app' là CAB hoặc ZIP). Sau đó sử dụng Reflector hoặc trình giải mã ưa thích của bạn.

+0

Ứng dụng này là một .exe; Làm cách nào để trích xuất? – Blank

+1

Không, trình cài đặt clickonce có lẽ là một EXE. – leppie

Các vấn đề liên quan