উইন্ডোজ .exe কে "ডিকম্পাইল" করা কি সম্ভব? নাকি কমপক্ষে বিধানসভা দেখে?


237

আমার এক বন্ধু ফেসবুক থেকে কিছু ম্যালওয়্যার ডাউনলোড করেছে এবং আমি নিজেকে আক্রান্ত না করে এটি কী করে তা দেখার জন্য আগ্রহী। আমি জানি যে আপনি সত্যিই একটি .xe বিয়োগ করতে পারবেন না, তবে আমি কি কমপক্ষে এটি সমাবেশে দেখতে পারি বা কোনও ডিবাগার সংযুক্ত করতে পারি?

এটি কোনও নেট নেট এক্সিকিউটেবল নয়, কোনও সিএলআই শিরোনাম নয় বলে সম্পাদনা করুন।


3
ফেসবুক থেকে ম্যালওয়্যার ?? আপনি কি তা ব্যাখ্যা করতে পারেন
আদিত্য মুখার্জি

সুপার দেরিতে জবাবের জন্য দুঃখিত ... তবে আমার মনে হয়েছে যে এটি ঘটেছে তা হ'ল: তিনি ম্যালওয়্যারটির একটি অংশ ছুঁড়েছিলেন, যা কোনও কোনও সময়ে আপনাকে "ভিডিও" এর লিঙ্ক দিয়ে এফবিতে (আমার) যোগাযোগ করে তার সমস্ত পরিচিতিকে স্প্যাম করেছিল। একটি "নতুন কোডেক" ডাউনলোড করুন। আমি ধরে নিচ্ছি যে এটি এই অর্থে কোনও কীটের মতো আচরণ করেছে।
সুইলিয়ামস

উত্তর:


446

একটি ডিবাগার দিয়ে আপনি ইন্টারেক্টিভভাবে প্রোগ্রামের সমাবেশের মাধ্যমে পদক্ষেপ নিতে পারেন।
একটি বিচ্ছিন্নকারী সহ , আপনি আরও বিস্তারিতভাবে প্রোগ্রাম সমাবেশটি দেখতে পারেন।
একটি ডিসকম্পিলারের সাহায্যে আপনি কোনও প্রোগ্রামটি আবার আংশিক উত্স কোডে পরিণত করতে পারেন, ধরে নিয়ে আপনি কী লিখেছেন তা জানেন (যা আপনি পিইআইডি এর মতো নিখরচায় সরঞ্জামগুলির সাহায্যে খুঁজে পেতে পারেন - যদি প্রোগ্রামটি প্যাক করা থাকে তবে আপনাকে প্রথমে এটি আনপ্যাক করতে হবে) বা সনাক্ত এটা সহজ যদি আপনি PEiD যে কোন জায়গায় খুঁজে পাচ্ছি না। ডাই একটি শক্তিশালী ডেভেলপার সম্প্রদায়ও রয়েছে উপর GitHub বর্তমানে)।

debuggers:

  • অলিডিবিজি , ফ্রি, একটি সূক্ষ্ম 32-বিট ডিবাগার, যার জন্য আপনি এগুলি আরও কার্যকর করার জন্য অসংখ্য ব্যবহারকারী দ্বারা তৈরি প্লাগইন এবং স্ক্রিপ্টগুলি খুঁজে পেতে পারেন।
  • উইনডিবিজি , ফ্রি, মাইক্রোসফ্ট দ্বারা যথেষ্ট সক্ষম ডিবাগার। উইনডবিজি বিশেষত উইন্ডোজ ইন্টার্নালগুলি দেখার জন্য দরকারী, কারণ এটি অন্যান্য ডিবাগারগুলির চেয়ে ডেটা স্ট্রাকচার সম্পর্কে আরও জানে।
  • সফটওয়াইস , বন্ধুদের কাছে এস.আই.এস. বাণিজ্যিক ও বিকাশ 2006 সালে বন্ধ হয়ে গেছে Soft সফ্টওয়াইস হ'ল এমন একটি হার্ড টুল যা অপারেটিং সিস্টেমের নীচে চলে (এবং যখন ডাকে পুরো সিস্টেমটি থামিয়ে দেওয়া হয়)। সফ্টওয়াইস এখনও অনেক পেশাদার ব্যবহার করেন, যদিও এটি পেতে খুব শক্ত হতে পারে এবং কিছু হার্ডওয়্যার (বা সফ্টওয়্যার - যেমন এটি ভিস্তা বা এনভিআইডিএ জিএফএক্স কার্ডে কাজ করবে না) এ কাজ করে না।

