
الشرائح والملفات الخاصة بورشة عمل Reversing Rust Binaries: One step beyond strings في REcon 2024، والتي قُدِّمت في 28 يونيو 2024.
يحتوي هذا المستودع على الملفات المساعدة لورشة عمل هندسة عكسية لثنائيات Rust: خطوة أبعد من السلاسل النصية في REcon 2024، والتي قُدِّمت في 28 يونيو 2024.
خلال العرض التقديمي، سنقوم ببناء وهندسة عكسية لملف ثنائي بسيط جدًا بلغة Rust - وهو مُنزِّل غير ضار. الكود المصدري لهذا المُنزِّل موجود داخل هذا المستودع، في مجلد simple-downloader/.
اقرأ أدناه للحصول على تعليمات الإعداد قبل الورشة!
لإعداد سهل، يمكنك تنزيل جهاز Ubuntu افتراضي مُهيأ مسبقًا يتضمن كل ما يلي:
rust-analyzer مثبتة مسبقًا (للإكمال التلقائي وتلميحات التوثيق)simple-downloader/ من هذا المستودعsimple-downloader الثنائييمكنك تنزيل ملف الجهاز الافتراضي (ملف .OVA) من هنا: https://drive.google.com/file/d/1pM1MwQf4Ccjt-KokbV1RFh8C9tv48jrt/view?usp=sharing
يمكنك بعد ذلك استيراد ملف OVA هذا إلى برنامج الأجهزة الافتراضية لديك (مثل VMware Workstation أو VMWare Fusion أو VirtualBox وما إلى ذلك).
الحساب الرئيسي على الجهاز الافتراضي له اسم المستخدم user وكلمة المرور user.
إذا كنت ترغب في حضور هذه الورشة من على جهازك الخاص، فستحتاج إلى ما يلي:
https://sh.rustup.rs/rustup-init.sh)؛ ومع ذلك، يمكن تكييف الكود بسهولة كبيرة مع ويندوز أيضًا.simple-downloader الثنائي متاح هنا: prebuilt-files/rust-reversing-workshop-2024_2024_05_17.garsimple-downloader الثنائية في مشروع Ghidra متاحة أيضًا بشكل منفصل:
تعليمات الإعداد الرسمية لسلسلة الأدوات موجودة على https://rustup.rs/. اتبع التعليمات هناك؛ ستعرض الصفحة تعليمات محددة لنظام تشغيلك.
تحقق، بعد التثبيت، من أنك تستطيع تشغيل كل من أداتي rustup و cargo المثبتتين حديثًا:
$ rustup --version
rustup 1.27.0 (bbb9276d2 2024-03-08)
info: This is the version for the rustup toolchain manager, not the rustc compiler.
info: The currently active `rustc` version is `rustc 1.77.1 (7cf61ebde 2024-03-27)`
$ cargo --version
cargo 1.77.1 (e52e36006 2024-03-26)
سنستخدم إصدار Rust 1.77.1 في هذه الورشة، لذا ثبِّت هذا الإصدار، وبدّل سلسلة أدواتك إلى هذا الإصدار كإصدار افتراضي لجميع عمليات البناء:
rustup install 1.77.1
rustup default 1.77.1
إذا كنت تبني على ويندوز أو macOS، يمكنك تخطي هذه الخطوة.
إذا كنت تبني على لينكس: تعتمد أجزاء من هذا البناء على gcc و ld و pkg-config وترويسات تطوير OpenSSL. على Ubuntu، يمكنك تثبيتها باستخدام
sudo apt install build-essential
sudo apt install pkg-config
sudo apt install libssl-dev