ภาษาอังกฤษอาหารฝรั่งเศสสเปน

ไอคอน Fav ของ OnWorks

scanmem - ออนไลน์ในคลาวด์

เรียกใช้ scanmem ในผู้ให้บริการโฮสต์ฟรีของ OnWorks ผ่าน Ubuntu Online, Fedora Online, โปรแกรมจำลองออนไลน์ของ Windows หรือโปรแกรมจำลองออนไลน์ของ MAC OS

นี่คือคำสั่ง scanmem ที่สามารถเรียกใช้ในผู้ให้บริการโฮสต์ฟรีของ OnWorks โดยใช้หนึ่งในเวิร์กสเตชันออนไลน์ฟรีของเรา เช่น Ubuntu Online, Fedora Online, โปรแกรมจำลองออนไลน์ของ Windows หรือโปรแกรมจำลองออนไลน์ของ MAC OS

โครงการ:

ชื่อ


scanmem - ค้นหาและแก้ไขตัวแปรในกระบวนการดำเนินการ

เรื่องย่อ


การสแกน [--รุ่น] [--ช่วยเหลือ] [--แก้ปัญหา] [--แบ็กเอนด์] โปรแกรมเป้าหมาย-pid

DESCRIPTION


การสแกน เป็นยูทิลิตี้การดีบักเชิงโต้ตอบที่สามารถใช้เพื่อแยกที่อยู่ของa
ตัวแปรในกระบวนการดำเนินการโดยการสแกนพื้นที่ที่อยู่ของกระบวนการอย่างต่อเนื่อง
กำลังมองหาค่าที่ตรงกัน โดยแจ้ง การสแกน ค่าของตัวแปรเปลี่ยนแปลงอย่างไร
เมื่อเวลาผ่านไป มันสามารถกำหนดตำแหน่งจริง (หรือตำแหน่ง) ของตัวแปรโดย
กำจัดที่ไม่ตรงกันอย่างต่อเนื่อง การสแกน กำหนดตำแหน่งที่จะมองหาโดยการค้นหา
การทำแผนที่ด้วย อ่าน / เขียน การอนุญาตเหล่านี้เรียกว่าภูมิภาค ผู้ใช้สามารถ
กำจัดภูมิภาคที่พวกเขาเชื่อว่าไม่เกี่ยวข้องกับตัวแปรเป้าหมาย (เช่น
อยู่ในไลบรารีที่ใช้ร่วมกันที่ไม่เกี่ยวข้องกับตัวแปรที่เป็นปัญหา) สิ่งนี้จะช่วยปรับปรุง
ความเร็วในการสแกน ซึ่งในตอนแรกอาจค่อนข้างช้าในโปรแกรมขนาดใหญ่

เมื่อพบตัวแปรแล้ว การสแกน สามารถตรวจสอบตัวแปรหรือเปลี่ยนเป็นผู้ใช้ได้
ค่าที่ระบุ ครั้งเดียว หรือต่อเนื่องตลอดระยะเวลา

การสแกน ทำงานคล้ายกับ " โปเกม่อน " ครั้งหนึ่งเคยนิยมโกงวิดีโอเกม
ฟังก์ชั่นนี้เป็นการสาธิตวิธีการใช้งานที่ดี การสแกน และใช้ใน
เอกสาร

การใช้


การสแกน ควรเรียกใช้ด้วยรหัสกระบวนการของโปรแกรมที่คุณต้องการแก้ไขข้อบกพร่องเป็น an
การโต้แย้ง. เมื่อเริ่มต้น scanmem ยอมรับคำสั่งแบบโต้ตอบ เหล่านี้อธิบายไว้ด้านล่าง
เข้ามา ช่วย ที่ > พรอมต์จะช่วยให้คุณเข้าถึง scanmem's ออนไลน์
เอกสาร

เทศกาล โปรแกรมเป้าหมาย-pid สามารถระบุเป็นทศนิยม เลขฐานสิบหก หรือฐานแปดได้โดยใช้เครื่องหมาย
สัญกรณ์ภาษา C มาตรฐาน (นำหน้า 0x สำหรับเลขฐานสิบหก, นำหน้า 0 สำหรับเลขฐานแปด, อะไรก็ได้
มิฉะนั้นจะถือว่าเป็นทศนิยม)