Disassemblers:

  • আইডিএ প্রো (বাণিজ্যিক) - লাইন বিচ্ছিন্ন / ডিবাগার শীর্ষে। বেশিরভাগ পেশাদার, যেমন ম্যালওয়্যার বিশ্লেষক ইত্যাদির দ্বারা ব্যবহৃত হয়, যদিও বেশ কয়েক হাজার টাকা ব্যয় হয় (এখানে বিনামূল্যে সংস্করণ রয়েছে , তবে এটি বেশ সীমাবদ্ধ)
  • ডাব্লু 32 ড্যাসম (ফ্রি) - কিছুটা তারিখযুক্ত তবে কাজটি সম্পন্ন করে। আমি বিশ্বাস করি যে এই দিনগুলিতে ডাব্লু 32 ড্যাসম বিস্মৃত হয়েছে এবং কিছু খুব কার্যকর কার্যকারিতা যুক্ত করার জন্য অনেকগুলি ব্যবহারকারী-তৈরি হ্যাক রয়েছে। সেরা সংস্করণটি খুঁজতে আপনাকে চারপাশ দেখতে হবে।

Decompilers:

  • ভিজ্যুয়াল বেসিক: ভিবি ডেকম্পিলার , বাণিজ্যিক, কিছুটা সনাক্তযোগ্য বাইকোড উত্পাদন করে।
  • ডেল্ফি: ডিডি , ফ্রি, ভাল মানের উত্স কোড উত্পাদন করে।
  • সি: হেক্সারেস , বাণিজ্যিক, একই কোম্পানির আইডিএ প্রো-এর জন্য একটি প্লাগইন। দুর্দান্ত ফলাফল উত্পাদন করে তবে একটি বড় অঙ্কের ব্যয় হয় এবং কেবল কারও কাছে বিক্রি করা হবে না (বা তাই আমি শুনেছি)।
  • .NET (সি #): ডটপিক , ফ্রি, ডিকম্পাইলস। নেট ০.০-৪.৫ সি সি তে সমাবেশ lies .Dll, .exe, .zip, .vsix, .nupkg, এবং .winmd ফাইলগুলির জন্য সমর্থন।

কিছু সম্পর্কিত সরঞ্জাম যা আপনি যা করছেন তাতে কার্যকর হতে পারে হ'ল রিসোর্সহ্যাকার (ফ্রি) এবং রিসোর্স এডিটর যেমন হেক্স ওয়ার্কশপ (বাণিজ্যিক) এর মতো একটি ভাল হেক্স সম্পাদক ।

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

ব্যক্তিগতভাবে, আমি অলি, উইনডিবিজি এবং ডাব্লু 32 ড্যাসম এবং কিছু ছোট ইউটিলিটি সরঞ্জাম দিয়ে রোল করি।

এছাড়াও, মনে রাখবেন যে অন্যান্য লোকের সফ্টওয়্যার বিচ্ছিন্ন করা বা ডিবাগ করা সাধারণত খুব কম সময়ে EULA এর বিপরীতে থাকে :)


16
আমি এর সাধারণতা, ভাল পরামর্শের শেষ অনুচ্ছেদের প্রশংসা করি, তবে এটি প্রশ্নের প্রসঙ্গে মজাদার: আমি সন্দেহ করি একটি ভাইরাস একটি EULA নিয়ে আসে! ;-)
ফিলিহো

