howdy y'all
นี่คือเครื่องมือ CAD ของฉันสำหรับการถ่ายภาพ ROM หน้ากากและสกัดบิตเพื่อให้เนื้อหาของ ROM สามารถกู้คืนได้
แป้นพิมพ์ลัดในเครื่องมือนี้ ไม่ได้ เป็นทางเลือก โปรดอ่านเอกสาร GUI ด้านล่างก่อนเริ่มสำรวจ
หากคุณพบว่าเครื่องมือนี้มีประโยชน์โปรดซื้อสำเนาหนังสือของฉันเกี่ยวกับการหาประโยชน์จากไมโครคอนโทรลเลอร์สำหรับตัวคุณเองหรือนักเรียนที่ฉลาด
-Travis Goodspeed

Gbrom-Tutorial สอนวิธีเริ่มต้นด้วยรูปถ่ายของหน้ากาก ROM หน้ากากของ Gameboy และทำงานในรูปแบบของ ROM ที่แม่นยำ
MyK82 ROM ถือ Dump ที่เสร็จสมบูรณ์ของ ROM จากชิป MyK82 ในการ์ด Fortezza นี่คือตัวตายตัวแทนของชิป Clipper และที่เก็บรวมถึงไม่เพียง แต่บิต ROM ทั้งหมด แต่ยังทำการแก้ไขข้อผิดพลาด
Wersi-SLM2-51173 เป็น Zilog Z8 ROM จากโมดูลสังเคราะห์เพลง
master - การปรับปรุงประสิทธิภาพโดยการหลีกเลี่ยงสำเนาลึกในรายการ การนับบิตที่เหมาะสมในแถบสถานะและแถบสถานะตอนนี้ใช้ตัวอักษรความกว้างคงที่
2024-08-18-ตัวเลือก Solver-Set ของ Gatorom ใช้ fiilenames เชิงพรรณนา GUI สามารถส่งออกชุดผลลัพธ์ที่ได้รับการแก้ไขด้วยไฟล์/ส่งออก/SolverSetBytes การเลือกที่ชัดเจนยิ่งขึ้นสี่เหลี่ยมผืนผ้า ตอนนี้ R และ C จะวาดประเภทบรรทัดที่ถูกต้องเมื่อผู้ใช้สับสน ^H ตอนนี้ตั้งตำแหน่งบ้าน คีย์การซูมและการเคลื่อนไหวตอนนี้ทำงานในมุมมองที่สอง ตอนนี้มีการเลือกสรรที่ซ้ำกันอย่างสมบูรณ์แบบระหว่าง DRC โดยปุ่ม V ตอนนี้แถวและคอลัมน์จะถูกจัดเก็บเป็นรายการเรียงลำดับแทนชุด แถวและคอลัมน์อยู่ในลำดับที่สอดคล้องกันในการส่งออกไฟล์ ประสิทธิภาพเพิ่มขึ้นในการทำเครื่องหมายบิตการทำเครื่องหมายบิตพื้นหลังและการจัดตำแหน่ง ไบนารีสากลสำหรับ macOS RomalignerTilting ทำงานได้ดีขึ้นสำหรับการออกแบบที่มีช่องว่างระหว่างธนาคาร บิตนอกมุมมองจะไม่ถูกวาดอีกต่อไปในระหว่างการลากช่วยเร่งการปรับกลุ่มของเส้นยาว
2024-07-14-แก้ไขความผิดพลาดเมื่อลบรายการที่เลือกสองครั้ง ลบและ backspace ตอนนี้ลบวัตถุเช่น D ถอดแยกชิ้นส่วนหลาย ตอนนี้การถอดรหัสได้รับการปรับปรุงเมื่อเกณฑ์การถอดรหัสมีการเปลี่ยนแปลง
2024-06-23-การแก้กฎของ YARA การปรับปรุงความมั่นคง อัพเดทข้ามไปยังมุมของเส้นที่เลือก ตอนนี้พื้นที่ทำซ้ำบรรทัดสุดท้ายไม่ว่าจะเป็นแถวหรือคอลัมน์ สามารถเลือกหลายรายการและเปลี่ยน+D ซ้ำกัน เลือกด้วยการเลื่อนเพื่อเพิ่มบรรทัดหรือ Ctrl (CMD บน MacOS) เพื่อลบบรรทัด การลากขวาเคลื่อนที่หลายบรรทัดโดยดูตัวอย่างบิตที่เกี่ยวข้องเท่านั้น Crosshair และสีที่เลือกสามารถเลือกได้แล้ว พื้นหลังจะไม่กระเบื้องอีกต่อไปเมื่อซูมออก
2024-05-19-การละเมิด DRC จะถูกล้างออกเมื่อถูกบังคับบิต การส่งออกฮิสโตแกรมสำหรับการวางแผนการแจกแจงสีใน gnuplot สนับสนุน Wayland การสนับสนุนคำพูดที่ชัดเจนใน CLI, GUI, Solver และ Decoders ขั้นพื้นฐาน ชุดนักแก้ปัญหาส่งออกโซลูชันที่เป็นไปได้ทั้งหมดเป็นไฟล์ไบนารี ผู้จัดตำแหน่งที่ไม่น่าเชื่อถือได้เลิกใช้แล้ว GUI Solver Disassembler เรียกร้องให้ unidasm ของ Mame
2024-01-28-เลิกทำและทำซ้ำ กล่องโต้ตอบสตริง ปุ่มแบ็คสแลชสำหรับการมองเห็นเลเยอร์ อัลกอริทึมการจัดตำแหน่งที่เชื่อถือได้ การปิดหน้าต่างหลักปิดแอปพลิเคชัน
2024-01-01-แก้ไขข้อผิดพลาดบัสในตัวถอดรหัส Z8 เมื่อแก้ขนาดคี่ โหมด Verbose ใน Gatorom CLI ตอนนี้โหมด squeeze-lr ในตัวถอดรหัส GUI แก้ไขรายการเมนูเพื่อล้างการแก้ไขบิตทั้งหมด E จะเลือกการละเมิด DRC ครั้งต่อไป ภาพแนวตั้งที่สมบูรณ์แบบไม่ทำลายอัลกอริทึมการจัดตำแหน่งอีกต่อไป
2023-12-07-ไฮไลต์การเลือก นับแถว/คอลัมน์ในแถบสถานะ ASCII Solver แก้ไขข้อผิดพลาดหลายครั้งในการแก้ปัญหาจากขนาด ROM ที่น่าอึดอัดใจ Gatorom Decoding ใน GUI การถอดถอดรหัสซ้ำซ้อน HEX Viewer และการเน้นย้ำของไบต์ที่เลือก Gatorom CLI ตอนนี้เข้มงวดมากเกี่ยวกับการออกจากการเข้าถึงที่ผิดกฎหมาย การสนับสนุน Zilog Z8 ROM
2023-09-13-ตัวเลือก CLI เพื่อปิดการใช้งาน OpenGL การสนับสนุนการพิมพ์ Windows Windows Build
2023-08-06-OpenGL ตอนนี้ใช้งานได้และเริ่มต้นแล้ว Gatorom รวมไว้สำหรับการถอดรหัสบิต
2023-07-20-รองรับการแสดงผลรอง การสุ่มตัวอย่างสูง แก้ไขความผิดพลาดเมื่อกด V หลังจากลบบรรทัด
2023-06-17-เพิ่ม macOS ใน X86_64 และ ARM64
2023-05-30-การเปิดตัว Windows ครั้งแรก
เครื่องมือนี้ใช้งานได้ใน Windows, Linux, FreeBSD และ MacOS โดยใช้ QT6 พร้อมส่วนขยาย QTCharts
การสร้างเครื่องมือนั้นง่ายที่สุดจาก CLI ใน Debian Bullseye (11.x)
% sudo apt install make gcc g++ cmake git qt6-base-dev libqt6charts6-dev
qt6-translations-l10n linguist-qt6 qt6-l10n-tools qt6-tools-* qt6-image-formats-plugins
% git clone https://github.com/travisgoodspeed/maskromtool/
...
% cd maskromtool
% mkdir build; cd build
% cmake ..
% make -j 8 && sudo make install
ใน Windows และ MacOS ให้ใช้ QT สำหรับตัวติดตั้งโอเพ่นซอร์สให้แน่ใจว่าได้รวมส่วนขยายของแผนภูมิและรูปแบบรูปภาพไว้ด้วย จากนั้นเปิด CMakeLists.txt เป็นโครงการ Ctrl+B จะรวบรวม maskromtool หากคุณมีปัญหากับการนำเข้าของคุณเช่นการเลือกการติดตั้ง QT ผิดให้ลบ CMakeLists.txt.user และเปิดโครงการอีกครั้งเพื่อลองอีกครั้ง
เพื่อความสะดวกของผู้ใช้ Windows และ MacOS เราได้ทำการเผยแพร่ prebuilt
ก่อนอื่นใช้ไฟล์/เปิด ROM เพื่อเปิดภาพ ROM เป็นภาพถ่าย ลองใช้รูปแบบที่ไม่บีบอัด แต่ระวังว่า macOS ไม่ชอบไฟล์ TIFF
การกดปุ่มควบคุม (คำสั่งบน macOS) ในขณะที่กลิ้งล้อเมาส์จะซูมเข้าและออก นอกจากนี้คุณยังสามารถหยิกซูมได้บนแผ่นแทร็ก การลากด้วยปุ่มกลางจะแพนหรือเลื่อนด้วยสองนิ้วตามที่ระบบปฏิบัติการของคุณชอบ
โดยการประชุมโดยพลการบิตควรอยู่ในคอลัมน์ยาวที่มีแถวที่สั้นกว่า หากสามารถมองเห็นเส้นถอดรหัสได้พวกเขาควรจะอยู่ที่ด้านบนของภาพ อย่าลังเลที่จะถ่ายภาพมันทางเดียวจากนั้นหมุนมาเป็นมาร์กอัป
เมื่อคุณบันทึกโครงการของคุณชื่อไฟล์ของรูปภาพจะขยายออกไปด้วย .json ไฟล์ JSON ที่เรียงลำดับและเยื้องนี้ควรเหมาะสมสำหรับใช้ในการควบคุมเวอร์ชันเช่นที่เก็บ GIT
ปุ่มแป้นพิมพ์เหล่านี้จะให้ข้อมูลส่วนใหญ่ของคุณ สำหรับการวาดเส้นก่อนอื่นให้เลือกเป็นตำแหน่งเริ่มจากนั้นกดปุ่มเมื่อเมาส์อยู่เหนือตำแหน่งสิ้นสุด การลบรายการหรือการตั้งค่าตำแหน่งจะใช้กับบรรทัดที่วางล่าสุดเว้นแต่คุณจะลากกล่องเพื่อเลือกบรรทัด
เลือกรายการโดยลากไปด้วยการคลิกเมาส์ซ้ายและดูเพื่อให้เปลี่ยนเป็นสีเขียว รายการที่วางไว้ล่าสุดจะถูกเลือกโดยอัตโนมัติ บางคำสั่งทำงานกับหลายรายการที่เลือก คนอื่น ๆ
คุณสามารถลบความผิดพลาดด้วย D หรือปรับตำแหน่งเล็กน้อยด้วย S ปุ่มลูกศรหรือการลากคลิกขวา ในระหว่างการเคลื่อนไหวบิตของเส้นที่ไม่เกี่ยวข้องอาจถูกซ่อนไว้เพื่อประสิทธิภาพและปุ่ม M หรือปล่อยปุ่มเมาส์ที่ถูกต้องจะวาดใหม่
บน macOS, ^ หมายถึงคำสั่งแทน ctrl
Tab -- Show/Hide bits.
-- Show/Hide rows and columns.
^ -- Show/Hide background.
ALT -- Show/Hide crosshair.
R -- Draw a row from the last left-click position.
SHIFT R -- Repeat the last row.
C -- Draw a column from the last left-click position.
SHIFT C -- Repeat the last column.
SPACE -- Repeat the last row or column.
D -- Delete the selected objects.
SHIFT D -- Duplicate the selected lines.
S -- Set the selected object to the mouse position.
F -- Jump to the selected item.
ARROWS -- Move the selected items.
right-drag -- Move the selected items. (SHIFT or ^)
middle-drag -- Pan the view.
^ wheel -- Zoom.
Q -- Zoom to zero.
A -- Zoom in.
Z -- Zoom out.
H -- Jump to home position.
^H -- Set the home position.
SHIFT F -- Force a bit's value. (Again to flip.)
SHIFT A -- Force a bit's ambiguity. (Again to flip.)
M -- Remark all of the bits.
SHIFT M -- Update hex decoding and disassembly.
V -- Run the Design Rule Checks.
SHIFT V -- Clear the DRC violations.
E -- Jump to next violation.
^Z -- Undo
SHIFT ^Z -- Redo
^S -- Save changes.
เมื่อคุณเริ่มทำเครื่องหมายบิตเป็นครั้งแรกซอฟต์แวร์ยังไม่ทราบเกณฑ์ระหว่างหนึ่งและศูนย์ คุณสามารถกำหนดค่าสิ่งนี้ด้วย View / Choose Bit Threshold
แม้แต่บิตที่ดีที่สุดก็ยังไม่ได้ทำเครื่องหมายไว้อย่างสมบูรณ์แบบดังนั้นให้ใช้ SHIFT+F เพื่อบังคับค่าบิตที่คุณเห็นว่าซอฟต์แวร์นั้นผิด SHIFT+A คล้ายกันและทำเครื่องหมายเล็กน้อยว่าคลุมเครือหรือเสียหาย เมนู DRC มีการตรวจสอบกฎการออกแบบที่จะเน้นปัญหาในโครงการของคุณเช่นบิตที่อ่อนแอหรือการจัดตำแหน่งที่ไม่ดี
หากการวางหลายบรรทัดกลายเป็นเรื่องน่าเบื่อให้เลือกกลุ่มด้วยปุ่มเมาส์ซ้ายของคุณและทำซ้ำชุดทั้งหมดด้วย SHIFT+D จากนั้นคุณสามารถลากด้วยปุ่มเมาส์ขวาไปยังตำแหน่งใหม่โดยทิ้งสำเนาอื่นไว้ในตำแหน่งเดิม หากเฟรมลดลงสำหรับสิ่งนี้ให้ใช้ปุ่ม TAB เพื่อซ่อนบิตทั้งหมดชั่วคราวซึ่งจะเร่งความเร็วในการเคลื่อนย้ายหลายบรรทัดในพื้นที่หนาแน่น
Crosshairs จะปรับตัวเองให้เข้ากับแถวและคอลัมน์ที่วางล่าสุดของคุณล่าสุด สิ่งนี้ควรทำให้พวกเขาเอียงเล็กน้อยเพื่อให้ตรงกับความเป็นจริงของภาพถ่ายของคุณ
หลังจากที่คุณทำเครื่องหมายบิตและตรวจสอบจุดว่าพวกเขามีความแม่นยำด้วย DRC ให้เรียกใช้ไฟล์/ส่งออกเพื่อถ่ายโอนข้อมูลลงใน ASCII เพื่อแยกวิเคราะห์ด้วยเครื่องมืออื่น ๆ เช่น Gatorom, Bitviewer หรือ Zorrom
นอกเหนือจาก GUI แล้วเครื่องมือนี้มีอินเทอร์เฟซบรรทัดคำสั่งที่มีประโยชน์ในการเขียนสคริปต์ ใช้สวิตช์ --help เพื่อดูพารามิเตอร์ล่าสุดและสวิตช์ --exit หากคุณต้องการให้ GUI ไม่ได้เปิดอยู่สำหรับการใช้งานแบบโต้ตอบ
forum% maskromtool --help
Usage: maskromtool [options] image json
Mask ROM Tool
Options:
-h, --help Displays help on commandline options.
--help-all Displays help, including generic Qt options.
-v, --version Displays version information.
-V, --verbose Print verbose debugging messages.
--stress Stress test bit marking.
-e, --exit Exit after processing arguments.
--disable-opengl Disable OpenGL.
--enable-opengl Enable OpenGL.
-d, --drc Run default Design Rule Checks.
-D, --DRC Run all Design Rule Checks.
--sampler <Default> Bit Sampling Algorithm.
--diff-ascii <file> Compares against ASCII art, for finding errors.
-a, --export-ascii <file> Export ASCII bits.
-o, --export <file> Export ROM bytes.
--export-histogram <file> Export histogram.
--export-csv <file> Export CSV bits for use in Matlab or Excel.
--export-json <file> Export JSON bit positions.
--export-python <file> Export Python arrays.
--export-photo <file> Export a photograph.
Arguments:
image ROM photograph to open.
json JSON lines to open.
หากต้องการวิ่งโดยไม่มี GUI ให้ผ่าน -platform offscreen หากโปรแกรมล่มภายใต้ Wayland ให้ใช้การใช้ Xorg โดยผ่าน -platform xcb
บน Windows มันเป็นเรื่องที่น่าอึดอัดใจที่ผู้ดำเนินการมี GUI ในขณะที่เก็บบันทึกไว้ใน CLI เราแก้ปัญหานี้ได้โดยการผลิตสองหน้าที่ โปรดใช้ maskromtool.exe สำหรับ gui และ maskromtoolcli.exe สำหรับ CLI
gatorom ที่เรียกใช้งานแยกต่างหากแยกตัวถอดรหัสบิต ROM โดยไม่ต้องใช้กราฟิก ดูรายละเอียด Gatorom
forum% gatorom
Usage: gatorom [options] bitstream
Gato ROM: A Decoder for Mask ROM Bits
Options:
-h, --help Displays help on commandline options.
--help-all Displays help, including generic Qt
options.
-v, --version Displays version information.
-V, --verbose Talk too much.
-w, --wordsize <8> Word size.bits
-r, --rotate <degrees> Rotates the image in multiples of 90
degrees.
--flipx Flips the bits along the X axis.
--flipy Flips the bits along the Y axis.
-i, --invert Inverts the bits.
-o, --output <out.bin> Output file.
--random Randomize a ROM for testing.
--Random Randomize a crazy ROM.
--rawwidth, --seanriddle <width> Width of a raw binary input, in Sean
Riddle's style.
-I, --info Info about input.
-d, --dis <arch> Disassemble.
--print Print with a GUI dialog.
--printpdf <file.pdf> Print to a PDF file.
--decode-tlcs47font Decodes as a TMP47C434N Font.
--decode-z86x1 Decodes as a Zilog Z86x1.
--decode-cols-downl-swap Decodes as a uCOM4 ROM.
--decode-cols-downr Decodes first down then right like a
Gameboy.
--decode-cols-downl Decodes first down then left.
--decode-cols-left Decodes left-to-right.
--decode-cols-right Decodes right-to-left.
--decode-squeeze-lr Decodes even bits from the left, odd bits
from right like in the TMS32C15.
-z, --zorrom Zorrom compatibility mode, with flipx
before rotation.
--leftbank Only the left half of the bits.
--rightbank Only the right half of the bits.
-a, --print-bits Prints ASCII art of the transformed bits.
-A, --print-pretty-bits Prints ASCII art with spaces.
--solve Solves for an unknown format.
--solve-bytes <bytes> Bytes as a hint to the solver.
0:31,1:fe,2:ff
--solve-ascii Look for ASCII strings.
--solve-string <bytes> Byte string as a hint to the solver.
31,fe,ff
--solve-yara <rule> Yara rule file.
--solve-set <prefix> Exports all potential solutions.
Arguments:
bitstream ASCII art of ROM to decode.
ฉันได้ออกแบบ GUI รอบ ๆ QGraphicsScene วัตถุข้อมูลพื้นฐานใช้ระบบพิกัด QT พร้อมลอยเพื่อความแม่นยำที่ดีกว่าพิกเซล
หลังจากโหลดภาพถ่าย ROM ผู้ใช้จะวางคอลัมน์และแถวลงบนภาพถ่าย ทุกจุดตัดของคอลัมน์และแถวถือว่าเป็นบิตและเกณฑ์สีที่กำหนดค่าได้จะกำหนดค่าของบิตนั้น ในกรณีที่ภาพถ่ายถูกอ่านผิดคุณยังสามารถบังคับบิตให้มีค่าที่รู้จัก
เมื่อบิตทั้งหมดถูกทำเครื่องหมายและเกณฑ์ที่เลือกซอฟต์แวร์จะทำเครื่องหมายทุก ๆ แสงเป็นสีน้ำเงิน (0) และทุก ๆ บิตมืดเป็นสีแดง (1) บิตเหล่านี้จะถูกจัดตำแหน่งเป็นรายการที่เชื่อมโยงของแถวสำหรับการส่งออกเป็น ASCII สำหรับใช้ในเครื่องมืออื่น ๆ
ในการระบุข้อผิดพลาดชุดการตรวจสอบกฎการออกแบบ (DRC) จะวิจารณ์โครงการเปิด ในขณะที่อินเทอร์เฟซหลักคือ GUI แต่ CLI ก็มีให้สำหรับการเขียนสคริปต์และการทดสอบ
ในขณะที่อาจมีการทำเครื่องหมายสองสามพันบิตโดยไม่มีข้อผิดพลาดโครงการขนาดใหญ่ย่อมจำเป็นต้องจัดการความผิดพลาดอย่างหลีกเลี่ยงไม่ได้
การเริ่มต้นที่ดีคือการใช้การตรวจสอบ DRC และการกำหนดค่าอย่างระมัดระวังของขีด จำกัด บิตจนกว่าจะไม่มีข้อผิดพลาดที่ชัดเจน จากนั้นนำทางโครงการและกดปุ่ม tab เพื่อแสดงและซ่อนคำอธิบายประกอบตรวจสอบให้แน่ใจว่าแต่ละบิตได้รับการยอมรับอย่างถูกต้อง
เมื่อสิ่งนั้นไม่เพียงพอเช่นสำหรับ ROM ที่มีหลายสิบหรือหลายร้อยกิโลบิตมันจะช่วยเพิ่มความหมายของ ROM เดียวกันหลายครั้งโดยเฉพาะจากภาพถ่ายที่แตกต่างกัน ข้อผิดพลาดของบิตจะเกิดขึ้นในการใส่คำอธิบายประกอบภาพถ่ายแต่ละภาพแน่นอน แต่พวกเขาจะเกิดขึ้นในสถานที่ต่าง ๆ จากนั้นคุณสามารถใช้คุณสมบัติ --diff-ascii กับเอาต์พุตของ --export-ascii เพื่อเปรียบเทียบภาพกระทบความแตกต่างของพวกเขาจนกว่าไฟล์โครงการทั้งหมดของคุณจะเห็นด้วย
ROM ส่วนใหญ่สามารถอ่านได้ง่ายๆโดยการอ่านสีของพิกเซลเดียวที่ศูนย์ของบิต สำหรับอัลกอริทึมการสุ่มตัวอย่าง Default จะทำงานได้ดี

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