--รุ่น

พิมพ์เวอร์ชันและออก

--ช่วยด้วย

พิมพ์คำอธิบายสั้น ๆ ของตัวเลือกบรรทัดคำสั่งแล้วออก

--debug

ทำงานในโหมดดีบัก ข้อมูลเพิ่มเติมจะถูกส่งออก

--แบ็กเอนด์

ทำงานเป็นแบ็กเอนด์ ผู้ใช้ทั่วไปไม่ควรใช้พารามิเตอร์นี้

คำสั่ง


ในขณะที่อยู่ในโหมดโต้ตอบ การสแกน พิมพ์เลขทศนิยมตามด้วย > , ตัวเลขคือ
จำนวนตัวเลือกที่เป็นไปได้ในปัจจุบันสำหรับตัวแปรเป้าหมายที่ทราบ 0
แสดงว่ายังไม่มีการตัดทอนตัวแปรที่เป็นไปได้

n

ที่ไหน n แทนตัวเลขใดๆ ในหน่วยทศนิยม ฐานแปด หรือฐานสิบหก คำสั่งนี้บอก การสแกน
ว่าค่าปัจจุบันของตัวแปรเป้าหมายนั้นตรงกันทุกประการ n. การสแกน จะเริ่มการค้นหา
ของพื้นที่ที่อยู่ทั้งหมด หรือการจับคู่ที่ทราบที่มีอยู่ (ถ้ามี) ให้ขจัดใดๆ
ตัวแปรที่ไม่มีค่านี้

ชุด [match-id][,match-id,...]=]ค่า[/delay] [ ... ]

ตั้งค่า ความคุ้มค่า ลงในหมายเลขการแข่งขัน จับคู่รหัส หรือถ้าเพียงแค่ ความคุ้มค่า ระบุไว้ทั้งหมด
การแข่งขันที่รู้จัก ความคุ้มค่า สามารถระบุได้ด้วยสัญกรณ์ภาษา C มาตรฐาน การแข่งขันที่รู้จักทั้งหมด
พร้อมกับรหัสการจับคู่ของพวกเขาสามารถแสดงได้โดยใช้ รายการ สั่งการ. หลายรายการ match-id's
สามารถระบุ คั่นด้วยเครื่องหมายจุลภาคและสิ้นสุดด้วย an = เข้าสู่ระบบ. เพื่อตั้งค่า
ต่อท้ายคำสั่งด้วย / ตามด้วยจำนวนวินาทีที่จะรอระหว่าง
ชุด คุณสามารถขัดจังหวะคำสั่ง set ด้วย ^C เพื่อกลับไปที่ การสแกน พร้อมท์ นี้สามารถ
ใช้เพื่อรักษาค่าของตัวแปรที่ลดการทำงานล่วงเวลา เช่น ตัวจับเวลา
ที่ลดลงทุกวินาทีสามารถตั้งค่าเป็น 100 ทุกๆ 10 วินาทีเพื่อป้องกันบางอย่าง
ทรัพย์สินที่ไม่เคยเปลี่ยนแปลง

คำสั่งนี้ใช้เพื่อเปลี่ยนค่าของตัวแปรเมื่อพบโดยการกำจัด
โปรดทราบว่าบางแอปพลิเคชันจะเก็บค่าไว้หลายที่

กอง [ ]

ดัมพ์พื้นที่หน่วยความจำเริ่มต้นจาก ยาว ให้คนอ่านได้
จัดรูปแบบ

If ได้รับข้อมูลจะถูกบันทึกลงในไฟล์มิฉะนั้นจะแสดงข้อมูล
เป็น stdout ในรูปแบบที่มนุษย์อ่านได้

เขียน

ตั้งค่าตัวแปรด้วยตนเองตามที่อยู่ที่ระบุ

