প্রকল্প সম্পর্কে
unidbg একটি ওপেন সোর্স জাভা-ভিত্তিক প্রকল্প যা অ্যান্ড্রয়েড নেটিভ লাইব্রেরি (ELF) এবং iOS বাইনারি (Mach-O) এমুলেট করার জন্য ডিজাইন করা হয়েছে। এটি মূলত নিরাপত্তা গবেষণা, রিভার্স ইঞ্জিনিয়ারিং এবং মোবাইল অ্যাপ্লিকেশনের ডায়নামিক বিশ্লেষণের জন্য ব্যবহৃত হয়।
মূল ক্ষমতাগুলির মধ্যে রয়েছে:
- **আর্কিটেকচার সমর্থন**: ARM32 এবং ARM64 বাইনারি কোড এমুলেট করে।
- **একাধিক ব্যাকএন্ড**: Unicorn, dynarmic, Apple M1 হাইপারভাইজার (macOS-এ দ্রুত ARM64 এমুলেশনের জন্য), এবং Raspberry Pi-তে Linux KVM সমর্থন করে।
- **AI-সহায়ক ডিবাগিং (MCP)**: Model Context Protocol (MCP) সংহত করে যাতে AI টুল (যেমন Cursor) এমুলেশনের সময় রেজিস্টার, মেমরি, ডিসঅ্যাসেম্বলি পরিদর্শন করতে, ব্রেকপয়েন্ট সেট করতে, নির্দেশ ট্রেস করতে এবং নেটিভ ফাংশন কল করতে পারে।
- **হুকিং সমর্থন**: Dobby-এর মাধ্যমে ইনলাইন হুকিং, xHook-এর মাধ্যমে অ্যান্ড্রয়েড ইমপোর্ট হুকিং এবং fishhook, substrate ও whale-এর মাধ্যমে iOS হুকিং সংহত করে।
- **JNI এমুলেশন**: JNI Invocation API, JavaVM এবং JNIEnv সমর্থন করে, যা JNI_OnLoad চালানোর অনুমতি দেয়।
- **মেমরি লিক সনাক্তকরণ**: গেস্ট মেমরি বরাদ্দ ট্র্যাক করে এবং গেস্ট ARM ব্যাকট্রেস ও হোস্ট জাভা স্ট্যাক ট্রেস সহ রিপোর্ট তৈরি করে।
- **ওয়ার্কার পুল**: সমবর্তী টাস্ক প্রক্রিয়াকরণের সময় রিসোর্স ইনিশিয়ালাইজেশন ওভারহেড কমাতে থ্রেড-নিরাপদ এমুলেটর পুল অফার করে।
- **ডিবাগিং ও ট্রেসিং**: কনসোল ডিবাগার, GDB স্টাব, নির্দেশ ট্রেসিং এবং মেমরি রিড/রাইট ট্রেসিং বৈশিষ্ট্য রয়েছে।
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.