นี่คือคำสั่ง paxctl ที่สามารถเรียกใช้ในผู้ให้บริการโฮสต์ฟรีของ OnWorks โดยใช้เวิร์กสเตชันออนไลน์ฟรีของเรา เช่น Ubuntu Online, Fedora Online, โปรแกรมจำลองออนไลน์ของ Windows หรือโปรแกรมจำลองออนไลน์ของ MAC OS
โครงการ:
ชื่อ
paxctl - ยูทิลิตีพื้นที่ผู้ใช้เพื่อควบคุมแฟล็ก PaX
ซิงค์
paxctl
DESCRIPTION
paxctl เป็นเครื่องมือที่ช่วยให้สามารถแก้ไขการตั้งค่าสถานะ PaX บนพื้นฐานไบนารี PaX เป็นส่วนหนึ่ง
ของแพตช์เคอร์เนลที่เสริมความปลอดภัยทั่วไปและการแจกจ่ายที่ปลอดภัย เช่น GrSecurity
และชุบแข็ง Gentoo ตามลำดับ ระบบของคุณต้องใช้งานแพตช์อย่างถูกต้องและ
กำหนดค่าเคอร์เนลสำหรับโปรแกรมนี้เพื่อให้มีผลใดๆ
-P บังคับใช้เพจที่ไม่สามารถดำเนินการได้ (PAGEEXEC)
-p ไม่บังคับใช้เพจที่ไม่สามารถดำเนินการได้ (NOPAGEEXEC)
-E เลียนแบบแทรมโพลีน (EMUTRAMP)
-e ห้ามเลียนแบบแทรมโพลีน (NOEMUTRAMP)
-M บังคับใช้การป้องกันหน่วยความจำที่ปลอดภัย (MPROTECT)
-m ไม่บังคับใช้การป้องกันหน่วยความจำที่ปลอดภัย (NOMPROTECT)
-R สุ่มพื้นที่หน่วยความจำ (RANDMMAP)
-r อย่าสุ่มพื้นที่หน่วยความจำ (NORANDMMAP)
-X สุ่มที่อยู่ฐานของไฟล์ปฏิบัติการปกติ (ET_EXEC) (RANDEXEC)
-x อย่าสุ่มที่อยู่ฐานของไฟล์ปฏิบัติการปกติ (ET_EXEC) (NORANDEXEC)
-S บังคับใช้การแบ่งส่วนหน้าที่ไม่สามารถดำเนินการได้ (SEGMEXEC)
-s ไม่บังคับใช้เพจที่ไม่สามารถเรียกใช้งานได้ตามการแบ่งกลุ่ม (NOSEGMEXEC)
-v ดูธง
-z รีเซ็ตแฟล็กทั้งหมด (ยังคงใช้แฟล็กเพิ่มเติม)
-c สร้างส่วนหัวของโปรแกรม PT_PAX_FLAGS หากไม่มีอยู่โดยการแปลงไฟล์
PT_GNU_STACK ส่วนหัวของโปรแกรมถ้ามีอยู่
-C สร้างส่วนหัวของโปรแกรม PT_PAX_FLAGS หากไม่มีอยู่โดยการเพิ่มโปรแกรมใหม่
ส่วนหัวถ้าเป็นไปได้
-q ระงับข้อความแสดงข้อผิดพลาด
-Q รายงานแฟล็กในรูปแบบย่อ
คำเตือน
ตำแหน่งการตั้งค่าสถานะ PaX แบบเก่าและวิธีการควบคุมล้าสมัยแล้ว หากเคอร์เนลและ . ของคุณ
ไบนารีใช้มันคุณต้องใช้ ชเป(1) แทน (แนะนำให้ใช้ PT_PAX_FLAGS
พร้อมกับ -c หรือ -C อย่างไรก็ตาม)
การแปลง PT_GNU_STACK เป็น PT_PAX_FLAGS หมายความว่าข้อมูลในอดีตคือ
ถูกทำลาย โดยเฉพาะอย่างยิ่ง คุณต้องตรวจสอบให้แน่ใจว่าได้ตั้งค่าตัวเลือก EMUTRAMP PaX ไว้อย่างถูกต้อง
ใน PT_PAX_FLAGS ที่สร้างขึ้นใหม่ วิธีที่ปลอดภัยคือการปิดการใช้งาน EMUTRAMP ก่อน และหาก PaX
รายงานความพยายามในการดำเนินการสแต็คจากแทรมโพลีนฟังก์ชันที่ซ้อนกันแล้วเปิดใช้งาน
โปรดทราบว่า PT_PAX_FLAGS ใหม่ถูกสร้างขึ้นในสถานะเดียวกับที่ binutils/ld เองจะทำ
ผลิต (เทียบเท่ากับ -zex)
โปรดทราบว่าหากคุณใช้ทั้ง PT_PAX_FLAGS และแฟล็ก PaX แอตทริบิวต์แบบขยายบนไบนารี
จากนั้นจะต้องเหมือนกันทุกประการ (ยกเว้น RANDEXEC)
โปรดทราบว่าเคอร์เนล PaX ไม่รองรับ RANDEXEC อีกต่อไปตั้งแต่ 2.6.13 แฟล็ก paxctl
ถูกละเลยเพียงแค่นั้น
โปรดทราบว่า paxctl จะไม่ทำสำเนาสำรองของไฟล์ที่แก้ไข
โปรดทราบว่า paxctl มีไว้เพื่อทำงานกับไบนารีของสถาปัตยกรรมเนทีฟเท่านั้น อย่างไรก็ตาม มัน
ควรทำงานกับไบนารีต่างประเทศตราบเท่าที่มี endianess เดียวกับเจ้าของภาษา
สถาปัตยกรรม (เช่น i386 paxctl ควรทำงานบน amd64 หรือแขน little-endian แต่ไม่เปิด
ไบนารี mips บิ๊กเอนด์)
ใช้ paxctl ออนไลน์โดยใช้บริการ onworks.net