วิศวกรรมย้อนกลับ Android ที่ยอดเยี่ยม

รายการการฝึกอบรมด้านวิศวกรรมย้อนกลับของ Android Reverse ทรัพยากรและเครื่องมือที่ยอดเยี่ยม
วิธีใช้
การออกแบบทางวิศวกรรมที่ยอดเยี่ยม-Android-Reverse เป็นรายการที่น่าทึ่งสำหรับผู้ที่ทำงานในการแยกแอพพลิเคชั่นระบบหรือส่วนประกอบของ Android เพียงกด ctrl + F เพื่อค้นหาคำหลักผ่านเมนูเนื้อหาของเราหรือมองหา '☆' ซึ่งระบุแหล่งข้อมูลที่ยอดเยี่ยมและทันสมัย
สารบัญ
- การฝึกอบรม
- หลักสูตรและวัสดุ
- วิดีโอ
- หนังสือ
- เครื่องมือ
- เครื่องมือวิเคราะห์แบบคงที่
- เครื่องมือวิเคราะห์แบบไดนามิก
- ผู้ถอดรหัส
- การวิเคราะห์มัลแวร์
- ทรัพยากร
- CTFS และ Crackme
- ผิด
การฝึกอบรม
หลักสูตรและวัสดุ
- ☆การฝึกอบรมวิศวกรรมย้อนกลับ Anddie ของ Maddie Stone - หลักสูตรการฝึกอบรมออนไลน์ที่ครอบคลุมเกี่ยวกับ Android Reverse Engineering โดย Maddie Stone
- บทนำสู่แอสเซมบลีจาก Azeria Labs - ครอบคลุมทุกอย่างจากประเภทข้อมูลการลงทะเบียนชุดคำสั่ง ARM คำแนะนำหน่วยความจำและอื่น ๆ
- การทดสอบการเจาะ Android จาก #Todo - หลักสูตรนี้จะเห็นคุณพัฒนาความรู้พื้นฐานเกี่ยวกับสิ่งที่เกี่ยวข้องกับการทดสอบการเจาะมือถือพร้อมกับเครื่องมือเทคนิคและกรอบการทำงานเฉพาะที่เกี่ยวข้องกับการแยกและวิเคราะห์แอปพลิเคชัน Android
วิดีโอ
- Kristina Balaam Android Reverse Engineering - ซีรีย์วิดีโอเกี่ยวกับพื้นฐานด้านวิศวกรรมย้อนกลับและมัลแวร์ Android วิศวกรรมย้อนกลับ
- Lauiewired Android Reverse Engineering Videos - ช่อง YouTube ที่มุ่งเน้นไปที่ Android Reverse Engineering
- การใช้ Frida เพื่อแก้ไขเกม Android | Mobile Dynamic Instrumentation - มุ่งเน้นไปที่แอพพลิเคชั่น Android วิศวกรรมย้อนกลับและการใช้ FRIDA เพื่อปรับเปลี่ยนเกม Android แบบไดนามิก
หนังสือ
- ☆ Android Internals: ตำราอาหารขนม-การสำรวจเชิงลึกเกี่ยวกับการทำงานด้านในของ Android: ในเล่มที่ 1 เราใช้มุมมองของผู้ใช้พลังงานในขณะที่เราเจาะลึกลงไปในฐานรากของ Android ระบบไฟล์พาร์ติชันกระบวนการบูต
- Blue Fox: ALM ASSEMBLY ภายในและวิศวกรรมย้อนกลับ - ให้ผู้อ่านมีรากฐานที่แข็งแกร่งในการประกอบแขนและพื้นฐานด้านวิศวกรรมย้อนกลับเป็นพื้นฐานสำหรับการวิเคราะห์และรักษาความปลอดภัยของอุปกรณ์แขนหลายพันล้าน
- ซอฟต์แวร์ Android Internals อ้างอิงอย่างรวดเร็ว - หนังสือเล่มนี้มุ่งเน้นไปที่เทคนิคที่ย่อยได้มีประโยชน์และน่าสนใจอย่างง่ายดายในระบบ Java และ Android รวมถึง: การเข้ารหัสและการทำให้งงการดีบักและการสกัด APK
- ☆คู่มือพกพาความปลอดภัยที่น่ารังเกียจมือถือ - มุ่งเน้นไปที่ระบบปฏิบัติการ Android และ iOS หนังสือเล่มนี้มีชุดของบทสั้น ๆ ที่เน้นข้อมูลที่สำคัญวิธีการและเครื่องมือที่ใช้โดยผู้ทดสอบการเจาะมือถือและผู้ปฏิบัติงานด้านความปลอดภัยที่น่ารังเกียจ
- Android Security Internals - การอธิบายสถาปัตยกรรมความปลอดภัยของ Android จากล่างขึ้นบนลึกลงไปในการดำเนินการตามส่วนประกอบและระบบย่อยที่เกี่ยวข้องกับความปลอดภัยที่สำคัญเช่น IPC Binder, สิทธิ์ผู้ให้บริการเข้ารหัสและการบริหารอุปกรณ์
- การตรวจจับมัลแวร์ Android ด้วยการเรียนรู้ของเครื่อง - ตรวจสอบเทคนิคการเรียนรู้ของเครื่องที่ใช้ในการตรวจจับแอพที่เป็นอันตรายประเภทของแบบจำลองการจำแนกประเภทที่ผู้พิทักษ์สามารถใช้และคุณสมบัติต่าง ๆ ของตัวอย่างมัลแวร์ที่สามารถป้อนเข้ากับรุ่นเหล่านี้
เครื่องมือ
เครื่องมือวิเคราะห์แบบคงที่
- QARK - เครื่องมือโอเพ่นซอร์สที่พัฒนาโดย LinkedIn สำหรับการสแกนช่องโหว่แอพ Android อัตโนมัติรวมถึงการระบุปัญหาความปลอดภัยที่อาจเกิดขึ้นเช่นการฉีด SQL การจัดเก็บข้อมูลที่ไม่ปลอดภัยและอื่น ๆ
- Quark Engine - เป้าหมายของ Quark Script มีจุดมุ่งหมายเพื่อให้วิธีการที่เป็นนวัตกรรมสำหรับนักวิจัยด้านความปลอดภัยมือถือในการวิเคราะห์หรือ pentest เป้าหมาย จากควาร์กเรารวมเครื่องมือที่เหมาะสมเป็น API สคริปต์ควาร์กและทำให้พวกเขาแลกเปลี่ยนความฉลาดที่มีค่าซึ่งกันและกัน
- MOBSF - กรอบการทดสอบความปลอดภัยของแอพโอเพนซอร์ซที่สนับสนุนการวิเคราะห์แบบคงที่และแบบไดนามิกของแอพ Android สำหรับช่องโหว่และปัญหาความเป็นส่วนตัว
- Androbugs Framework - กรอบโอเพนซอร์ซสำหรับการวิเคราะห์และสแกนแอพ Android สำหรับปัญหาด้านความปลอดภัยรวมถึงความสามารถในการวิเคราะห์แบบคงที่และแบบไดนามิก
- ☆ IMJTool - เครื่องมือการแกะเฟิร์มแวร์ที่ใช้บังคับกับผู้ขายและรูปแบบที่หลากหลายที่สุด
- Android Studio - มีประโยชน์หากคุณไม่มีใบอนุญาต JEB และต้องการเปิดแอพ (ผ่าน JADX) ลงใน IDE ที่เหมาะสม
- ☆กราฟการพึ่งพา APK - Visualizer การพึ่งพาคลาส APK มีประโยชน์สำหรับการทำแผนที่พื้นผิวการโจมตี
- Disarm-ยูทิลิตี้บรรทัดคำสั่งง่ายๆที่ใช้เป็นอาร์กิวเมนต์หมายเลขเลขฐานสิบหก 32 บิตและแยกวิเคราะห์เป็นคำสั่ง ARM-64 ให้การถอดชิ้นส่วน
- COVA - COVA เป็นเครื่องมือวิเคราะห์แบบคงที่ในการคำนวณข้อ จำกัด เส้นทางตาม API ที่ผู้ใช้กำหนด
- dis {integrity} - เครื่องมือสำหรับการวิเคราะห์ apks Android และการแยกรูท, ความสมบูรณ์และการตรวจจับการตรวจจับการงัดแงะ
การทำให้เข้าใจผิด
- ☆ obfu [de] scate - obfu [de] scate เป็นเครื่องมือ de -bfuscation สำหรับ apks Android ที่ใช้ตรรกะการเปรียบเทียบฟัซซี่เพื่อระบุความคล้ายคลึงกันระหว่างฟังก์ชั่นแม้ว่าพวกเขาจะถูกเปลี่ยนชื่อเป็นส่วนหนึ่งของการทำให้งงงวย มันเปรียบเทียบ APK สองเวอร์ชันและสร้างไฟล์ข้อความการแมปและไฟล์ HTML แบบโต้ตอบเป็นเอาต์พุต!
- Tinysmaliemulator - ตัวจำลอง SMALI มินิมัลลิสต์ที่สามารถใช้ในการ "ถอดรหัส" สตริงที่ทำให้งง
- ง่ายขึ้น - เครื่องเสมือน Android และ deobfuscator
- deoptfuscator - deoptfuscator เป็นเครื่องมือสำหรับแอปพลิเคชัน Android deobfuscating ที่ได้รับการเปลี่ยนแปลงโดยใช้กลไกการทำให้ง่วงนอนควบคุม
เครื่องมือวิเคราะห์แบบไดนามิก
- Drozer - เฟรมเวิร์กโอเพ่นซอร์สสำหรับการทดสอบความปลอดภัยของ Android ที่ให้ชุดเครื่องมือที่ครอบคลุมสำหรับการวิเคราะห์แบบไดนามิกรวมถึงการสกัดกั้นการปรับเปลี่ยนและการวิเคราะห์ปริมาณการใช้งานแอพ
- Jtrace - Strace for Android - สำหรับการติดตามการโทรระดับระบบรวมถึงสารยึดเกาะ
- SESEARCH - เครื่องมือบรรทัดคำสั่งเพื่อสอบถามนโยบาย SELINUX
- autodroid - เครื่องมือสำหรับการรวบรวมมวล apks จากอุปกรณ์การถอดรหัสการกรองในสตริง ฯลฯ
การสร้างเครือข่าย
- ☆ Burp Suite - เครื่องมือทดสอบความปลอดภัยทางเว็บเชิงพาณิชย์ที่ได้รับความนิยมซึ่งสามารถใช้สำหรับการวิเคราะห์การรับส่งข้อมูลเครือข่ายของแอพ Android สำหรับช่องโหว่ด้านความปลอดภัยที่อาจเกิดขึ้น
- Wireshark - เครื่องวิเคราะห์โปรโตคอลเครือข่ายโอเพนซอร์ซที่ใช้กันอย่างแพร่หลายซึ่งสามารถจับภาพวิเคราะห์และแยกการรับส่งข้อมูลเครือข่ายที่สร้างโดยแอพ Android เพื่อการวิเคราะห์ความปลอดภัย
- SSLSPLIT - เครื่องมือโอเพ่นซอร์สสำหรับการสกัดกั้นและจัดการกับการรับส่งข้อมูลที่เข้ารหัส SSL/TLS ซึ่งสามารถใช้สำหรับการวิเคราะห์การสื่อสาร SSL/TLS ในแอพ Android
- MITMProxy-พร็อกซีโอเพนซอร์ส-แหล่งกลางที่ช่วยให้การสกัดกั้นและวิเคราะห์ทราฟฟิกเครือข่ายที่สร้างโดยแอพ Android สำหรับการทดสอบและการวิเคราะห์ความปลอดภัย
- APK -MITM - แอปพลิเคชัน CLI ที่เตรียมไฟล์ Android APK โดยอัตโนมัติสำหรับการตรวจสอบ HTTPS
เครื่องมือวัดแบบไดนามิก
- ☆ Frida - ชุดเครื่องมือเครื่องมือวัดแบบไดนามิกสำหรับแอพ Android ที่อนุญาตให้ใช้งานการจัดการรันไทม์และการวิเคราะห์พฤติกรรมแอพ
- Xposed Framework - เฟรมเวิร์กที่ทรงพลังสำหรับการเชื่อมต่อและปรับเปลี่ยนพฤติกรรมของแอพ Android ที่รันไทม์ซึ่งใช้กันทั่วไปสำหรับวิศวกรรมย้อนกลับและการวิเคราะห์
- ☆การคัดค้าน - เครื่องมือสำรวจมือถือรันไทม์สำหรับ Android ที่มีคุณสมบัติต่าง ๆ สำหรับการวิเคราะห์จัดการและข้ามการควบคุมความปลอดภัยของแอพ
- RMS Runtime Mobile Security - Frida Web Interface
- ☆ Fridump - สคริปต์ Python ที่ใช้ Frida ในการทิ้งหน่วยความจำของอุปกรณ์ที่กำลังทำงานเช่นกิจกรรมแอพ
- JNITRACE - เครื่องมือที่ใช้ FRIDA เพื่อติดตามการใช้งาน JNI API ในแอพ Android
- ☆ Binder Trace - Binder Trace เป็นเครื่องมือสำหรับการสกัดกั้นและการแยกวิเคราะห์ข้อความ Android Binder คิดว่ามันเป็น "wireshark สำหรับสารยึดเกาะ"
ผู้ถอดรหัส
- ☆ JADX - เครื่องมือโอเพ่นซอร์สสำหรับการถอดรหัสและวิเคราะห์ไฟล์ Android APK ลงในซอร์สโค้ด Java สำหรับวิศวกรรมย้อนกลับและการวิเคราะห์
- Procyon - Procyon เป็นชุดเครื่องมือ Java Metaprogramming รวมถึง API Reflection Rich, API Expression Tree LINQ ที่ได้รับแรงบันดาลใจสำหรับการสร้างรหัสรันไทม์และ Java decompiler
- CFR - decompiler Java โอเพนซอร์สที่รองรับการสลายตัวของไฟล์ Android APK ลงในซอร์สโค้ด Java รวมถึงการสนับสนุนคุณสมบัติภาษา Java รุ่นใหม่
- Fernflower - Fernflower เป็นเครื่องวิเคราะห์การวิเคราะห์การวิเคราะห์ครั้งแรกที่ใช้งานได้จริงสำหรับ Java และอาจเป็นภาษาการเขียนโปรแกรมระดับสูงโดยทั่วไป
- ☆ Apktool - เครื่องมือโอเพนซอร์ซยอดนิยมสำหรับการถอดรหัสและรวบรวมไฟล์ Android APK ใหม่
- Dex2jar - เครื่องมือสำหรับการแปลงไฟล์ Android Dex เป็นไฟล์ jar ซึ่งสามารถวิเคราะห์เพิ่มเติมได้โดยใช้ decompilers Java
- JDGUI - JD -GUI เป็นยูทิลิตี้กราฟิกแบบสแตนด์อโลนที่แสดงซอร์สโค้ด Java ของไฟล์“ .class”
- IDA Pro - ผู้ถอดเสียงเชิงพาณิชย์และดีบักเกอร์ที่ทรงพลังสำหรับการวิเคราะห์รหัสเนทีฟ Android
- ☆ Ghidra - เฟรมเวิร์กซอฟต์แวร์ย้อนกลับซอฟต์แวร์ฟรีและโอเพ่นซอร์ส (SRE) ที่พัฒนาโดยสำนักงานความมั่นคงแห่งชาติ (NSA) ที่สนับสนุนการวิเคราะห์ Android
- Jeb Decompiler - ตัวถอดรหัสเชิงพาณิชย์สำหรับแอพ Android ที่สามารถถอดรหัสไฟล์ APK ลงในซอร์สโค้ด Java เพื่อการวิเคราะห์
- Radare2 - กรอบวิศวกรรมย้อนกลับแบบฟรีและโอเพนซอร์ซที่สนับสนุนการวิเคราะห์ Android รวมถึงการถอดประกอบการดีบักและการวิเคราะห์แบบไบนารี
- Androguard - เครื่องมือโอเพ่นซอร์สสำหรับการวิเคราะห์และย้อนกลับแอพ Android วิศวกรรมย้อนกลับรวมถึงไฟล์ APK ที่ถอดรหัสการวิเคราะห์ Dalvik bytecode และอื่น ๆ
- APK2GOLD - เครื่องมือ CLI สำหรับการถอดรหัสแอพ Android ไปยัง Java การทำทั้งทรัพยากรและชวา (repo นี้มีอายุ 9 ปีและอาจไม่ทำงานกับเวอร์ชัน Android รุ่นใหม่)
- AndroidProjectCreator - แปลง APK เป็นโครงการ Android Studio โดยใช้ decompilers โอเพนซอร์ซหลายตัว
- APK Studio-Open-Source, Cross Platform QT ที่ใช้ IDE สำหรับแพ็คเกจแอปพลิเคชัน Android แบบย้อนกลับ
- show -java - APK (แอปพลิเคชัน Android), Jar & Dex decompiler สำหรับ Android
- ☆ APKLAB-APKLAB บูรณาการ Quark-Engine, ApkTool, JADX, Uber-APK-SIGNER, APK-MITM และอีกมากมายถึงรหัส VS
การวิเคราะห์มัลแวร์
- Droiddetective - กรอบการวิเคราะห์มัลแวร์การเรียนรู้ของเครื่องสำหรับแอพ Android
- Cuckoo Droid - Cuckoodroid - การวิเคราะห์มัลแวร์ Android อัตโนมัติด้วย Cuckoo Sandbox
- Androwarn - เครื่องวิเคราะห์รหัสแบบคงที่สำหรับแอปพลิเคชัน Android ที่เป็นอันตราย
ทรัพยากร
เอกสาร
- เอกสารความปลอดภัยของ Android - เอกสารอย่างเป็นทางการจาก Google บน Android Security รวมถึงหัวข้อที่เกี่ยวข้องกับวิศวกรรมย้อนกลับ
- ความท้าทายด้านวิศวกรรมย้อนกลับของ Android - รายการที่รวบรวมไว้ของความท้าทายด้านวิศวกรรมย้อนกลับ Android และ CTFs (จับธง) สำหรับการฝึกฝน
- Androidxref - เปิดการค้นหารหัสสำหรับแหล่ง Android
- APKMIRROR - ที่เก็บของ Android APK จากแหล่งต่าง ๆ เช่น Play Store และการอัปโหลดของผู้ใช้
- APKPURE - ที่เก็บของ Android APK จากแหล่งต่าง ๆ เช่น Play Store และการอัปโหลดของผู้ใช้
กรณีศึกษา
- การชันสูตรศพของวิศวกรย้อนกลับของแอพวิดีโอแชท HouseParty
- Sharkbot: โทรจัน Android Banking รุ่นใหม่ที่ถูกแจกจ่ายใน Google Play Store
- ซีรี่ส์ In-the-Wild: Android Exploits
CTFs และ crackmes
- ☆แอพมือถือที่ไม่สามารถแยกได้ - ชุดของแอพ Owasp Android Crackme's ความท้าทายเหล่านี้ใช้เป็นตัวอย่างตลอด Owasp Mastg แน่นอนคุณสามารถแก้ปัญหาได้เพื่อความสนุกสนาน
- Cybertruckchallenge19 - วัสดุการประชุมเชิงปฏิบัติการความปลอดภัยของ Android ที่สอนในช่วง Cybertruck Challenge 2019 (Detroit USA)
- KGB Messenger - KGB Messenger เป็นความท้าทายในการฝึกฝน CTF โอเพนซอร์สที่มีจุดมุ่งหมายเพื่อช่วยให้ผู้คนเรียนรู้วิธีการย้อนกลับแอปพลิเคชัน Android ของวิศวกร
ผิด
- LADB - เปลือก ADB ท้องถิ่นสำหรับ Android!
- Broken Droid Factory - BDF เป็นเครื่องมือ Python ที่ออกแบบมาเพื่อหมุนแอพพลิเคชั่น Android ที่มีช่องโหว่แบบสุ่มหลอกสำหรับการฝึกอบรมเมื่อพูดถึงการวิจัยช่องโหว่การแฮ็คจริยธรรมและการทดสอบปากกาบนแอพ Android
- Uber-APK-SIGNER-เครื่องมือ CLI ที่ช่วยลงนามและการจัดแนวแอปพลิเคชันแอปพลิเคชัน Android (APKs) แบบเดียวหรือซิปด้วยการดีบักหรือให้ใบรับรองการเปิดตัว รองรับรูปแบบการลงนามใน Android V1, V2 และ V3 มีการดีบักที่ฝังคีย์สโตร์และ Auto ตรวจสอบหลังจากการลงนาม
- การสาธิตการตรวจจับการงัดแงะรูนิค - ออกแบบมาเพื่อทำหน้าที่เป็นคู่ขนานสำหรับการทำความเข้าใจการตรวจจับการงัดแงะ Android ที่ซับซ้อนยิ่งขึ้นและระบบความสมบูรณ์เช่น Google Play Safetynet และ Huawei Safety Detect
การบริจาค
การมีส่วนร่วมของคุณยินดีต้อนรับเสมอ! โปรดอ่านแนวทางการบริจาคก่อน เราปฏิบัติตามจรรยาบรรณของผู้สนับสนุน โปรดตรวจสอบให้แน่ใจว่าได้ตรวจสอบและปฏิบัติตามจรรยาบรรณนี้เมื่อมีส่วนร่วม
ใบอนุญาต
โครงการนี้ได้รับใบอนุญาตภายใต้ใบอนุญาต MIT - ดูไฟล์ License.md สำหรับรายละเอียด