การวิเคราะห์แบบพลวัตด้วย Frida
Frida และการทำฮุก
การวิเคราะห์แบบพลวัตด้วย Frida เป็นบทเรียน Ethical Hacking Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Ethical Hacking Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Ethical Hacking Academy มีบทเรียนทั้งหมด 4 บทเรียน
Frida คืออะไร
Frida คือชุดเครื่องมือสำหรับการวางเครื่องมือวิเคราะห์แบบไดนามิก โดยจะแทรกเอนจิน JavaScript เข้าไปในแอปที่กำลังทำงาน ทำให้คุณตรวจสอบและปรับเปลี่ยนพฤติกรรมขณะทำงานได้โดยไม่ต้องคอมไพล์ใหม่
Frida เป็นเครื่องมือที่สำคัญที่สุดสำหรับการทดสอบเจาะระบบอุปกรณ์เคลื่อนที่แบบไดนามิก
Frida ทำงานอย่างไร
Frida จะทำงานด้วยเอเจนต์ขนาดเล็ก (คือ frida-server บนอุปกรณ์) และไคลเอ็นต์บนเครื่องของคุณ คุณเขียน JavaScript เพื่อเชื่อมเข้ากับฟังก์ชันของโพรเซสเป้าหมาย
สคริปต์ของคุณสามารถอ่านอาร์กิวเมนต์ เปลี่ยนค่าที่ส่งกลับ และเรียกเมธอดได้โดยตรง
การตั้งค่า
คุณส่งไบนารี frida-server ที่ตรงรุ่นไปยังอุปกรณ์ที่มีสิทธิ์รูท (หรือใช้ APK ที่แพตช์แล้วพร้อม frida-gadget บนอุปกรณ์ที่ไม่ได้รูท) จากนั้นเรียกใช้งาน
เครื่องมือบนเดสก์ท็อปจะเชื่อมต่อผ่าน USB
adb push frida-server /data/local/tmp/
adb shell /data/local/tmp/frida-server &การแจกแจงแอป
ยืนยันการเชื่อมต่อด้วยการแสดงรายการแอปที่ติดตั้งและโพรเซสที่กำลังทำงาน โดยใช้เครื่องมือ Frida CLI
วิธีนี้ยืนยันว่าเข้าถึง frida-server ได้ และให้ชื่อแพ็กเกจที่ต้องการกำหนดเป็นเป้าหมาย
frida-ps -UaiHooking คืออะไร
Hooking หมายถึงการดักฟังก์ชันเพื่อให้โค้ดของคุณทำงานก่อน หลัง หรือแทนที่ฟังก์ชันนั้น คุณสามารถบันทึกอินพุต ตรวจสอบเอาต์พุต หรือแทนที่พฤติกรรมทั้งหมดได้
ใน Android คุณสามารถ hook เมธอด Java (รวมถึงฟังก์ชันเนทีฟ) ภายในแอปที่กำลังทำงานอยู่
การ Hook Java อย่างง่าย
ภายใน Java.perform ให้เลือกคลาส เลือกเมธอด และเขียนทับ implementation ของเมธอดนั้น คุณสามารถบันทึกอาร์กิวเมนต์ แล้วเรียกเมธอดเดิมได้
โปรดสังเกตว่าตัวอย่างใช้เครื่องหมายอัญประกาศเดี่ยว ไม่ใช่แบ็กทิก เพื่อให้ปลอดภัยต่อ JSON
Java.perform(function(){
var Login = Java.use('com.app.Login');
Login.check.implementation = function(pw){
console.log('pw=' + pw);
return this.check(pw);
};
});การข้ามการตรวจสอบ
หากต้องการข้ามตรรกะ ให้เขียนทับเมธอดเพื่อให้ส่งกลับค่าใดก็ได้ตามต้องการ ตัวอย่างเช่น บังคับให้การตรวจสอบรูทหรือใบอนุญาตส่งกลับ false (ไม่พบ) หรือ true (ได้รับอนุญาต)
วิธีนี้ทำลายการรักษาความปลอดภัยฝั่งไคลเอ็นต์ที่เชื่อถืออุปกรณ์
RootCheck.isRooted.implementation = function(){ return false; };การข้ามการตรึง SSL
แอปใช้การตรึง SSLเพื่อปฏิเสธพร็อกซี สคริปต์ Frida (เช่น Objection ยอดนิยมหรือสคริปต์ข้ามการตรึงแบบสากล) จะ hook ตรรกะการตรึง ทำให้คุณดักการรับส่งข้อมูล HTTPS ได้
สิ่งนี้จำเป็นสำหรับการตรวจสอบการเรียก API ของแอปผ่านพร็อกซี
frida -U -f com.app -l ssl-bypass.jsObjection
Objection สร้างอยู่บน Frida และมีคำสั่งที่พร้อมใช้ เช่น ข้ามการตรึง SSL ดัมพ์คลังเก็บกุญแจ แสดงรายการกิจกรรม และอ่านพื้นที่จัดเก็บของแอป ทั้งหมดนี้ทำได้โดยไม่ต้องเขียนสคริปต์
เครื่องมือนี้ช่วยเร่งงานทั่วไปในระหว่างการประเมิน
objection -g com.app exploreการเริ่มโพรเซสเทียบกับการเชื่อมต่อ
Frida สามารถเชื่อมต่อกับโพรเซสที่กำลังทำงาน หรือเริ่มโพรเซสแอปใหม่พร้อมโหลดสคริปต์ของคุณตั้งแต่เริ่มต้น (-f)
จำเป็นต้องเริ่มโพรเซสเมื่อคุณต้อง hook โค้ดที่ทำงานตั้งแต่ช่วงแรก เช่น การตรวจสอบการแก้ไขแอประหว่างการเริ่มต้น
frida -U -f com.app -l hook.js --no-pauseการติดตามด้วย frida-trace
frida-trace จะสร้างและเชื่อมต่อ hook โดยอัตโนมัติสำหรับฟังก์ชันที่ตรงกับรูปแบบ พร้อมบันทึกการเรียกทุกครั้ง เครื่องมือนี้เหมาะอย่างยิ่งสำหรับค้นหาว่าแอปใช้เมธอดใดจริงบ้าง
คุณสามารถกำหนดเป้าหมายเป็นเมธอด Java หรือฟังก์ชันเนทีฟ จากนั้นปรับแต่งตัวจัดการที่สร้างขึ้นเพื่อดูอาร์กิวเมนต์เฉพาะ
frida-trace -U -f com.app -j '*Crypto*!*'ตรวจสอบอย่างรวดเร็ว
ลองนึกถึงความสามารถหลักของ Frida
สรุปทบทวน
ขณะนี้คุณเข้าใจการวิเคราะห์แบบไดนามิกด้วย Frida แล้ว:
- Frida แทรกเอนจิน JS เพื่อทำ hookฟังก์ชันในแอปที่กำลังทำงาน
- ตั้งค่า frida-server แจกแจงด้วย
frida-psและ hook เมธอด Java - เขียนทับเมธอดเพื่อข้ามการตรวจสอบและการตรึง SSL โดยมี Objection ช่วยทำงานอัตโนมัติ
- ใช้โหมด spawn เพื่อดักโค้ดช่วงเริ่มต้น
ถัดไป คุณจะตรวจสอบการจัดเก็บและการสื่อสารที่ไม่ปลอดภัย
คำถามที่พบบ่อย
บทเรียน “การวิเคราะห์แบบพลวัตด้วย Frida” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “การวิเคราะห์แบบพลวัตด้วย Frida” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Ethical Hacking Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Ethical Hacking Academy มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “การวิเคราะห์แบบพลวัตด้วย Frida”
Frida และการทำฮุก คุณปฏิบัติ Ethical Hacking Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Ethical Hacking Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน Ethical Hacking Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน
บทเรียน “การวิเคราะห์แบบพลวัตด้วย Frida” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน Ethical Hacking Academy นี้ได้ไหม
ได้ บทเรียน Ethical Hacking Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- โครงสร้างแอป Android
- การวิเคราะห์ APK แบบสแตติก
- การวิเคราะห์แบบพลวัตด้วย Frida
- การจัดเก็บและการสื่อสารที่ไม่ปลอดภัย