วิธีการเขียนบูตเซกเตอร์ NTFS ที่แปลแล้ว?


8

ความจริงที่ไม่รู้จักเล็กน้อย: บูตเซกเตอร์ NTFS มีหลายภาษา พวกเขาสามารถพูด " BOOTMGR is missing" และ " Press Ctrl+Alt+Del to restart" แต่พวกเขายังสามารถพูดสิ่งเดียวกันในภาษาอื่น ๆ ขึ้นอยู่กับโลแคลของระบบ Windows ที่คุณใช้เมื่อคุณสร้างและจัดรูปแบบพาร์ติชัน

เนื่องจากมัลแวร์สับสนฉันต้องเขียนบูตเซกเตอร์ NTFS ของไดรฟ์ระบบซึ่งซ่อนรูทคิทอยู่ ฉันทำสิ่งนี้โดยใช้bootsect.exeเครื่องมือบน DVD การติดตั้งซึ่งเป็น DVD การติดตั้งภาษาอิตาเลียนเดียวกับที่ฉันเคยติดตั้ง Windows แต่เดิม นอกจากนี้ยังมีไฟล์ bootsect.exe.mui ที่ดีในโฟลเดอร์ it-IT แถว ๆ นั้น แต่เครื่องมือกำลังพูดภาษาอังกฤษและบูตเซกเตอร์ NTFS ของฉันก็กำลังพูดภาษาอังกฤษด้วยเช่นกัน (และแน่นอนว่ามันไม่เคยมีมาก่อน)

ฉันรู้ว่านี่เป็นสิ่งที่หมดจด แต่ฉันต้องการที่จะรู้: วิธีการสร้างบูตเซกเตอร์ NTFS ที่แปลเป็นภาษาท้องถิ่น (โดยไม่ต้องฟอร์แมตพาร์ติชันในระบบแปลเป็นภาษาท้องถิ่น)?


3
ฉันสงสัยว่า fixmbr จากคอนโซลการกู้คืนในการติดตั้งของคุณอาจถูกแปลเป็นภาษาท้องถิ่น ที่น่าจะทำ
คนแคระ

(+1) คำถามที่ดีมาก btw, Massimo :) เพิ่มในรายการโปรดของฉัน
คนแคระ

1
ไม่มี "fixmbr" ใน Windows 7 ... สิ่งที่ใกล้เคียงที่สุดคือ bootsect.exe และ bootrec.exe; ฉันลองใช้พวกเขาจากแผ่นดีวีดีติดตั้ง (ซึ่งแปลเป็นภาษาท้องถิ่น) แต่จบลงด้วยบูตเซกเตอร์ภาษาอังกฤษ ฉันจะลองอีกครั้งจาก Recovery Console
Massimo

ทดสอบทั้งสองอย่างแล้วทดสอบจาก Windows Recovery Environmentized ทั้ง bootsect.exe และ bootrec.exe จะสร้างบูตเซกเตอร์ภาษาอังกฤษ
Massimo

มีสองวิธีในการใช้ bootsect คุณสามารถใช้อักษรระบุไดรฟ์เพียงอย่างเดียวและบูตโหลดเดอร์จะถูกเขียนไปยังพาร์ติชันหรือคุณสามารถใช้ตัวเลือก / mbr ซึ่งเขียนลงใน MBR คุณเคยลองทั้งสองไหม และตรงไปตรงมาภาษามีความสำคัญหรือไม่ มีเพียงไม่กี่สตริงในโค้ดตัวโหลดบูตขนาดเล็กนั้นและคุณไม่เห็นพวกมันเกือบตลอดเวลา ฉันถือว่าเมนูการเลือกระบบปฏิบัติการของคุณแสดงอย่างถูกต้องหรือไม่?
billc.cn

คำตอบ:


1

ข้อความที่แตกต่างกันมาจากที่ต่างๆ แต่ถ้าคุณแทนที่ไฟล์สำหรับบู๊ตเช่น bootmgr, BCD (จากระบบที่มีการกำหนดค่าการบู๊ตเดียวกัน), bootsect.dat, boot.sdi หรือไฟล์อื่น ๆ ที่คุณมีฉันคิดว่าคุณจะพบข้อความใน ภาษาที่คุณเลือก


ตัวโหลดบูตพูดภาษาที่ถูกต้อง มันคือบูตเซกเตอร์ที่ไม่ทำ
Massimo

พูดอย่างเคร่งครัดรหัสใน VBR ก็เป็นบูตโหลดเดอร์
JdeBP

ตัวตักการบูตจะอยู่ในบูตเซกเตอร์ บูตเซกเตอร์ไม่ใช่รหัส แต่เป็นที่ตั้ง
jiggunjer

1