4
প্রকৃতপক্ষে, কিছু ম্যালওয়্যার এমনকি এমনকি শেষের দিকে ট্রোজানগুলির মধ্যে EULA ছিল (ওহ, সেই রুশিয়ানরা ..) অবশ্যই, তারা গবেষণার দ্বারা এগুলি (এবং অবহেলিত) হতে পারে, কারণ ধারণা করা যেতে পারে যে তাদের বিরুদ্ধে মামলা করার জন্য কেউই এগিয়ে আসবে না। .. এছাড়াও, এগুলি যে কোনও ক্ষেত্রে আদালতে কোনও অর্থ বোঝাতে খুব খারাপভাবে লেখা হয়।
anon6439

2
নোট করুন যে আইডিএ প্রো এর পূর্ববর্তী সংস্করণটি অ-বাণিজ্যিক ব্যবহারের জন্য বিনামূল্যে।
সাইমন বুচান

6
দ্রষ্টব্য যে আজকাল বেশিরভাগ ম্যালওয়্যার (কমপক্ষে সংকলিত ম্যালওয়্যার) এটি VMWare, ভার্চুয়াল পিসি, WINE, ভার্চুয়ালবক্স ইত্যাদিতে চলছে কিনা তা সহজেই সনাক্ত করতে পারে
মিক

আপনি যদি কোনও ভিএম-তে চালাচ্ছেন তবে ব্লু পিল আক্রমণটি দেখুন।
সিকি লিন

44

সোসোলের দুর্দান্ত পোস্টটি আপনার প্রশ্নের উত্তর দিয়েছে যাতে আমি তাঁর ভাল কাজের প্রতিলিপি তৈরি করব না, তবে আমি কেন এটি একবারে পুরোপুরি বৈধ, তবে ভয়ঙ্কর নিরীহ প্রশ্নটি কেন তা ব্যাখ্যা করতে সহায়তা করবে বলে মনে করি। সর্বোপরি, এটা শেখার জায়গা, তাই না?

আধুনিক কম্পিউটার প্রোগ্রামগুলি পাঠ্য নির্দেশাবলীর একটি মানব-পঠনযোগ্য বডিটির ইনপুট দিয়ে শুরু করে ("উত্স কোড" বলা হয়) এবং কম্পিউটার-পাঠযোগ্য নির্দেশাবলীর সাথে শেষ হয় (বিকল্প হিসাবে "বাইনারি" বা "মেশিন" নামে পরিচিত) কোড ")।

কম্পিউটার যেভাবে মেশিন কোড নির্দেশের একটি সেট চালায় তা শেষ পর্যন্ত খুব সহজ। প্রসেসর নিতে পারে এমন প্রতিটি ক্রিয়া (উদাহরণস্বরূপ, মেমরি থেকে পড়া, দুটি মান যোগ করুন) একটি সংখ্যার কোড দ্বারা প্রতিনিধিত্ব করা হয়। যদি আমি আপনাকে বলেছিলাম যে 1 নম্বরটি হ'ল চিৎকার এবং 2 নম্বরটি হ'ল জিগگل, এবং তারপরে আপনি 1 বা 2 এর সাথে কার্ডগুলি ধরে রেখেছেন যাতে আপনি সেই অনুযায়ী চিৎকার করতে বা গিগল করতে পারেন, তবে আমি অবশ্যই একই সিস্টেমটি ব্যবহার করব যা কম্পিউটার ব্যবহার করে পরিচালনা করতে.

একটি বাইনারি ফাইল হ'ল সেই কোডগুলির একটি সেট (সাধারণত "ওপ কোডগুলি কল করুন) এবং তথ্য (" আর্গুমেন্ট ") যা ওপ কোডগুলি কাজ করে।

এখন, এসেম্বলি ল্যাঙ্গুয়েজ একটি কম্পিউটার ভাষা যেখানে ভাষার প্রতিটি কমান্ড শব্দ প্রসেসরের ঠিক একটি ওপ-কোড উপস্থাপন করে। একটি সংসদীয় ভাষা কমান্ড এবং প্রসেসরের অপ-কোডের মধ্যে সরাসরি 1: 1 টি অনুবাদ রয়েছে। একারণে একটি x386 প্রসেসরের কোডিং অ্যাসেম্বলি একটি এআরএম প্রসেসরের কোডিং সমাবেশের চেয়ে পৃথক than

অপ্রয়োজনীয় কেবল এটি: একটি প্রোগ্রাম বাইনারি (মেশিন কোড) এর মাধ্যমে পড়ে, অপ-কোডগুলিকে তাদের সমতুল্য ভাষা ভাষার কমান্ডগুলির সাথে প্রতিস্থাপন করে এবং ফলাফলটিকে পাঠ্য ফাইল হিসাবে আউটপুট করে। এটি বোঝা গুরুত্বপূর্ণ; যদি আপনার কম্পিউটার বাইনারিটি পড়তে পারে, তবে আপনি নিজে বাইনারিটি পড়তে পারেন, ম্যানুয়ালি আপনার হাতে একটি অপ-কোড টেবিল (আইক) অথবা একটি বিচ্ছিন্নতার মাধ্যমে।

ডিসেসেমব্লারদের কিছু নতুন কৌশল এবং সমস্ত রয়েছে, তবে এটি বোঝা গুরুত্বপূর্ণ যে একটি বিচ্ছিন্নকারী শেষ পর্যন্ত একটি অনুসন্ধান এবং প্রতিস্থাপন প্রক্রিয়া। যে কারণে যে কোনও EULA এটি নিষিদ্ধ করে তা শেষ পর্যন্ত গরম বাতাস প্রবাহিত করে। আপনি কম্পিউটারটিকে একবারে প্রোগ্রামের ডেটা পড়ার অনুমতি দিতে পারবেন না এবং কম্পিউটারটিকে প্রোগ্রামের ডেটা পড়তে নিষেধও করতে পারবেন না।

(আমাকে ভুল করবেন না, এমন করার চেষ্টা করা হয়েছে They তারা গানের ফাইলগুলিতে ডিআরএম পাশাপাশি কাজ করে))

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

বেশিরভাগ পেশাদার প্রোগ্রামাররা মাথা ব্যথা না পেয়ে বসে বসে সমাবেশের ভাষা পড়তে পারবেন না। একটি অপেশাদার জন্য এটি ঘটছে না ঠিক।

যাইহোক, এটি কিছুটা চমকপ্রদ ব্যাখ্যা, তবে আমি আশা করি এটি সাহায্য করবে helps প্রত্যেকেই আমার পক্ষ থেকে যেকোন ভুল বিধি সংশোধন করতে নির্দ্বিধায় থাকতে পারে; কিছুক্ষণ হবে. ;)


1
এটি বিচ্ছিন্নতার উপর বিশদ বিবরণ দেয় তবে আমি পচে যাওয়ার বিষয়ে বিশদ শুনতে চাই। এটি কি ঠিক তেমন ফলহীন হওয়ার সম্ভাবনা রয়েছে? এটার সাবধানতা কি?
প্রমিথিউস

@ যেহেতু: নেটিভ কোডটি ডিকম্পল করা একটি বেশ শক্ত চ্যালেঞ্জ, প্রায়শই ডান-আউট অসম্ভব। অপ্টিমাইজারগুলি অত্যন্ত আক্রমণাত্মক, ঘন ঘন সোর্স কোডকে কিছুতেই অনুবাদ করে না। আপনি কিছুই ক্ষয় করতে পারবেন না।
IInspectable


11

যে কোনও শালীন ডিবাগার এটি করতে পারেন। অলিডিবিজি চেষ্টা করুন । (সম্পাদনা করুন: এতে একটি দুর্দান্ত ডিসেসেমব্লার রয়েছে যা উইনাপি কলের পরামিতিগুলিকে ডিকোডও করে!)


10

x64dbg সক্রিয়ভাবে রক্ষণাবেক্ষণ করা একটি ভাল এবং ওপেন সোর্স ডিবাগার।



6

যদি আপনি কেবল ম্যালওয়্যারটি কী করে তা বোঝার চেষ্টা করছেন, ফ্রি টুল প্রসেস মনিটরের মতো এটির অধীনে চালানো খুব সহজ হতে পারে যা যখনই ফাইল সিস্টেম, রেজিস্ট্রি, পোর্ট ইত্যাদি অ্যাক্সেস করার চেষ্টা করবে তখন রিপোর্ট করবে ...

