GEF
(อ่านว่า ʤɛf - "Jeff") คือชุดคำสั่งสำหรับ x86/64, ARM, MIPS, PowerPC และ SPARC เพื่อช่วยเหลือนักพัฒนาและวิศวกรย้อนกลับเมื่อใช้ GDB แบบเก่า โดยให้คุณสมบัติเพิ่มเติมแก่ GDB โดยใช้ Python API เพื่อช่วยในระหว่างกระบวนการวิเคราะห์แบบไดนามิกและการพัฒนาช่องโหว่ นักพัฒนาแอปพลิเคชันจะได้รับประโยชน์จากสิ่งนี้เช่นกัน เนื่องจาก GEF ยกระดับความสับสนของ GDB ตามปกติ หลีกเลี่ยงการใช้คำสั่งแบบเดิมๆ ซ้ำ หรือดึงข้อมูลที่เกี่ยวข้องออกจากรันไทม์การแก้ไขจุดบกพร่อง
เพียงตรวจสอบให้แน่ใจว่าคุณมี GDB 10.0 หรือสูงกว่าที่คอมไพล์ด้วยการผูก Python3.10+ จากนั้น:
# via the install script
# # using curl
$ bash -c " $( curl -fsSL https://gef.blah.cat/sh ) "
# # using wget
$ bash -c " $( wget https://gef.blah.cat/sh -O - ) "
# or manually
$ wget -O ~ /.gdbinit-gef.py -q https://gef.blah.cat/py
$ echo source ~ /.gdbinit-gef.py >> ~ /.gdbinit
# or alternatively from inside gdb directly
$ gdb -q
(gdb) pi import urllib.request as u, tempfile as t ; g=t.NamedTemporaryFile(suffix= ' -gef.py ' ) ; open(g.name, ' wb+ ' ).write(u.urlopen( ' https://tinyurl.com/gef-main ' ).read()) ; gdb.execute( ' source %s ' % g.name)
คุณจะเห็นได้ทันทีว่าติดตั้ง GEF อย่างถูกต้องโดยเปิด GDB:
คุณสมบัติบางประการของ GEF
ได้แก่:
GEF
รวมแบตเตอรี่และสามารถติดตั้งได้ทันทีgef-legacy
) ตรวจสอบหน้าภาพหน้าจอสำหรับข้อมูลเพิ่มเติมหรือลองออนไลน์ (ผู้ใช้: gef
/password: gef-demo
)
ไม่เหมือนกับปลั๊กอิน GDB อื่นๆ GEF มีเอกสารที่ครอบคลุมและทันสมัย ขอแนะนำให้ผู้ใช้อ้างอิงถึงสิ่งนี้เนื่องจากอาจช่วยพวกเขาในการพยายามใช้ GEF โดยเฉพาะอย่างยิ่ง ผู้ใช้ใหม่ควรดำเนินการผ่านขั้นตอนนี้ (ดูคำถามที่พบบ่อยสำหรับปัญหาการติดตั้งทั่วไป) และปัญหายังคงมีอยู่ ลองติดต่อขอความช่วยเหลือในช่อง Discord หรือส่งปัญหา
เอกสารประกอบ | ใบอนุญาต | ความเข้ากันได้ | การทดสอบ CI ( main ) |
---|---|---|---|
หากต้องการมีส่วนร่วม โปรดดูเอกสารประกอบการบริจาคและแนวทางในการเริ่มต้น
อีกวิธีหนึ่งในการมีส่วนร่วมในการรักษาโครงการให้คงอยู่ได้ก็คือการสนับสนุน! ตรวจสอบเอกสารการสนับสนุนเพื่อดูรายละเอียด เพื่อให้คุณสามารถเป็นส่วนหนึ่งของรายชื่อผู้สนับสนุนที่ยอดเยี่ยมเหล่านั้นได้