ชื่อของ value_type อาจมีการเปลี่ยนแปลงใน scanmem เวอร์ชันต่างๆ ดูข้อมูลเพิ่มเติม
โดยใช้คำสั่ง 'ช่วยเขียน'

>

บอก การสแกน ว่าควรกำจัดตัวแปรที่ตรงกันทั้งหมดที่ไม่ได้เพิ่มขึ้นตั้งแต่
การค้นหาครั้งสุดท้าย ตัวอย่างเช่น หากทราบว่าค่าของตัวแปรเป็นศูนย์เมื่อ a
โปรแกรมทำงาน แต่เพิ่มขึ้นเมื่อเวลาผ่านไป คำสั่งนี้ใช้ได้หลายครั้งถึง
กำจัดตัวแปรที่ลดลงหรือไม่เปลี่ยนแปลง

<

ส่วน > แต่บ่งชี้ว่าตัวแปรเป้าหมายลดลงตั้งแต่การสแกนครั้งล่าสุด

=

ส่วน > แต่บ่งชี้ว่าตัวแปรเป้าหมายไม่มีการเปลี่ยนแปลงตั้งแต่การสแกนครั้งล่าสุด

ภาพรวม

บันทึกสแน็ปช็อตของสถานะโปรแกรมที่มีอยู่เพื่อใช้กับ > , < และ = แม้ว่าอื่น ๆ
ยังใช้คำสั่งได้อยู่

รายการ

รายชื่อผู้สมัครที่เป็นไปได้ทั้งหมดที่รู้จักในขณะนี้ รวมถึงที่อยู่ของพวกเขา รู้จักล่าสุด
มูลค่าและประเภทที่เป็นไปได้ ค่าในคอลัมน์แรกคือรหัสการจับคู่ และสามารถใช้ได้
ร่วมกับ ลบ คำสั่งให้กำจัดการแข่งขัน

ลบ [รหัสการจับคู่]

ลบการแข่งขัน จับคู่รหัส ซึ่งหาได้จากผลลัพธ์ของ รายการ สั่งการ. ลบ
การแข่งขันทั้งหมด ดู ตั้งใหม่ คำสั่งหรือเพื่อลบการแข่งขันทั้งหมดที่เกี่ยวข้องกับโดยเฉพาะ
ห้องสมุดดู ภูมิภาค คำสั่ง ซึ่งลบการแข่งขันที่เกี่ยวข้องด้วย โปรดทราบ
รหัสการจับคู่นั้นอาจถูกคำนวณใหม่หลังจากลบหรือเพิ่มการแข่งขัน

ดู [รหัสการจับคู่]

ติดตามค่าของ จับคู่รหัส และพิมพ์ค่าเมื่อมีการเปลี่ยนแปลง พิมพ์ทุกการเปลี่ยนแปลง
พร้อมกับการประทับเวลา คุณสามารถขัดจังหวะคำสั่งนี้ด้วย ^C เพื่อหยุดการตรวจสอบ

pid [ใหม่-pid]

พิมพ์รหัสกระบวนการของโปรแกรมเป้าหมายปัจจุบัน หรือเปลี่ยนเป้าหมายเป็น ใหม่-pid ,
ซึ่งจะรีเซ็ตภูมิภาคและการแข่งขันที่มีอยู่

ภูมิภาค

ระบุภูมิภาคที่รู้จักทั้งหมด ซึ่งสามารถใช้ร่วมกับ ภูมิภาค คำสั่งถึง
กำจัดขอบเขตที่ผู้ใช้เชื่อว่าไม่เกี่ยวข้องกับตัวแปรที่เป็นปัญหา ดังนั้น
ลดพื้นที่ที่อยู่ที่จำเป็นในการค้นหา ค่าในคอลัมน์แรกคือ
รหัสภูมิภาค ที่ต้องส่งต่อไปยัง ภูมิภาค สั่งการ. ขนาดและเส้นทาง (ถ้ามี)
ยังพิมพ์ สามารถใช้เพื่อกำจัดภูมิภาคที่อยู่ในไลบรารีที่แบ่งใช้ซึ่ง
ไม่น่าจะเกี่ยวข้องกับตัวแปรที่ต้องการ

