รีแคฟ
โปรแกรมแก้ไข Java bytecode สมัยใหม่ที่ใช้งานง่าย ซึ่งช่วยลดความซับซ้อนของโปรแกรม Java
ดาวน์โหลด
- ตัวเปิด
- การใช้งานและคำแนะนำที่พบใน repo ของตัวเรียกใช้งาน
- เผยแพร่สแนปชอต
- ดูการดำเนินการของ CI สำหรับอาร์ติแฟกต์การเผยแพร่
- รุ่นอิสระ (ไม่มีสำหรับ 4X ในปัจจุบัน)
คุณสมบัติ
- แก้ไข Java bytecode ได้อย่างง่ายดายจากระดับสูงหรือต่ำ (ลบส่วนที่น่ารำคาญ)
- คุณสมบัติตัวแก้ไขภายใน Recaf เป็นนามธรรมรายละเอียดที่ซับซ้อนของแอปพลิเคชัน Java ที่คอมไพล์แล้วเช่น:
- สระน้ำคงที่
- การคำนวณเฟรมสแต็ก
- ใช้คำแนะนำแบบกว้างๆ เมื่อจำเป็น
- และอื่นๆ อีกมากมาย!
- อินเทอร์เฟซการนำทางที่ใช้งานง่ายพร้อมการดำเนินการตามบริบท
- รองรับแอปพลิเคชัน Java และ Android มาตรฐาน
- มีตัวถอดรหัสหลายตัวให้สลับไปมา โดยพารามิเตอร์ทั้งหมดสามารถกำหนดค่าได้อย่างสมบูรณ์
- คอมไพเลอร์ในตัวเพื่อให้สามารถคอมไพล์คลาสที่คอมไพล์ใหม่ได้ แม้ว่าคลาสที่อ้างอิงบางคลาสจะหายไป (เมื่อรองรับ การสนับสนุนอาจแตกต่างกันไป ขึ้นอยู่กับความซับซ้อนของโค้ดและความยุ่งเหยิง)
- แอสเซมเบลอร์ bytecode ที่มีไวยากรณ์ง่ายๆ และเครื่องมือที่รองรับ
- ดูสถานะของตัวแปรท้องถิ่นและค่าสแต็ก ณ จุดใดก็ได้ในวิธีการ
- เข้าถึงตัวแปรด้วยชื่อแทนดัชนีเพื่อให้โค้ดแยกส่วนได้ชัดเจนยิ่งขึ้น
- แปลงตัวอย่างซอร์สโค้ด Java เป็นลำดับไบต์โค้ดโดยอัตโนมัติ
- การค้นหาเนื้อหาที่แตกต่างหลากหลาย: ค่าคงที่สตริง/ตัวเลข คลาสและการอ้างอิงสมาชิก รูปแบบคำสั่ง
- เครื่องมือสำหรับถอดรหัสโค้ดที่สร้างความสับสน
- ไฟล์คลาสที่สร้างขึ้นเป็นพิเศษโดยมีจุดประสงค์เพื่อทำให้เครื่องมือวิศวกรรมย้อนกลับเสียหายจะถูกแพตช์โดยอัตโนมัติเมื่อเปิดใน Recaf
- ไฟล์ jar/zip ที่สร้างขึ้นเป็นพิเศษจะถูกอ่านเหมือนกับที่ JVM ทำ โดยเลี่ยงกลเม็ดลับๆ ที่สามารถหลอกให้เครื่องมือวิศวกรรมย้อนกลับแสดงข้อมูลที่ไม่ถูกต้อง
- รองรับการเปลี่ยนชื่อคลาสที่สับสนและสมาชิกโดยอัตโนมัติ
- รองรับการเปลี่ยนชื่อคลาสและสมาชิกด้วยตนเอง (และส่งออกการแมปเหล่านี้เป็นรูปแบบการแมปที่หลากหลายเพื่อใช้ในเครื่องมืออื่น ๆ )
- แนบไปกับการรันกระบวนการ Java ด้วยความสามารถด้านเครื่องมือวัด
- และอีกมากมาย
รายการคุณสมบัติทั้งหมดสามารถพบได้ในเอกสารประกอบสำหรับผู้ใช้
การเขียนสคริปต์และปลั๊กอิน
Recaf เปิดเผยฟังก์ชันการทำงานเกือบทั้งหมดผ่าน API แบบโมดูลาร์ พฤติกรรมอัตโนมัติสามารถทำได้ง่ายๆ ด้วยสคริปต์หรือด้วยปลั๊กอินสำหรับสถานการณ์ที่ซับซ้อนมากขึ้น คุณสามารถเพิ่มคุณสมบัติเพิ่มเติมผ่านปลั๊กอิน ซึ่งสามารถลงทะเบียน hooks ใน API ที่นำเสนอได้
หากต้องการสร้างสคริปต์หรือปลั๊กอินของคุณเอง โปรดดูเอกสารสำหรับนักพัฒนา โดยเฉพาะในส่วน "ปลั๊กอินและสคริปต์"
บรรทัดคำสั่ง
Recaf สามารถทำงานเป็นแอปพลิเคชันบรรทัดคำสั่ง ซึ่งจะมีประโยชน์อย่างยิ่งเมื่อจับคู่กับสคริปต์ที่ให้ไว้เมื่อเริ่มต้นระบบ คุณสามารถดูอาร์กิวเมนต์การเปิดตัวปัจจุบันทั้งหมดได้โดยส่ง --help
เป็นอาร์กิวเมนต์ของแอปพลิเคชัน
การตั้งค่าการพัฒนา
โคลนพื้นที่เก็บข้อมูลผ่าน git clone https://github.com/Col-E/Recaf.git
เปิดโปรเจ็กต์ใน IDE หรือสร้างบิลด์ด้วยการไล่ระดับ
ไอดี :
- นำเข้าโครงการจากไฟล์
build.gradle
- สร้างการกำหนดค่าการรันด้วย main class
software.coley.recaf.Main
ไม่มี IDE :
- เรียกใช้
gradlew build
- เอาต์พุตจะอยู่ที่:
recaf-ui/build/libs/recaf-ui-{VERSION}-all.jar