สิ่งที่ดีกว่า. NET Reflector [ปิด]


365

ฉันเคยรัก. NET Reflector ย้อนกลับไปในวันนี้ แต่ตั้งแต่ Red Gate Software เข้ามาแทนที่มันก็ตกต่ำลงอย่างมาก ตอนนี้มันบังคับให้ฉันอัปเดต (ซึ่งไร้สาระอย่างแน่นอน) ครึ่งเวลาที่การอัปเดตไม่เป็นไปอย่างราบรื่นและมันขัดขวางการเพิ่มประสิทธิภาพของฉันในการอัพเดทแต่ละครั้ง ฉันป่วยและฉันก็พร้อมสำหรับสิ่งที่ดีกว่า มี disassembler ที่ดีกว่าหรือไม่


ปรับปรุง:

รายการทางเลือกต่าง ๆ ที่กล่าวถึงในคำตอบ -


5
ปัญหาหลัก: ทุกครั้งที่ฉันต้องใช้มันเพื่อให้ได้กระดาษติดมันจะต้องมีการอัพเดท!
Josh Stodola

152
+1 ผู้สะท้อนทำทุกอย่างที่ฉันต้องการเมื่อ 3 ปีก่อน จนถึงปัจจุบันมันเป็นโปรแกรมเดียวที่ฉันเคยใช้ที่ปิดการใช้งานตัวเองถ้าฉันไม่ปล่อยให้มันปรับปรุงเมื่อมันต้องการ Redgate ได้นำซอฟต์แวร์ชิ้นใหญ่มาใช้และทำลายมัน มันอาจจะฟรี แต่ต้องขอบคุณทัศนคติที่น่ารังเกียจนี้ Redgate ยืนยันว่าฉันจะไม่ซื้อหรือแนะนำซอฟต์แวร์ใด ๆ ของพวกเขาอีก
Ash

15
ดูเหมือนว่าหัวข้อนี้จะได้รับชีวิตใหม่ขณะนี้ RedGate กำลังขอขั้นต่ำ $ 35 สำหรับสิ่งที่เคยเป็น Reflector รุ่นฟรี วันเศร้า ... วันเศร้าแน่นอน หวังว่าชุมชน. NET จะเกิดขึ้นกับคู่แข่ง FOSS ที่มีคุณภาพและช่วยให้เราสามารถหนีจากการทรยศ RedGate (ไม่น่าแปลกใจนัก) จริงๆ
jrista

6
+1 - Red Gate สัญญาว่าจะไม่ทำลายมัน แต่ดูเหมือนว่าพวกเขามี ฉันไม่ได้รันมันมากและต้องอัพเดททุกครั้งที่ทำ แต่มันไม่ได้บอกฉันว่ามันแค่ถามว่าควรอัพเดทโดยอัตโนมัติหรือไม่ เมื่อฉันพูดว่า 'ไม่' ดูเหมือนว่าจะไม่ทำอะไรเลย เมื่อฉันพูดว่า 'ใช่' มันจะดาวน์โหลดและคลายการบีบอัดบางอย่างจากนั้นจึงเกิดข้อผิดพลาดที่ไม่สามารถเข้าถึง Reflector.exe ได้เพราะมันใช้งานอยู่!
โจนาธานวู้ด

71
เพื่อความยุติธรรมเราไม่สามารถพูดได้ว่า Red Gate ไม่ได้ทำงานกับซอฟต์แวร์ ฉันใช้รุ่นที่จ่ายเงินแล้วและฉันสังเกตว่าพวกเขาทำงานหนักมากเพื่อทำให้ช้ากว่าที่เคยเป็น
Ryan Lundy

คำตอบ:


169

ดูILSpy โดย SharpDevelopด้วย มันอยู่ในช่วงเริ่มต้นของการพัฒนาและพวกเขาเพิ่งเปิดตัวเมื่อวันที่ 24 กุมภาพันธ์ ซึ่งในตัวมันใช้งานได้ดีสำหรับฉัน จากเว็บไซต์ของพวกเขา:

ILSpy เป็นเบราว์เซอร์ชุดประกอบ. NET แบบโอเพนซอร์สและตัวถอดรหัส

การพัฒนาเริ่มขึ้นหลังจาก Red Gate ประกาศว่า. NET Reflector รุ่นฟรีจะหยุดอยู่ภายในสิ้นเดือนกุมภาพันธ์ 2554