แพตช์และการปรับปรุงเครื่องมือหน้ากาก ROM ยินดีต้อนรับมากที่สุด แต่โปรดอย่าสแปมตัวติดตามปัญหาด้วยคำขอคุณสมบัติ ควรส่งคำขอดึงผ่านหน้า GitHub และไม่ควรเข้าไปยุ่งกับโครงการด้วยการพึ่งพาห้องสมุดของบุคคลที่สาม
รหัสนี้เขียนขึ้นในภาษาอนุรักษ์นิยมของ C ++ โดยใช้คุณสมบัติขั้นสูงน้อยที่สุด ฉันพยายามแสดงความคิดเห็นรหัสและคำจำกัดความของคลาสอย่างละเอียด
Gatorom ถูกรวมเป็นตัวถอดรหัสบรรทัดคำสั่งที่แก้สำหรับการจัดเรียงบิต โปรดดูไฟล์ readme ของตัวเองสำหรับเอกสาร CLI โดยเฉพาะอย่างยิ่งสำหรับวิธีการแก้ปัญหาที่ยังไม่ได้รับการสนับสนุนใน GUI
แยกกัน Gatorom ใช้เป็นห้องสมุดสำหรับการถอดรหัสภายใน Maskromtool GUI ใช้แก้ไข/ถอดรหัสเพื่อกำหนดรูปแบบการถอดรหัสและดู/hexpreview เพื่อดูการถอดรหัสสดของบิตเป็น hexadecimal

