ดังนั้นถ้าฉันเข้าใจทุกอย่างถูกต้อง
ไม่มาก
มันเป็นไฟล์ไบนารีและข้อมูลนั้นไม่สามารถเข้าใจได้สำหรับมนุษย์เรา
โดยทั่วไปแล้วไฟล์ไบนารีจะไม่สามารถเข้าใจมนุษย์และเครื่องได้โดยเฉพาะอย่างยิ่งเมื่อไม่ทราบจุดประสงค์ของไฟล์ โปรดทราบว่าไม่ใช่ไฟล์ไบนารี่ทั้งหมดที่เป็นไฟล์สั่งการ ไฟล์ไบนารีจำนวนมากเป็นไฟล์ข้อมูลที่ไม่มีคำสั่งเครื่องใด ๆ นั่นคือเหตุผลที่ใช้นามสกุลไฟล์เมื่อตั้งชื่อไฟล์ (ในระบบปฏิบัติการบางระบบ) การ CP / M ส่วนขยายcomถูกใช้เพื่อแสดงถึงไฟล์เรียกทำงาน การ ส่วนขยายexeถูกเพิ่มโดย MS-DOS เพื่อแสดงถึงรูปแบบไฟล์ปฏิบัติการอื่น * nixes ใช้แอ็ตทริบิวต์ execute เพื่อแสดงว่าไฟล์ใดที่สามารถเรียกใช้งานได้แม้ว่ามันอาจเป็นสคริปต์และโค้ด
ตามที่ผู้อื่นกล่าวถึงแล้วไฟล์ไบนารีซึ่งมีตัวเลขควรดูได้โดยโปรแกรมถ่ายโอนข้อมูลฐานสิบหกหรือโปรแกรมแก้ไขฐานสิบหกและไม่ควรใช้โปรแกรมดูข้อความ
มีตัวอย่างของเนื้อหาของโปรแกรม ping.exe
จริง ๆ แล้วไฟล์นั้นเป็นโปรแกรมที่เปลี่ยนตำแหน่งได้และไม่ใช่ข้อมูลทั้งหมดในไฟล์นั้นที่แสดงถึงรหัสเครื่อง มีข้อมูลเกี่ยวกับโปรแกรมเช่นไลบรารีแบบไดนามิกที่ต้องการซึ่งต้องมีการเชื่อมโยงรูทีนข้อกำหนดสำหรับสแต็กและโปรแกรมและหน่วยความจำข้อมูลและจุดเข้าใช้งานของโปรแกรม ตัวถูกดำเนินการที่อยู่ในไฟล์อาจเป็นค่าสัมพัทธ์ที่จำเป็นต้องคำนวณเป็นค่าสัมบูรณ์หรือการอ้างอิงที่จำเป็นต้องได้รับการแก้ไข
"ไฟล์โปรแกรม" ที่คุณอาจนึกถึงเรียกว่าไฟล์ภาพไบนารีหรือดัมพ์หน่วยความจำของโปรแกรม ไฟล์ดังกล่าวจะมีเพียงรหัสเครื่องและข้อมูลโดยที่การอ้างอิงที่อยู่ทั้งหมดได้รับการตั้งค่าอย่างเหมาะสมเพื่อการปฏิบัติ
แม้ว่าพวกเขาจะรู้รหัสการประกอบ (ระดับต่ำสุดของภาษาเครื่อง)
ภาษา Assembly ไม่ได้เป็นเช่นเดียวกับภาษาเครื่อง ซีพียูทั่วไป (เพื่อยกเว้นคอมพิวเตอร์ภาษาระดับสูง) ซีพียูยอมรับรหัสเครื่องเป็นอินพุตหนึ่งคำสั่งในแต่ละครั้ง ตัวถูกดำเนินการเป็นรีจิสเตอร์หรือที่อยู่หน่วยความจำตัวเลข ภาษาแอสเซมบลีเป็นภาษาระดับสูงกว่าที่สามารถใช้เลเบลสัญลักษณ์สำหรับตำแหน่งคำสั่งและตัวแปรรวมถึงการแทนที่รหัสตัวเลขด้วยหน่วยความจำ โปรแกรมภาษาแอสเซมบลีต้องถูกแปลงเป็นภาษาเครื่อง / รหัสก่อนจึงจะสามารถดำเนินการได้จริง (โดยทั่วไปคือยูทิลิตี้ที่เรียกว่าแอสเซมเบลอร์แอสเซมเบลอร์
การดำเนินการย้อนกลับ disassemby สามารถดำเนินการในไฟล์โปรแกรมที่มีความสำเร็จและการสูญเสียข้อมูลสัญลักษณ์ การถอดชิ้นส่วนของการถ่ายโอนข้อมูลหน่วยความจำหรือไฟล์อิมเมจโปรแกรมเป็นการทดลอง & ข้อผิดพลาดมากกว่าเนื่องจากต้องระบุรหัสและที่ตั้งข้อมูลด้วยตนเอง
BTW มีบุคคลที่สามารถอ่านและรหัสรหัสเครื่อง (ตัวเลข) ได้ แน่นอนว่านี่เป็นสิ่งที่ง่ายกว่าสำหรับซีพียูหรือไมโครคอนโทรลเลอร์ 8 บิตมากกว่าโปรเซสเซอร์ CISC 32 บิตพร้อมโหมดที่อยู่หน่วยความจำโหล