Archive

Archive for December, 2021

Reverse Engineer ไฟล์ jar

December 2nd, 2021 Comments off

ช่วงนี้กำลังลองทำ Extension เพื่อให้สามารถทำเว็บที่ติดต่อ HW บนเครื่องลูกข่ายได้ ก็ลองหา HW มาเขียน cmd application เล่นก็มีเครื่องอ่านหนังสือเดินทางอยู่ก็ลองเอามาเขียนเล่น โชคดีที่ตัว SDK ที่ใช้มามีพวก dll jar ที่พอจะใช้งานได้คือสามารถอ่านหนังสือเดินทางได้เลย เพียงแต่ติดแค่ว่ามัน compile เป็น jar dll ไปแล้ว ผมก็ไม่มีประสบการณ์การทำ Reverse engineering หรอกก็กำลังอ่านอยู่เหมือนกัน

ตอนแรกก็คิดว่าไม่ทำผ่าน dll ก็ทำผ่าน jar นี่แหละ แต่พอลอง dll เอา ghidra มาเปิดดู พอลองเปิดดูจะเห็น function ใน dll ที่เราเรียกใช้ได้แต่ติดตรงที่ว่าพวก parameter ที่ส่งเข้าไปใน function เราไม่รู้ว่ามันจะเป็นประเภทอะไร เช่น เราจะเห็นแค่ว่ามีขนาด 4 ไบต์ แต่ไม่รู้ชนิดของมัน ทำให้ตันเหมือนกัน จะลอง reverse usb ก็ยากเหมือนกันผมยังไม่เข้าใจการทำงานของ usb ดีพอ ก็เลยลองไฟล์ jar ดีกว่า พอลองแล้วเออง่ายแฮะ jar เราสามารถ decompile กลับออกมาเป็นไฟล์ java ได้เลยจะเห็นโครงสร้างของ class ต่าง ๆ ตัว parameter ก็ระบุ type ชัดเจนว่าเป็นอะไร ยิ่งมีไฟล์ jar ที่สามารถใช้งานได้แล้วก็แค่ลอกค่า parameter ต่าง ๆ มาใส่ใน app ของเรา เพียงแต่ติดว่าต้องเขียนเป็น java แค่นั้นเอง ใครที่ทำ SDK ตัวไหนแล้วติดไม่มี document แต่มีไฟล์ jar อยู่แล้วผมแนะนำให้เริ่มจากตรงนั้นเลยครับ รับรองว่าทำได้แน่ ๆ

Categories: Uncategorized Tags: