প্রকল্প সম্পর্কে

NeverD হলো একটি বাইনারি বিশ্লেষণ ও ডিকম্পাইলেশন ইঞ্জিন, যা AI-বান্ধব কর্মপ্রবাহের জন্য ডিজাইন করা হয়েছে এবং ১:১ ইনস্ট্রাকশন-লেভেল লিফটিংয়ের উপর ভিত্তি করে তৈরি। এটি নেটিভ ফরম্যাট (PE, ELF, Mach-O) এবং স্মার্ট-কন্ট্রাক্ট বাইটকোড (লিগ্যাসি EVM, Solana SBF ELF) সমর্থন করে। নেটিভ টার্গেট Capstone দিয়ে ডিকোড করা হয়; EVM এবং SBF নির্দিষ্ট সংস্করণ-সচেতন ডিকোডার ব্যবহার করে। সমর্থিত সকল ইনস্ট্রাকশন LLVM IR, C, Rust (SBF-এর জন্য), Solidity-ভিত্তিক EVM পুনর্গঠন, বা নেটিভ টার্গেটে পুনর্লিখিত বাইনারিতে পর্যবেক্ষণযোগ্য আচরণ সংরক্ষণ করে। Strict মোড ডিফল্টভাবে সক্রিয় থাকে: অসমর্থিত ইনস্ট্রাকশন নীরবে এড়িয়ে যাওয়া বা NOP নির্গত করার পরিবর্তে একটি `UnliftedInstruction` ত্রুটি নিক্ষেপ করে। ইঞ্জিনটি একটি বিশুদ্ধ C API (`libneverd`) প্রকাশ করে, যা CLI টুল, ইন্টিগ্রেটর এবং AI এজেন্টরা ব্যবহার করে, Capstone, LLVM বা অভ্যন্তরীণ C++-এর সাথে সরাসরি লিংকেজ এড়িয়ে। মূল সক্ষমতাগুলির মধ্যে রয়েছে: - **লিফটিং**: বাইনারিকে LLVM IR-এ রূপান্তর করা। - **ডিকম্পাইলেশন**: `--language`-এর মাধ্যমে C, Solidity (EVM), বা Rust (SBF) আউটপুট দেওয়া। - **প্যাচিং**: সেকশন ট্রাম্পোলিন বা ইন-প্লেস ওভাররাইট দিয়ে নেটিভ বাইনারি পুনর্লিখন করা। - **মোবাইল রিকভারি**: Android (APK/DEX/smali থেকে Java) এবং iOS (IPA/.app/Mach-O থেকে C/Objective-C/Swift)-এর জন্য পরীক্ষামূলক CLI। - **বিশ্লেষণ কমান্ড**: `info`, `funcs`, `disasm`, `sym-explore`, `audit`, `hunt`, `cfg`, `callgraph`, `xrefs`, `strings`, `diff`, `sigs`, এবং আরও অনেক কিছু, JSON আউটপুট সমর্থনসহ। - **ইন্টারপ্রেটার রিকভারি**: x64 ELF/PE ইন্টারপ্রেটারকে C বা LLVM IR-এ পরীক্ষামূলক ডিভার্চুয়ালাইজেশন। - **CPU এমুলেশন**: ঐচ্ছিক x64/ARM64 CPU স্তর এবং সীমাবদ্ধ Windows ড্রাইভার এমুলেশন (WDM/KMDF)। সমর্থিত আর্কিটেকচারের মধ্যে রয়েছে x86-64, i386, AArch64, ARM32, EVM256, এবং SBF। পাইপলাইনটি একটি স্তরভিত্তিক IR ব্যবহার করে: LowIR (আর্কিটেকচার-নিরপেক্ষ অপকোড + CFG), MedIR (টাইপ, ABI, মেমরি, SSA), HighIR (স্ট্রাকচার্ড কন্ট্রোল ফ্লো), এবং অপ্টিমাইজেশন ও কোডজেনের জন্য LLVM। বিল্ড করতে প্রয়োজন CMake ≥ 3.20, Ninja, একটি C++20 কম্পাইলার, এবং Git সাবমডিউল (LLVM ফর্ক + Capstone)। macOS arm64, Linux x86_64, এবং Windows x64-এর জন্য প্রি-বিল্ট LLVM প্যাকেজ উপলব্ধ। প্রকল্পটিতে একটি Qt Quick ডেস্কটপ ওয়ার্কবেঞ্চ (ঐচ্ছিক) রয়েছে, যাতে ডকযোগ্য ভিউ এবং MCP সংযোগ রয়েছে। SDK সমর্থনের মধ্যে রয়েছে একটি বিশুদ্ধ C API (`NeverDCAPI.h`) এবং একটি প্লাগইন ABI (`NeverDPlugin.h`), সাথে একটি টাইপড Python প্লাগইন প্যাকেজ। প্লাগইনগুলি নেটিভ শেয়ার্ড লাইব্রেরি বা Python ফাইল হতে পারে, যা স্ট্যান্ডার্ড প্লাগইন পাথের মাধ্যমে আবিষ্কৃত হয়। লাইসেন্স: GNU AGPL v3 only। LLVM উপাদানগুলি Apache-2.0 WITH LLVM-exception ধরে রাখে; Capstone তার নিজস্ব লাইসেন্স ধরে রাখে।