พร็อกซี DLL สำหรับ Windows เพื่อดัมพ์คลาส JVM ที่ระดับ JNI
โปรแกรม Java บางโปรแกรมใช้การสะท้อนกลับเพื่อซ่อนโค้ดโดยการโหลดและดำเนินการคลาสแบบไดนามิก คุณสามารถดัมพ์มันออกจากหน่วยความจำได้ แต่จะเกิดอะไรขึ้นถ้าพวกมันถูกยกเลิกการโหลดทันทีหลังจากที่พวกมันทำงาน? คุณสามารถแก้ไข rt.jar
และวางตะขอเกี่ยวกับวิธีการสะท้อนกลับต่างๆ แต่จะเกิดอะไรขึ้นถ้าโปรแกรมใช้วิธีการโหลดคลาสดั้งเดิมโดยตรง โดยเลี่ยงผ่าน hooks ระดับ bytecode?
โครงการนี้มีจุดมุ่งหมายเพื่อเป็นทางออกที่เป็นสากลสำหรับทุกความต้องการในการทุ่มตลาดของคุณ ด้วยการเชื่อมต่อที่ระดับ JNI ที่เข้าถึงได้ต่ำสุดที่เชื่อถือได้ มันจะดัมพ์คลาสทั้งหมดในขณะที่กำลังโหลด
DefineClass*
เท่านั้น คุณสามารถเลี่ยงวิธีนี้ได้โดยใช้คลาสโหลดเดอร์ของคุณเองใน JNI ดาวน์โหลดรุ่นล่าสุด วาง version.dll
ในไดเร็กทอรี Java bin
ของคุณ ถัดจาก java.exe
คุณอาจต้องการใช้การติดตั้ง Java แยกต่างหาก เพื่อไม่ให้กระทบต่อกระบวนการทั้งหมด บนเดสก์ท็อปของคุณ ให้สร้างไดเร็กทอรีใหม่ชื่อ JVMDUMP
เมื่อคุณรันโปรแกรมใด ๆ ที่มีการติดตั้ง Java ที่ได้รับการแก้ไข คุณจะเห็นกล่องข้อความพร้อมผลลัพธ์การเชื่อมต่อ เมื่อคุณกด OK
คลาสที่โหลดทั้งหมดจะถูกบันทึกไว้ในไดเร็กทอรีบนเดสก์ท็อปของคุณ
Error 2
JVMDUMP
ไม่สามารถเข้าถึงได้บนเดสก์ท็อปของคุณการใช้งาน proxy DLL อย่างง่ายเพื่อแทรกเข้าไปใน JVM ได้อย่างไม่ลำบากและเชื่อถือได้ สำหรับข้อมูลเพิ่มเติม ตรวจสอบข้อมูลอ้างอิง
ติดตั้ง hooks ที่เปลี่ยนเส้นทางวิธีการไปยังรหัสของเรา ขับเคลื่อนโดย mhook.
ตรรกะการทิ้งชั้นเรียน
ตัวแยกวิเคราะห์คลาส Java ที่รวดเร็วและง่ายดาย มันจะแยกวิเคราะห์ชื่อคลาสของบัฟเฟอร์ไบต์ที่เชื่อมต่อแต่ละอันและใช้เพื่อบันทึกไฟล์ภายใต้ชื่อที่เหมาะสม