ปรับปรุง : JetBrains ได้ออก dotPeek มันฟรี .NET Decompiler

การปรับปรุงที่ 2 : Telerik ยังมี Decompiler ฟรี: JustDecompile


2
แค่ลองดู ทำงานเหมือนจับใจ รับไบนารีที่build.sharpdevelop.net/BuildArtefacts/#ILSpy
StriplingWarrior

3
FTW ILSpy ทำทุกอย่างที่ฉันต้องการให้ Reflector ทำและทำได้โดยไม่ต้องใช้การตั้งเวลาหรืออัปเดตอัตโนมัติเป็นเวอร์ชันใหม่ซึ่งทำงานได้แย่กว่ารุ่นก่อนหน้า
Ian Kemp

2
ILSpy ใกล้เคียงกับ Reflector มาก dotPeek ใช้เวลาโหลดนานกว่าและขนาดการดาวน์โหลดค่อนข้างสูง และใช้ช่องว่างสำหรับการเยื้องแทนแท็บ (และไม่มีตัวเลือกการกำหนดค่าที่จะเปลี่ยน)! : D +1
James Skemp

1
ทองคำจะเป็นของ ILSpy เงินนั้นมีไว้สำหรับ dotPeek และทองสัมฤทธิ์สำหรับ JustDecompile
oddy

2
RedGate ทำให้ฉันผิดหวังด้วยการขึ้นราคาที่สำคัญและไม่มีตัวเลือก paypal เมื่อฉันดูครั้งแรกมันเป็น£ 20 สำหรับรุ่นพื้นฐาน ตอนนี้มันเป็น£ 65 และมากกว่าสองเท่าสำหรับการรวม VS
Richard Griffiths

62

JetBrains กำลังจะเพิ่มตัวถอดรหัสไปยัง ReSharper และปล่อยตัวแยกสัญญาณแบบสแตนด์อโลนด้วย

ข่าวดีก็คือว่าเรากำลังเตรียมแอปพลิเคชั่นไบนารีแบบ as-a-source แบบสแตนด์อโลนเช่นเบราว์เซอร์ตัวแยกสัญญาณ + แอสเซมบลีเพื่อสำรวจรหัสที่คอมไพล์ด้วย. NET เราไม่มีวันที่เฉพาะเจาะจงสำหรับการเปิดตัว แต่จะเปิดตัวในปีนี้และจะไม่มีค่าใช้จ่าย และโดยการพูดว่า "ฟรี" เราหมายถึง "ฟรี" จริงๆ

นี่คือข้อมูลเพิ่มเติม

UPDATE: JetBrains ได้เปิดตัวในขณะนี้ผลิตภัณฑ์ที่เรียกว่าdotPeekและมันสามารถพบได้ที่นี่


2
ฉันเพิ่งได้รับ ReSharper 6 EAP (เปิดตัวเมื่อวันที่ 1 มีนาคม 2011) Decompilation อยู่ที่นั่นใช้งานได้ดีและสะดวกสบายอย่างมากเนื่องจากรวมเข้ากับ VS2010 ดูเหมือนเวอร์ชั่นฟรีของเวอร์ชั่นสแตนด์อะโลนจะมา แต่สำหรับพวกคุณที่ใช้ ReSharper อยู่แล้ว v6 จะเพิ่มการถอดรหัสที่ใช้งานได้ดีอย่างแน่นอน!
jrista

2
อัปเดต: Decompiler แบบสแตนด์อโลนฟรีโดย JetBrains เรียกว่าdotPeekได้รับการเผยแพร่เพื่อการเข้าถึงก่อน
Jura Gorohovsky

31

ในความคิดของฉันมีสามทางเลือกที่ร้ายแรงที่จะจับตาดูซึ่งทั้งหมดนี้ฟรี :

  • ILSpy : นี่คือจากคนเดียวกับที่ทำ SharpDevelop IDE (ฟรี) นอกจากจะเป็นฟรีแล้วยังเป็นโอเพ่นซอร์สอีกด้วย ส่วนขยายเพิ่มเติมที่พวกเขากำลังทำอยู่คือความสามารถในการดีบักโค้ดที่ถอดรหัสแล้ว (สิ่งที่รุ่นโปรของ Reflector สามารถทำได้) ซึ่งทำงานได้ดีอย่างน่าประหลาดใจ
  • JustDecompile : Decompiler แบบสแตนด์อโลนจาก Telerik (ประกาศในวันนี้ซึ่งปัจจุบันอยู่ในรุ่นเบต้า)
  • dotPeek : ตัวแยกสัญญาณแบบสแตนด์อโลนจาก JetBrains (แบบสแตนด์อโลนที่มีให้เป็นส่วนหนึ่งของ EAP ในขณะนี้)

