
مساعد هندسة عكسية يستخدم نموذج لغوي كبير (LLM) يعمل محليًا للمساعدة في تحليل الكود الزائف.
"جزء كبير من العيوب في تطوير البرمجيات يعود إلى عدم فهم المبرمجين بشكل كامل لجميع الحالات المحتملة التي قد ينفَّذ فيها كودهم." -- جون كارماك
"هل يمكنها تشغيل Doom؟" -- https://canitrundoom.org/
Oneiromancer هي أداة مساعدة في الهندسة العكسية تستخدم نموذج لغة كبير (LLM) يعمل محليًا ومضبوطًا بدقة للكود الزائف الخاص بـ Hex-Rays للمساعدة في تحليل الكود. يمكنها تحليل دالة أو مقتطف كود أصغر، وتُرجع وصفًا عالي المستوى لما يفعله الكود، واسمًا موصى به للدالة، واقتراحات لإعادة تسمية المتغيرات، بناءً على نتائج التحليل.

mistral-7b-instruct.analyze_code أو analyze_file لتحليل الكود الزائف ثم معالجة نتائج التحليل.أسهل طريقة للحصول على أحدث إصدار هي عبر crates.io:
cargo install oneiromancer
لتثبيتها كمكتبة، نفّذ الأمر التالي في دليل مشروعك:
cargo add oneiromancer
بدلاً من ذلك، يمكنك البناء من المصدر:
git clone https://github.com/0xdea/oneiromancer
cd oneiromancer
cargo build --release
wget https://huggingface.co/AverageBusinessUser/aidapal/resolve/main/aidapal-8k.Q4_K_M.gguf
wget https://huggingface.co/AverageBusinessUser/aidapal/resolve/main/aidapal.modelfile
ollama create aidapal -f aidapal.modelfile
ollama list
export OLLAMA_BASEURL=custom_baseurl # if not set, the default will be used
export OLLAMA_MODEL=custom_model # if not set, the default will be used
oneiromancer <target_file>.c
<target_file>.out.c:
vim <target_file>.out.c
code <target_file>.out.c
[!TIP] للحصول على أفضل النتائج، أرسل دالة واحدة في كل مرة ليتم تحليلها بواسطة نموذج LLM.
تم اختباره مع Ollama 0.32.9 على:
aidapal <3aidapal لـ IDA Pro المكتوب بلغة IDAPython (مثل السياق).aidapal وتنفيذ بنية معيارية لإضافة نماذج LLM مخصصة.