এছাড়াও, ফ্রি ভিএমওয়্যার সার্ভারের মতো ভার্চুয়াল মেশিন ব্যবহার এই ধরণের কাজের জন্য খুব সহায়ক। আপনি একটি "পরিষ্কার" চিত্র তৈরি করতে পারেন এবং তারপরে আপনি যখনই ম্যালওয়্যারটি চালাবেন কেবল তখনই ফিরে যেতে পারেন।


4

আপনি এটি সমাবেশে দেখতে কিছু তথ্য পেতে পারেন তবে আমি মনে করি সবচেয়ে সহজ কাজটি হ'ল ভার্চুয়াল মেশিনে আগুন জ্বালানো এবং এটি কী করে তা দেখুন। নিশ্চিত হয়ে নিন যে আপনার কোনও খোলা শেয়ার বা এর মতো কিছু নেই যা এটি পেরিয়ে যেতে পারে;)


হ্যাঁ, আমি এটি সম্পর্কে ভেবেছিলাম, তবে আমি এটি হত্যা করার জন্য কোনও ভিএম স্থাপনের ঝামেলা
পেরিয়ে যাব

1
সত্য, এটি এই একটি ক্ষেত্রে ঝামেলা, তবে আমি সবসময় মনে করি যে এটি নতুন সফ্টওয়্যার বা স্টাফের পরীক্ষার জন্য কোনও ভিএম রাখার পক্ষে দরকারী। তারপরে আমি যা খুশি তাই করতে পারি এবং শেষের দিকে রাষ্ট্র সংরক্ষণ না করা এবং পরবর্তী রানের জন্য পরিষ্কার ভিএম-তে ফিরে যেতে বেছে নিতে পারি।
রব প্রসেস

4

বুমেরাং চেক আউট মূল্যবান হতে পারে।


আসলে তা না. এটি সবচেয়ে তুচ্ছ এক্সিকিউটেবলের চেয়ে জটিল কোনও কিছুর জন্য ক্রাশ এবং পোড়া হয়।
5


3

আমি বিশ্বাস করতে পারি না কেউ এখনও ইমিউনিটি ডিবাগার সম্পর্কে কিছুই বলেনি ।

অনাক্রম্যতা ডিবাগার হ'ল শোষণগুলি লিখতে, ম্যালওয়্যার বিশ্লেষণ করতে, এবং ইঞ্জিনিয়ার বাইনারি ফাইলগুলি বিপরীত করতে একটি শক্তিশালী সরঞ্জাম। এটি প্রাথমিকভাবে অলিডবিজি ১.০ উত্স কোডের উপর ভিত্তি করে তৈরি হয়েছিল, তবে নামগুলি পুনর্বিবেচনা বাগ সংশোধন করা হয়েছে। সহজে এক্সটেনসিবিলিটির জন্য এটিতে একটি ভাল সাপোর্ট পাইথন এপিআই রয়েছে , যাতে বিশ্লেষণে আপনাকে সহায়তা করতে আপনি আপনার পাইথন স্ক্রিপ্টগুলি লিখতে পারেন।

এছাড়াও, কোরেলান দলের একজন ভাল পিটার লিখেছেন mona.py নামে একটি দুর্দান্ত সরঞ্জাম বিটিডব্লিউ


2

আপনি যদি কম্পিউটারটি সংক্রামিত না করে এটি কী করে তা প্রোগ্রামটি চালাতে চান, ভিএমওয়্যার বা মাইক্রোসফ্ট ভিপিসির মতো ভার্চুয়াল মেশিন বা স্যান্ডবক্সআইআইয়ের মতো প্রোগ্রামটি স্যান্ডবক্স করতে পারে এমন একটি প্রোগ্রাম ব্যবহার করুন




2

আমি 2019 সালে বলব, ঝিদ্রা ( https://ghidra-sre.org/ ) পরীক্ষা করে দেখার মতো। এটি ওপেন সোর্স (এবং ফ্রি), এবং অসাধারণ কোড বিশ্লেষণ ক্ষমতা রয়েছে, এতে মোটামুটি পঠনযোগ্য সি কোডের সমস্ত উপায় ডিকম্পাইল করার ক্ষমতা সহ।


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