วิธีการทั้งหมดนี้ทำให้เกิดปัญหาในรูปแบบที่แตกต่างกันเล็กน้อยโดยมี UIs ต่างกัน ฉันขอแนะนำให้พวกเขาลองและดูว่าคนที่คุณชอบ


4
+1 สำหรับ JustDecompile ดูดีมาก ๆ !
Josh Stodola

1
JustDecompile นั้นยอดเยี่ยม ฉันเคยลองหลาย ๆ ครั้งมันยอดเยี่ยมมาก!
Shimmy Weitzhandler

13

บางคนไม่ได้กล่าวถึงที่นี่ -

  • Mono Cecil : ด้วย Cecil คุณสามารถโหลดชุดประกอบที่มีการจัดการที่มีอยู่แล้วเรียกดูประเภทที่มีอยู่ทั้งหมดแก้ไขได้ทันทีและบันทึกกลับไปยังดิสก์ชุดประกอบที่ถูกดัดแปลง

  • Kaliro : นี่เป็นเครื่องมือสำหรับการสำรวจเนื้อหาของแอพพลิเคชั่นที่สร้างขึ้นโดยใช้เฟรมเวิร์ก Microsoft.Net

  • ตัวแก้ไข Dotnet IL (DILE) : ตัวแก้ไข Dotnet IL (DILE) อนุญาตให้แยกส่วนและดีบักแอ็พพลิเคชัน. NET 1.0 / 1.1 / 2.0 / 3.0 / 3.5 โดยไม่มีซอร์สโค้ดหรือไฟล์. pdb มันสามารถแก้ปัญหาได้เองหรือประกอบของ NET Framework ในระดับ IL

  • Common Compiler Infrastructure : Microsoft Research Common Compiler Infrastructure (CCI) เป็นชุดของไลบรารีและ application programming interface (API) ที่รองรับการทำงานบางอย่างที่ใช้ร่วมกับคอมไพเลอร์และเครื่องมือการเขียนโปรแกรมที่เกี่ยวข้อง CCI จะใช้เป็นหลักโดยแอปพลิเคชันที่สร้างปรับเปลี่ยนหรือวิเคราะห์ไฟล์. NET พกพาที่เรียกใช้งานได้ (PE) และดีบั๊ก (PDB)


8

ซอร์สโค้ด. NET พร้อมใช้งานแล้ว

เห็นลิงค์นี้หรือนี่

หรือถ้าคุณมองหา Decompiler ผมก็ใช้DisSharper มันดีพอสำหรับฉัน


เย็น. มีใครพบลิงค์ที่แท้จริงในการดาวน์โหลดหรือไม่
โจนาธานวู้ด

6
สำหรับพื้นที่ จำกัด ของ Framework แน่นอนไม่ใช่การแทนที่เครื่อง decompiler
CamronBute

6

รุ่นล่าสุดจาก Red Gate คือ 6.1 อย่างไรก็ตามรุ่น 5.1 ไม่สามารถอัปเดตเป็นรุ่น 6 ได้โดยอัตโนมัติเนื่องจากมีการเปลี่ยนแปลงข้อกำหนดในการให้บริการดังนั้นคุณจะถูกเปลี่ยนเส้นทางไปยังเว็บไซต์เพื่อดาวน์โหลดรุ่น 6.1 ส่วนใหญ่เป็นเพราะเหตุผลทางกฎหมายที่คุณสามารถตรวจสอบในโพสต์ต่อไปนี้:

เฮ้ย! เกิดอะไรขึ้นกับกลไกการอัพเดต. NET Reflector

หลังจากคุณอัปเดตเป็น 6.1 ด้วยตนเองคุณจะไม่พบปัญหาใด ๆ อีกต่อไป


6
หากทางออกเดียวคือการอัพเกรดฉันกำลังมองหาผลิตภัณฑ์อื่น Foot is down :)
Josh Stodola