ภูมิภาค [!][รหัสภูมิภาค][,รหัสภูมิภาค][,...]

ลบภูมิภาค รหัสภูมิภาค พร้อมกับแมตช์ใดๆ จากรายการแมตช์ NS รหัสภูมิภาค
สามารถพบได้ในผลลัพธ์ของ ภูมิภาค สั่งการ. ชั้นนำ ! ระบุว่ารายการควร
จะกลับด้าน

ตั้งใหม่

ลืมการแข่งขันที่รู้จักทั้งหมดแล้วเริ่มต้นใหม่อีกครั้ง

เปลือก [คำสั่งเชลล์]

ดำเนินงาน เชลล์-คำสั่ง การใช้ bin / sh /แล้วกลับมา

ตัวเลือก

เปลี่ยนตัวเลือกในรันไทม์ ดู 'ตัวเลือกความช่วยเหลือ' สำหรับชื่อ/ค่าที่เป็นไปได้ทั้งหมด

รุ่น

พิมพ์เวอร์ชั่นของ การสแกน ในการใช้งาน

ช่วย

พิมพ์สรุปสั้นๆ ของคำสั่งที่ใช้ได้

ทางออก

ออกจากโปรแกรมเป้าหมายและออกทันที

ตัวอย่าง


โกงที่ nethack บนระบบที่ไม่ได้ติดตั้ง nethack sgid

$scanmem `pidof nethack`
ข้อมูล: แนบกับ pid 13070
ข้อมูล: ไฟล์แผนที่อยู่ที่ /proc/13070/maps เปิดขึ้น
ข้อมูล: พบ 17 ภูมิภาคที่เหมาะสม
โปรดป้อนค่าปัจจุบัน หรือ "help" สำหรับคำสั่งอื่นๆ
0>

0 ใน การสแกน พรอมต์แสดงว่าเราไม่มีผู้สมัคร เลยป้อนว่า
ทองคำที่ฉันมี (91 ชิ้น) และให้ scanmem ค้นหาผู้สมัครที่มีศักยภาพ

0> 91
ข้อมูล: กำลังค้นหา 0xbfffa000 - 0xc0000000...........ตกลง
ข้อมูล: กำลังค้นหา 0x401c2000 - 0x401e3000...........ok
ข้อมูล: กำลังค้นหา 0x401c1000 - 0x401c2000...........ok
ข้อมูล: กำลังค้นหา 0x401b6000 - 0x401b8000...........ok
ข้อมูล: กำลังค้นหา 0x401b5000 - 0x401b6000...........ok
ข้อมูล: กำลังค้นหา 0x40189000 - 0x4018a000...........ok
ข้อมูล: กำลังค้นหา 0x40188000 - 0x40189000...........ok
ข้อมูล: กำลังค้นหา 0x40181000 - 0x40183000...........ok
ข้อมูล: กำลังค้นหา 0x4017f000 - 0x40181000...........ok
ข้อมูล: กำลังค้นหา 0x40070000 - 0x40071000...........ok
ข้อมูล: กำลังค้นหา 0x40068000 - 0x40070000...........ok
ข้อมูล: กำลังค้นหา 0x40030000 - 0x40031000...........ok
ข้อมูล: กำลังค้นหา 0x40029000 - 0x4002a000...........ok
ข้อมูล: กำลังค้นหา 0x4001f000 - 0x40020000...........ok
ข้อมูล: กำลังค้นหา 0x40016000 - 0x40017000...........ok
ข้อมูล: กำลังค้นหา 0x081d4000 - 0x0820a000...........ok
ข้อมูล: กำลังค้นหา 0x081b7000 - 0x081d4000...........ok
ข้อมูล: ขณะนี้เรามี 16 แมตช์
16> รายการ
[ 0] 0x081c1f34 { 91} (/usr/share/games/nethack/nethack)
[1] 0x081c1780 { 91} (/usr/share/games/nethack/nethack)
[ 2] 0x081be436 { 91} (/usr/share/games/nethack/nethack)
[ 3] 0x081eeffc { 91} (ไม่เกี่ยวข้อง โดยทั่วไปคือ .bss)
[ 4] 0x081ee0c0 { 91} (ไม่เกี่ยวข้อง โดยทั่วไปคือ .bss)
[ 5] 0x081eddb8 { 91} (ไม่เกี่ยวข้อง โดยทั่วไปคือ .bss)
[ 6] 0x081d6d88 { 91} (ไม่เกี่ยวข้อง โดยทั่วไปคือ .bss)
[ 7] 0x4001fcd3 { 91} (/lib/libnss_compat-2.3.5.so)
[8] 0x40029fe3 { 91} (/lib/libnss_nis-2.3.5.so)
[9] 0x40029f8b { 91} (/lib/libnss_nis-2.3.5.so)
[10] 0x40029efb { 91} (/lib/libnss_nis-2.3.5.so)
[11] 0x40029bff { 91} (/lib/libnss_nis-2.3.5.so)
[12] 0x401d18d3 { 91} (ไม่เกี่ยวข้อง โดยทั่วไปคือ .bss)
[13] 0x401d156f { 91} (ไม่เกี่ยวข้อง โดยทั่วไปคือ .bss)
[14] 0x401d120b { 91} (ไม่เกี่ยวข้อง โดยทั่วไปคือ .bss)
[15] 0xbffd76c { 91} (ไม่เกี่ยวข้อง โดยทั่วไปคือ .bss)
16>

