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

mistral-7b-instruct.analyze_code أو analyze_file لتحليل الشيفرة الزائفة ثم معالجة نتائج التحليل.أسهل طريقة للحصول على أحدث إصدار هي عبر crates.io:
cargo install oneiromancer --locked
للتثبيت كمكتبة، شغّل الأمر التالي في دليل مشروعك:
cargo add oneiromancer
بدلاً من ذلك، يمكنك البناء من المصدر:
git clone --depth 1 https://github.com/0xdea/oneiromancer
cd oneiromancer
cargo build --release --locked
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] للحصول على أفضل النتائج، أرسل دالة واحدة في كل مرة ليحللها النموذج اللغوي الكبير.
تم الاختبار مع Ollama 0.32.9 على:
aidapal <3aidapal (مثل السياق).aidapal وتنفيذ بنية معيارية لإضافة نماذج لغوية كبيرة مخصصة.