ใน Vista ของฉันบูตเซกเตอร์เป็นภาษาอังกฤษแม้ว่าฉันจะมีระบบโปแลนด์ ฉันติดตั้งจากดิสก์ Microsoft ดั้งเดิม บางที bootsector ของคุณอาจเป็น OEM ที่ถูกแฮ็ก


อิมเมจ ISO ของ Microsoft อย่างเป็นทางการดาวน์โหลดจาก MSDN
Massimo

ของฉันก็เป็นทางการเช่นกัน
kinokijuf

0

บูตเซกเตอร์มีขนาดค่อนข้างเล็ก (เพียง 512 ไบต์) ดังนั้นคุณสามารถแยกส่วนได้ (ใช้อะไรก็ได้จาก NDISASM ถึง IDA) แก้ไขข้อความแล้วประกอบใหม่อีกครั้ง (NASM จะทำ)

สิ่งนี้ต้องใช้ทักษะการเขียนโปรแกรมเล็กน้อยและอาจจะอ่านตำราเรียนแอสเซมเบลอร์ x86 บางเล่ม แต่แน่นอนว่าคุณต้องพยายามอย่างเพียงพอ


2
ไม่ใช่ 512 แต่ 446 ไบต์ ไบต์อื่นถูกสงวนไว้สำหรับตารางพาร์ติชัน
Eir Nym

สาระสำคัญของความคิดเห็นนี้เป็นความจริง แต่คำแถลงนั้นไม่เป็นเช่นนั้น bootsector ไม่ใช่ MBR MBR คือ 512 ไบต์ (446 โดยไม่มีตารางพาร์ติชัน) ในขณะที่ bootsector มีขนาดใหญ่กว่าหรือสองหรือน้อยกว่านั้นค่อนข้างซับซ้อนและซับซ้อนกว่าในการทำวิศวกรรมย้อนกลับและทำความเข้าใจ ตามความรู้ของฉันไม่มีการศึกษาด้านวิศวกรรมย้อนกลับที่สมบูรณ์ของ NTFS bootsector สำหรับ Windows รุ่นล่าสุด (และฉันก็ตอบกลับคำตอบนี้)
Mahmoud Al-Qudsi

@ MahmoudAl-Qudsi bootsect.exeปฏิบัติกับรหัสใน MBR และใน VBR เป็น bootloader ปัญหาภาษาที่ OP อ้างถึงนั้นแท้จริงแล้วในส่วน VBR ที่มีขนาดใหญ่กว่า
jiggunjer

0

1) เสียบไดรฟ์ที่มีพาร์ติชัน NTFS ลงในเครื่องที่ใช้งาน linux ใช้ตัวแก้ไขดิสก์ / ฐานสิบหกหรือคำสั่ง dd หรือ 2) บู๊ตเป็น linux บน CD / DVD แล้วก็เหมือนกัน; หรือ 3) ทำเช่นเดียวกันกับระบบ Windows แต่ไดรฟ์ข้อมูล NTFS ที่จะแก้ไขต้องถูก unmount ใน Windows Vista และใหม่กว่า คุณมี 4 สตริงข้อความเข้ารหัส ASCII โดยมีการเริ่มต้นออฟเซ็ต (เทียบกับออฟเซ็ต 100h ใน Volume Boot Record) ที่กำหนดเป็นไบต์ 1F8h ถึง 1FBh พื้นที่จาก offset 180h ถึง offset 1F7h ดูเหมือนว่าจะมีให้สำหรับข้อความเหล่านี้ มีสำเนาของ Volume Boot Record ที่ส่วนท้ายสุดของพาร์ติชัน


0

คุณสามารถลองสิ่งนี้ได้ (หากการติดตั้ง windows ของคุณอยู่ในพาร์ติชัน C:)

bcdboot c:\Windows /l it-it

หรือด้วย bcdedit

bcdedit /set {bootmgr} locale it-IT
bcdedit /set locale it-IT

หรือด้วย bcdedit ขึ้นอยู่กับการกำหนดค่าของคุณ (รู้ว่าการกำหนดค่าของคุณโดยการพิมพ์ bcdedit)

bcdedit /set {default} it-IT
bcdedit /set {current} it-IT 

คุณสามารถหาเอกสารเกี่ยวกับคำสั่ง 'bcdboot' ได้ที่นี่:

http://technet.microsoft.com/en-us/library/cc731245%28WS.10%29.aspx

และ 'bcdedit' ที่นี่:

http://technet.microsoft.com/fr-fr/library/cc709667%28WS.10%29.aspx

บอกเราว่าอันไหนเหมาะกับคุณถ้ามันทำ .. !


คำสั่งทั้งสองนี้มีผลต่อตัวจัดการการบูตไม่ใช่ภาคบูต ...
Massimo
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.