พบการแข่งขันที่เป็นไปได้ 16 รายการ ส่วนใหญ่ไม่เกี่ยวข้องอย่างชัดเจน เนื่องจากเป็นส่วนหนึ่งของ
ไลบรารีที่ไม่เกี่ยวข้อง (libnss_nis.so) เราทำได้ การสแกน กำจัดสิ่งเหล่านี้ด้วยตนเองโดยใช้
ลบ สั่งได้แต่รอจนปริมาณทองเปลี่ยนและบอก
scanmem ค่าใหม่น่าจะเพียงพอ หาทองมาเพิ่มอีกแล้วบอก การสแกน ใหม่
ค่า 112.

16> 112
ข้อมูล: ขณะนี้เรามี 1 แมตช์
ข้อมูล: จับคู่ที่ระบุ ใช้ "set" เพื่อแก้ไขค่า
ข้อมูล: ป้อน "ความช่วยเหลือ" สำหรับคำสั่งอื่นๆ
1> รายการ
[ 0] 0x081d6d88 { 112} (ไม่เกี่ยวข้อง โดยทั่วไปคือ .bss)

ผู้สมัครเดิมเพียงคนเดียวจาก 16 คนเท่านั้นที่มีค่า 112 ดังนั้นนี่จะต้องเป็นที่ที่
ปริมาณทองคำจะถูกเก็บไว้ ฉันจะลองตั้งค่าเป็น 10,000 ชิ้น

1> ชุด 10000
ข้อมูล : ตั้งค่า *0x081d6d88 เป็น 10000...
1>

สถานะ nethack ที่เป็นผลลัพธ์:

เลเวล:1 $:10000 HP:15(15) ปว:2(2) AC:7 ประสบการณ์:1

หมายเหตุ


การสแกน ได้รับการทดสอบในโปรแกรมขนาดใหญ่หลายโปรแกรม รวมถึง 3d shoot-em-up quake3
ลินุกซ์

เห็นได้ชัดว่า การสแกน อาจทำให้โปรแกรมของคุณพังได้หากใช้ไม่ถูกต้อง

บางโปรแกรมเก็บค่าไว้หลายที่ นี่คือเหตุผล ชุด จะเปลี่ยนทุกสิ่งที่รู้จัก
ไม้ขีด

ใช้ scanmem ออนไลน์โดยใช้บริการ onworks.net


เซิร์ฟเวอร์และเวิร์กสเตชันฟรี

ดาวน์โหลดแอพ Windows & Linux

คำสั่ง Linux

Ad