আমি কীভাবে একটি .NET EXE পঠনযোগ্য সি # উত্স কোডের মধ্যে ডিকম্পাইল করব?


259

কয়েক বছর আগে আমি ক্লায়েন্টের জন্য সি # অ্যাপ্লিকেশন লিখেছিলাম, তবে আমার আর সোর্স কোড নেই। আমার কাছে কেবলমাত্র ক্লায়েন্টের পিসিতে স্থাপন করা EXE। আমি EXE থেকে সি # উত্স কোড উত্পন্ন করতে পারে এমন কোন উপায় আছে?


2
ঠিক আছে. এখানে দেখুন ... টেলিগ্রিক জাস্টডেকম্পাইলটি আসলে ডিএলএলকে বিভ্রান্ত করেছে যে রেড গেটস রিফ্লেক্টর পুরোপুরি নষ্ট হয়ে গেছে ... রিফ্লেক্টরের সাথে অনেকগুলি সমস্যা ছিল ... জাস্টডেকম্পাইল ... এখন পর্যন্ত নির্দোষ ...
মার্ক জনস্টন

1
আমি বেশ দীর্ঘদিন ধরে JustDecompile ব্যবহার করে আসছি এবং সিএসপ্রোজেক্ট সংকলনের জন্য প্রস্তুত হিসাবে উত্স ফাইলগুলি পচন এবং প্যাকেজ করাতে এটি বেশ ভাল। এটি সত্যিই উন্নয়নে সক্রিয় এবং তাদের রেপোতে
ডেভিড চেলিয়াহ

উত্তর:


194

রিফ্লেক্টর এবং এর অ্যাড-ইন ফাইলডিসাসেমব্লার

রিফ্লেক্টর সোর্স কোডটি দেখতে দেবে। ফাইলডিসাসেমব্লার আপনাকে এটিকে ভিএস সমাধানে রূপান্তর করতে দেয়।


4
আমার প্রতিবিম্বকের অনুলিপিটিতে একটি "রফতানি ..." বিকল্প রয়েছে এবং আমার কোনও প্লাগইন ইনস্টল নেই। এটি সমস্ত উত্স কোড এবং সংস্থান সহ একটি ভিএস প্রকল্প তৈরি করে। তাহলে সবাই ফাইলডিসেসেম্বলারের পরামর্শ দিচ্ছেন কেন? এটা বেশি ভাল?
লুকাস

লুকাস: বাক্সের বাইরে, আমি প্রতিফলক এটি করতে সক্ষম হতে দেখিনি। ফাইলডিসেসেমব্লার সর্বদা একমাত্র উপায় ছিল। যদিও আমি ধারণা করি সাম্প্রতিক ইতিহাসে এটি সম্ভবত পরিবর্তিত হয়েছে। আমি এটি যাচাই করব.
জিওচেট

লাইফ সেভার! বোবা গাধা টিএফএস আমার প্রকল্পটি মুছে ফেলে। যদিও আমি টিএফএসকে নিজেই মুছে ফেলতে বলেছি কিন্তু স্থানীয় ফাইল সিস্টেম থেকে প্রকল্পটি সরিয়ে ফেলবে বলে আশা করি না। সব একই ধন্যবাদ। x
ক্রিস্টো

ফাইলডিসাসেমব্লার কোথায়? : /
টম স্টিকেল

এটি শুধুমাত্র। নেট ফ্রেমওয়ার্কের জন্য কাজ করে। নেট নেটওয়ার্ক 3.0 এক্সের জন্য কাজ করে এমন কোনও সরঞ্জাম?
সোমনাথ কদম

144

যখন রেড গেট বলেছিল যে আর। নেট রিফ্লেক্টর এর বিনামূল্যে সংস্করণ থাকবে না, আমি আইএলএসপি এবং টেলিরিকের জাস্টডেকম্পাইল ব্যবহার শুরু করি । জাস্টডেকম্পাইল (যা এখনও বিটাতে রয়েছে) এর চেয়ে আরও সঠিকভাবে ডিকম্পিল করার জন্য আমি আইএলএসপিএসকে পেয়েছি। রেড গেট তাদের সিদ্ধান্ত পরিবর্তন করেছে এবং এখনও। নেট রিফ্লেক্টরের একটি বিনামূল্যে সংস্করণ রয়েছে, তবে এখন আমি আইএলএসপি পছন্দ করি।

