
إضافة لـ Binary Ninja تدمج نماذج Ollama المحلية لإعادة تسمية الدوال والمتغيرات في كود HLIL المفكوك، مع الحفاظ على الخصوصية عبر إبقاء التحليل محليًا بالكامل وغير متصل بالإنترنت.
المؤلف: Austin Haggard
يتكامل Binary Ninja Ollama مع خادم ollama المُستضاف محليًا لديك لإعادة تسمية الدوال والمتغيرات باستخدام الذكاء الاصطناعي
Ollama هي أداة تتيح لك سحب نماذج الذكاء الاصطناعي مفتوحة المصدر وتشغيلها محليًا. تتطلب بعض النماذج قوة حاسوبية كبيرة، بينما يمكن تشغيل البعض الآخر على حاسوبك الشخصي. ستختلف النتائج بشكل كبير اعتمادًا على النموذج الذي تختار استخدامه :).
لماذا تستخدم هذا بدلاً من sidekick/openai؟
هذه الإضافة تدمج Ollama مع Binary Ninja وتدعم الإجراءات المذكورة أدناه:
إذا كنت تثبّت هذه الإضافة كإضافة مستقلة، يمكنك وضع (أو ربطه كرابط رمزي) هذا في مسار إضافات Binary Ninja. المسارات الافتراضية موضحة في توثيق Vector 35.
ollama باستخدام pip3 install ollamaيتطلب هذا أن يكون لديك إمكانية الوصول إلى خادم ollama أو استضافته بنفسك وسحب أي نماذج ترغب في استخدامها.
اتبع التعليمات على https://ollama.com لإعداد خادمك وسحب أي نماذج ترغب في تجربتها. بمجرد الانتهاء من ذلك، يجب أن يتم تشغيل الخادم تلقائيًا والوصول إليه عبر localhost:11434.
سيقوم خيار إعادة تسمية جميع متغيرات الدوال بتحليل جميع المتغيرات داخل دالة ومحاولة إعادة تسميتها بناءً على المطالبة التالية:
prompt = (
f"In one word, what should the variable '{variable}' be named in the below Function? "
f"The name must meet the following criteria: all lowercase letters, usable in Python code"
)

سيقوم خيار إعادة تسمية جميع الدوال بالمرور على جميع الدوال، من الأصغر إلى الأكبر، داخل binaryview وإعادة تسميتها بناءً على المطالبة التالية:
prompt = (
f"Given the following HLIL decompiled code snippet, provide a Python-style function name that describes what the code is doing. "
f"The name must meet the following criteria: all lowercase letters, usable in Python code, with underscores between words. "
f"Only return the function name and no other explanation or text data included."
)

تستخدم إعادة تسمية دالة مستهدفة نفس المطالبة المستخدمة في إعادة تسمية جميع الدوال، ولكنها تقتصر على الدالة المحددة عند تشغيل الإضافة.
تستخدم إعادة تسمية متغير مستهدف نفس المطالبة المستخدمة في إعادة تسمية جميع المتغيرات، ولكنها تقتصر على الدالة المحددة عند تشغيل الإضافة.
يتم تفعيل الإعدادات عند أول استدعاء لأي عملية إعادة تسمية عند بدء تشغيل Binary Ninja لأول مرة، أو عن طريق تفعيلها يدويًا. ستبقى الإعدادات المطبقة سارية داخل جلسة Binary Ninja.
تتيح لك نافذة الإعدادات تحديد عنوان IP والمنفذ والنموذج المراد استخدامه داخل ollama. يمكن فقط اختيار النماذج التي تم تنزيلها.

هل هناك أي شيء يهمك غير مضمّن؟
أفكار:
تم إصدار هذه الإضافة بموجب ترخيص MIT.