จากตัวถอดรหัสคุณสามารถเน้นไบต์ Hex และใช้การเลือกมุมมอง/ไฮไลต์ HEX เพื่อแสดงภาพไบต์ที่เลือก ที่นี่เราเห็นสามคำแรกของ Myk82 ROM ซึ่งบรรจุ 32 บิตในแต่ละตำแหน่ง การแยกชิ้นส่วนยังมีให้เมื่อ unidasm จาก mame อยู่ในเส้นทาง

นอกจากนี้ยังรองรับการแก้ปัญหาสคริปต์ด้วยซึ่งมีมาสก์หรือกฎของ Yara อธิบายเฟิร์มแวร์ที่คาดหวัง การจับคู่ทั้งหมดมีการแจกแจงและโดยการกระโดดระหว่างพวกเขาคุณสามารถถอดรหัสภาพที่ไม่ใช้ interleving การกลับรายการแถวหรือภาวะแทรกซ้อนอื่น ๆ ได้อย่างรวดเร็ว

Zorrom ของ John McMaster เป็นตัวถอดรหัสที่ยอดเยี่ยมและเป็นแรงบันดาลใจให้กับห้องสมุดถอดรหัสในเครื่องมือนี้
Rompar ของ Adam Laurie อาจเป็นเครื่องมือการทำเครื่องหมายบิตแรกที่เปิดแหล่งที่มา
Bitract ของ Chris Gerlinsky เป็นเครื่องมือโอเพ่นซอร์สอีกอันสำหรับการทำเครื่องหมายบิตและ BitViewer เป็นเครื่องมือจับคู่ของเขาสำหรับการถอดรหัสบิตไปยังไบต์
PLA Decode ของ Peter Bosch เป็นเครื่องมือทำเครื่องหมายบิตที่ใช้สำหรับการสกัดไมโครไดรฟ์ Intel เก่า ดู Hardwear.io Talk จากปี 2020 สำหรับรายละเอียดเพิ่มเติม