আইএলএসপিএস ওয়েবসাইট থেকে ( https://github.com/icsharpcode/ILSpy/ ):

আইএলএসপিএস ওপেন-সোর্স। নেট অ্যাসেমব্লিং ব্রাউজার এবং ডিকম্পিলার।

ILSpy বৈশিষ্ট্য

  • সমাবেশ ব্রাউজিং
  • আই.এল.
  • সি # তে সংশ্লেষণ
  • ল্যাম্বডাস এবং 'ফলন ফেরত' সমর্থন করে
  • এক্সএমএল ডকুমেন্টেশন দেখায়
  • সম্পদের সংরক্ষণ
  • প্রকার / পদ্ধতি / বৈশিষ্ট্য (সাবস্ট্রিং) অনুসন্ধান করুন
  • হাইপারলিঙ্ক-ভিত্তিক ধরণ / পদ্ধতি / সম্পত্তি নেভিগেশন
  • বেস / উত্পন্ন ধরণের নেভিগেশন
  • নেভিগেশন ইতিহাস
  • বিএএমএল থেকে এক্সএএমএল ডিকম্পিলার
  • সি # প্রকল্প হিসাবে সমাবেশ সংরক্ষণ করুন
  • ক্ষেত্র / পদ্ধতির ব্যবহার সন্ধান করুন
  • প্লাগইনগুলির মাধ্যমে বর্ধমান (এমইএফ)

হালনাগাদ:

এপ্রিল 15, 2012, আইএলএসপিএস 2.0 প্রকাশিত হয়েছিল। সংস্করণ 1.0 এর সাথে তুলনা করা নতুন বৈশিষ্ট্য:

  • সমাবেশ তালিকা
  • এক্সপ্রেশন গাছগুলি পচানোর জন্য সমর্থন
  • Nullables উপর উত্তোলন অপারেটর জন্য সমর্থন
  • ভিজ্যুয়াল বেসিকের জন্য ডিসকোপাইল করুন
  • স্থান দ্বারা পৃথককৃত একাধিক স্ট্রিং অনুসন্ধান করুন (আইএলএসপি.এক্সে "এসেম্বলি ম্যানেজার" অনুসন্ধান করে এসেম্বলিস্টেস্ট ম্যানেজারটি পাওয়া যাবে)
  • লোকাল ভেরিয়েবলে ক্লিক করা সেই ভেরিয়েবলের সমস্ত অন্যান্য উপস্থিতি হাইলাইট করবে
  • সিআরটিএল + এফটি ডিসপম্পিল্ড কোড ভিউয়ের মধ্যে অনুসন্ধান করতে ব্যবহৃত হতে পারে

হালনাগাদ:

  • আইএলএসপিএস ২.১ অ্যাসিঙ্ক সমর্থন করে / ক্ষয়ের জন্য অপেক্ষা করছে

1
আমি ২.২ ব্যবহার করছি এবং এটি আইএল, ভিবি.এনইটি, এবং সি # তে পচে যাওয়া সমর্থন করে। আমি এটি খুব দরকারী খুঁজে পেয়েছি।
ভোটকফি

1
দেখে মনে হচ্ছে এটির কম্পিউটার চলমান কম্পিউটার থেকে প্রশ্নবিদ্ধ তথ্য সংগ্রহ করতে আগ্রহী এবং আইএলএসপি উত্স থেকে সংকলন করা যায় না। এছাড়াও আইএলএসপিএস বাইনারি ভেরিয়েবলের নামগুলি মিশ্রিত করে এবং উত্স কোডটিতে কিছু অদ্ভুত অক্ষর রাখে।
এএএ

1
নোট করুন যে আইএলএসপিএসে একটি ভিজ্যুয়াল স্টুডিও অ্যাড-ইন অন্তর্ভুক্ত রয়েছে। আইএলএসপিএস ২.৪-এর জন্য আমি আপনার ভিজ্যুয়াল স্টুডিও উত্স কোড থেকে সরাসরি পচনশীল আউটপুটে নেভিগেট করার ক্ষমতা যুক্ত করেছি। দুর্ভাগ্যক্রমে কিছু দেরি-ব্রেকিং ফিক্স ছিল যা এখন আইএলএসপি মেইনলাইনে একীভূত হয়েছে তবে এটি ২.৪ রিলিজ করেনি।
yoyo

উজ্জ্বল! একটি সফ্টওয়্যার সংস্থা রয়েছে যা লোকেরা সমস্যাগুলি সমাধানের জন্য আপনার বিভাজনে একটি "বিশেষ" সরঞ্জাম ব্যবহার করার জন্য তাদের জন্য একবারে 100 ডলার চার্জ করে। সংযুক্ত থাকাকালীন তারা যে সরঞ্জামটি ব্যবহার করেছিল তার একটি অনুলিপি পেতে পরিচালিত এবং তারপরে সরঞ্জামটি আনলকিং পাসওয়ার্ড পাওয়ার জন্য খুব সহজেই ILSpy ব্যবহার করতে সক্ষম হয়েছিল managed আর গ্রাহকদের ছিড়ে না!
ব্যবহারকারী 2924019

আইএলএসপিএস সেরা
প্রীতম

65

রিফ্লেক্টর সাধারণভাবে আর মুক্ত হয় না, তবে তারা এটি মুক্ত উত্স বিকাশকারীদের জন্য বিনামূল্যে সরবরাহ করে: http://reflectorblog.red-gate.com/2013/07/open-source/

তবে ডিভেক্সট্রাস এবং জেটব্রেইনগুলির মতো কয়েকটি সংস্থা নিখরচায় বিকল্প তৈরি করেছে:

ডিভেক্সট্রা কোড কোড নির্বাচন করুন

জেটব্রেইনস ডটপিক


5
প্রতিবিম্বক 35 like মত হয়। ব্যাংক ভাঙা আমার জানা, তবে এর মূল্য 10x x
স্টিংজি জ্যাক

7
ফ্রি .NET অ্যাসেম্বলি ডিসকম্পিলারগুলির তালিকায়ও টেলিগ্রিক জাস্টডেকম্পাইলকে যুক্ত করার মতো এটি। টেলিট্রিক.অডিজডেকম্পাইল
টড

3
@ স্টেটিংজ্যাক: দুর্দান্ত, দেখে মনে হচ্ছে তারা আপনাকে শুনেছে! আপনি যদি ভিএস2012 বিযুক্তকরণটি চান তবে এটি এখন 10 ডলার actually : /
ডিপস্পেস 101

1
অর্থোপার্জন করার জন্য আমি তাদের বিরুদ্ধে এটি ধারণ করি না, তবে আইএনএলএসপি (উল্লিখিত) @ ড্যানিয়েলের উত্তরে আমি এখন ব্যবহার করছি।
স্টিংজি জ্যাক

1
এটি এখন স্ট্যান্ডার্ড সংস্করণের জন্য $ 100 এবং ভিজ্যুয়াল স্টুডিওগুলির সাথে সংহত সংস্করণটির জন্য 200 ডলার ব্যয় করে। এটি মুদ্রাস্ফীতির হারের হেক। যদিও তারা খোলার উত্স বিকাশকারীদের জন্য নিখরচায় অফার দেয়: রিফ্লেক্টরব্লগ.ড-
গেট.কম

35

ডেনিস বাউয়ার থেকে রিফ্লেক্টর এবং ফাইল বিযুক্তকরণ অ্যাড-ইন। এটি আসলে সমাবেশগুলি থেকে উত্স প্রকল্পগুলি উত্পাদন করে, যেখানে তার নিজের প্রতিফলক কেবল বিচ্ছিন্ন উত্সটি প্রদর্শন করে।

যোগ করেছেন: আমার সর্বশেষ প্রিয় JetBrains 'হল dotPeek


আমি পছন্দ করি যে ডটপিক সহজেই একটি পুরো ফোল্ডারের সাথে কাজ করার অনুমতি দেয় তবে আজকের হিসাবে তারা কেবল সি # তে পচে যায়। অন্যান্য বেশিরভাগ ডিসকম্পিলারগুলি ভিবি এবং আইএলও করে। এটি কেবলমাত্র নেট 4.5 পর্যন্ত সমর্থন করে যখন
টেলিক 4.5.1.1

সুতরাং ডটপিক সম্পূর্ণ নিখরচায় বা তাদের অর্থ প্রদানের সংস্করণের জন্য কোনও বিধিনিষেধ আছে ?. আমি এটি সম্পর্কিত জেটব্রেন ওয়েবসাইটে কোনও তথ্য দেখতে পেতাম না।
ব্যাটম্যাচি

29

টেলরিক জাস্টডেকম্পাইল বিনামূল্যে এবং নেট নেট অ্যাসেম্বলিগুলি থেকে প্রকল্পগুলি তৈরি করার বৈশিষ্ট্য রয়েছে।


টেলিরিক ভিবি.এনইটি, আইএল, বা সি # .NET কে ডিকম্পাইল করার ক্ষমতা দেয় যা আমি দরকারী বলে মনে করি। এটি ফ্রেমওয়ার্কটি স্বয়ংক্রিয়ভাবে নির্বাচন করে এবং ডিওবফাসেসিকেটিংয়ের জন্য একটি প্লাগ-ইন উপলব্ধ। এছাড়াও, এটি .NET 4.5.1 সমর্থন করে। বেশ ভাল লাগছে।
ভোটকফি

1
আমি এখানে এই পোস্টে সমস্ত সমাধান চেষ্টা করেছি এবং JustDecompile একমাত্র আমার জন্য নিখুঁতভাবে কাজ করে।
আলভারো পেরেইরা

24

আমি অবাক হয়েছি কেউ মাইক্রোসফ্টের ইল্ডসমের কথা উল্লেখ করেনি । এটি আইএলএসপিএস বা রিফ্লেক্টরের মতো সুন্দর নাও হতে পারে তবে এটি ভিজ্যুয়াল স্টুডিওর সাথে আসে তাই ইতিমধ্যে অনেক বিকাশকারী এটি পেয়ে থাকেন।

এটি চালানোর জন্য (ভিএস 2013 ধরে ধরে, অন্যান্য সংস্করণের জন্য একই হওয়া উচিত):

  1. শুরু নির্বাচন করুন> সমস্ত প্রোগ্রাম> ভিজ্যুয়াল স্টুডিও 2013> ভিজ্যুয়াল স্টুডিও সরঞ্জাম।
  2. ভিএস ২০১৩ এর জন্য বিকাশকারী কমান্ড প্রম্পটে ডাবল ক্লিক করুন।
  3. ফলাফল কমান্ড প্রম্পট থেকে "ইল্ডেম" চালান।
  4. সরঞ্জামটিতে, ফাইল> নির্বাচন করুন এবং আপনার নির্বাহযোগ্য বা ডিএলএল খুলুন।

এখন আপনি ডিএলএল কাঠামো নেভিগেট করতে পারেন। আইএল দেখতে শ্রেণীর সদস্যদের উপর ডাবল ক্লিক করুন। কোনও ফাইলের আইএল রফতানি করতে ফাইল> ডাম্প ব্যবহার করুন।


আমি আইএল ড্যাসমকে কিছুটা বর্বর বলে মনে করি। এটি গাছটি দেখায়, তবে ডান ক্লিক করলে কিছুই হয় না that প্লাস রফতানির ডাম্প ফাইলটি মূলত আবর্জনা। এটি দেখুন, এটি এমনকি যে দূরবর্তী থেকে সহায়ক?
টম স্টিকেল

4
আমি কখনই দাবি করিনি যে ইল্ডসমটি সেখানে সর্বোত্তম বিকল্প ছিল, কেবল এটি উপলব্ধ এবং এটি কার্যকর। ¯_ (ツ) _ / ¯
yoyo

না, 'ফ্রেড না।
yoyo

আমি সত্যিই অবাক হয়েছিলাম যে ডটপিক আমাকে জানত যে স্ট্রিংটি ছিল তার জন্য পুরো সমাবেশটি সন্ধান করতে দেবে না। ইল্ডাসম সুন্দর নাও হতে পারে তবে কমপক্ষে এটির একটি ডাম্প বিকল্প রয়েছে যা আমাকে ক্লাসটি সনাক্ত করতে সহায়তা করেছিল যাতে আমি যে স্ট্রিংটি খুঁজছিলাম তা অন্তর্ভুক্ত ছিল।
গ্যাবে হালসার

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.