5
บางคนมีความสุขกับ Version X เหตุใดการอัปเดตทั้งหมดจึงส่งผลต่อพวกเขา ดูเหมือนว่าจะเป็นปัญหาทั่วไปของซอฟต์แวร์เมื่อเร็ว ๆ นี้
Eric Schneider

4
@ drachenstern: เนื่องจากปรากฎว่าผลิตภัณฑ์จะไม่ฟรีอีกต่อไปเราสามารถคาดหวังได้ว่าเมื่อ Red Gate เข้ายึด Reflector ปัญหาคือผลิตภัณฑ์ของ Red Gate นั้นมีราคาแพงและพวกเขาไม่มีแผนการกำหนดราคาสำหรับนักพัฒนารายบุคคล ตอนนี้ RG พูดว่า Reflector จะมีราคา 35 $ แต่ฉันคิดว่านี่เป็นเพียงการเริ่มต้นและมันจะจบลงด้วยการคิดต้นทุนอีกมากมาย สิ่งที่น่าเศร้าก็คือสิ่งนี้จะลดการเจาะ "ตลาด" ของ Reflector ซึ่งในช่วงหลายปีที่ผ่านมาเป็นเครื่องมือมาตรฐานสำหรับ. NET devs หวังว่าบางคนจะทำงานกับทางเลือกของ OSS
Piotr Owsiak

4
@ Drachenstern ไม่ใช่ราคาที่เป็นปัญหา ความจริงที่ว่าพวกเขากลับไปที่คำพูดของพวกเขาเพื่อให้ผลิตภัณฑ์ฟรี พวกเขาจะโกหกอะไรอีก $ 35 คือ "ใบอนุญาตถาวร" พวกเขาพูดว่า ... แต่นานเท่าไหร่ จนกว่าพวกเขาจะพลาดผลประกอบการรายไตรมาสอีกครั้งและตัดสินใจที่จะเปลี่ยนหรือไม่
Ryan Lundy

2
@ drachenstern: ฉันรู้ว่าความคิดเห็นของคุณเป็นเดือนที่ผ่านมาฉันต้องการชี้ให้เห็นว่าสิ่งที่เกิดขึ้นแล้วเหมาะกับสถานการณ์ทั้งหมดในขณะนี้ ฉันไม่ได้บอกว่า RedGate นั้นชั่วร้าย แต่ในกรณีนี้ควรชี้ให้เห็นว่าพวกเขาบอกว่าพวกเขาจะรักษาตัวสะท้อนแสงไว้ สิ่งที่ฉันพยายามจะพูดคือ 35 $ และ 70 $ ไม่เหมาะกับรูปแบบการกำหนดราคาด้วยเครื่องมือที่เหลือและฉันกังวลจริง ๆ ว่า Reflector จะค่อนข้างแพงเมื่อเวลาผ่านไป แม้ว่าฉันจะซื้อมันฉันจะไม่สามารถพูดกับเพื่อนของฉันได้อีก: "เฮ้เพิ่งคว้าตัวสะท้อน!"
Piotr Owsiak

4

แทนที่จะใช้ autoupdater เราเพียงตั้งค่าคุณสมบัติของไฟล์ EXE เป็นแบบอ่านอย่างเดียว วิธีนี้จะไม่ลบไฟล์


2

ฉันไม่แน่ใจว่าคุณต้องการอะไรที่นี่จริงๆ หากคุณต้องการที่จะเห็นรหัส .NET แหล่งกรอบคุณอาจลองNetmassdownloader มันว่าง.

หากคุณต้องการที่จะเห็นรหัสการชุมนุมใด ๆ (ไม่เพียง แต่ .NET), คุณสามารถใช้ReSharper แม้ว่ามันจะไม่ฟรี


2
รหัส? แทนที่จะพิมพ์คำจำกัดความใช่ไหม
Piotr Owsiak

คุณต้องมีคลัสเตอร์ขนาดใหญ่เพื่อเรียกใช้ตัวเรียกข้อมูล resharper พวกเราบางคนชอบที่จะเขียนโค้ดบนแล็ปท็อป)
Ivan G.

1

9Rays เคยมี decompiler แต่ฉันยังไม่ได้เช็คอิน มันไม่ฟรีฉันจำได้ ...

นอกจากนี้ยังมีอันใหม่ (อย่างน้อยสำหรับฉัน) ที่ชื่อ Dis #

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.