ฉันเขียนแอปพลิเคชัน C # สำหรับลูกค้าเมื่อสองสามปีก่อน แต่ฉันไม่มีซอร์สโค้ดอีกต่อไป ทั้งหมดที่ฉันมีคือ EXE ที่ฉันปรับใช้บนพีซีของลูกค้า มีวิธีที่ฉันสามารถสร้างซอร์สโค้ด C # จาก EXE หรือไม่
ฉันเขียนแอปพลิเคชัน C # สำหรับลูกค้าเมื่อสองสามปีก่อน แต่ฉันไม่มีซอร์สโค้ดอีกต่อไป ทั้งหมดที่ฉันมีคือ EXE ที่ฉันปรับใช้บนพีซีของลูกค้า มีวิธีที่ฉันสามารถสร้างซอร์สโค้ด C # จาก EXE หรือไม่
คำตอบ:
Reflectorและ Add-in ของFileDisassembler FileDisassembler
ตัวสะท้อนแสงจะอนุญาตให้เห็นซอร์สโค้ด FileDisassembler จะช่วยให้คุณแปลงเป็นโซลูชัน VS
เมื่อ Red Gate กล่าวว่าจะไม่มี. Net Reflector รุ่นฟรีอีกต่อไปฉันเริ่มใช้ILSpyและJustDecompileของ Telerik JustDecompileฉันพบ ILSpy ที่จะแปลความถูกต้องมากกว่า JustDecompile (ซึ่งยังอยู่ในรุ่นเบต้า) Red Gate เปลี่ยนการตัดสินใจของพวกเขาและยังมี. Net Reflector รุ่นฟรี แต่ตอนนี้ฉันชอบ ILSpy
จากเว็บไซต์ ILSpy ( https://github.com/icsharpcode/ILSpy/ ):
ILSpyเป็นเบราว์เซอร์ชุดประกอบ. NET แบบโอเพนซอร์สและตัวถอดรหัส
ปรับปรุง:
15 เมษายน 2012, ILSpy 2.0 เปิดตัว คุณสมบัติใหม่เมื่อเทียบกับรุ่น 1.0:
ปรับปรุง:
Reflector นั้นไม่มีให้บริการฟรีอีกต่อไป แต่พวกเขาให้บริการฟรีสำหรับนักพัฒนาโอเพ่นซอร์ส: http://reflectorblog.red-gate.com/2013/07/open-source/
แต่ บริษัท บางแห่งเช่น DevExtras และ JetBrains ได้สร้างทางเลือกฟรี:
ตัวสะท้อนสัญญาณและAdd-in ตัวแยกส่วนไฟล์จาก Denis Bauer มันผลิตโครงการต้นฉบับจากชุดประกอบที่ตัวสะท้อนแสงของตัวเองแสดงเฉพาะแหล่งที่แยกส่วน
Telerik JustDecompile ให้บริการฟรีและมีคุณสมบัติในการสร้างโครงการจากชุดประกอบ. NET
ฉันประหลาดใจที่ไม่มีใครพูดถึงildasmของ Microsoft ildasmมันอาจจะไม่สวยเท่า ILSpy หรือ Reflector แต่มันมาพร้อมกับ Visual Studio นักพัฒนาจำนวนมากมีอยู่แล้ว
หากต้องการเรียกใช้ (สมมติว่า VS 2013 ควรคล้ายกับเวอร์ชันอื่น):
ตอนนี้คุณสามารถนำทางโครงสร้าง DLL ดับเบิลคลิกที่สมาชิกชั้นเรียนเพื่อดู IL ใช้ไฟล์> Dump เพื่อส่งออก IL เป็นไฟล์