dword: = DWORD
hex(2): = Expandable-String
hex(7): = Multi-String
A DWORDadalah bilangan bulat 32-bit unsigned (rentang desimal: 0- 4294967295), dan, dalam registri, a DWORDselalu dimulai dengan 0xdan memiliki 8 digit yang mengikuti 0x. Ini bisa dalam format desimal atau heksadesimal; misalnya, 1000dapat ditulis sebagai 0x00001000atau 0x000003e8.
DWORDShanya dapat menggunakan digit 0- 9. String, apa pun jenisnya, selalu menggunakan ASCII, dan dalam ACSII, 1000hanya dapat ditulis sebagai 31,30,30,30. Untuk tipe data String, ASCII bekerja di latar belakang tanpa Anda ketahui karena komputer hanya memahami angka 1 dan 0.
Untuk tipe data Expandable-String dan Multi-String, ini menyimpan entri Anda sebagai serangkaian kode ASCII dalam format heksadesimal, dipisahkan oleh koma dan hex nol; jadi String yang Dapat Diperluas dari 1000akanhex(2):31,00,30,00,30,00,30,00
Mari kita konversi %PROGRAMFILES%menjadi String yang Dapat Diperluas:
- Gunakan ASCII ke Hex Conversion Tool , masukan
%PROGRAMFILES%ke dalam kotak teks, Pembatas keluaran yang ditentukan pengguna:, %pilih Konversi, dan itu akan memberi Anda:
%25%50%52%4F%47%52%41%4D%46%49%4C%45%53%25
- Salin / tempel hasil itu ke dalam editor teks: Pindahkan yang pertama
%ke akhir, Temukan / Ganti semua %dengan ,00,dan hapus koma di bagian paling akhir dari string. Anda harus mendapatkan:
25,00,50,00,52,00,4F,00,47,00,52,00,41,00,4D,00,46,00,49,00,4C,00,45,00,53,00,25,00
- Akhirnya:
hex(2):25,00,50,00,52,00,4F,00,47,00,52,00,41,00,4D,00,46,00,49,00,4C,00,45,00,53,00,25,00
Pelajaran ini berisi semua pengetahuan yang diperlukan untuk merekayasa balik entri registri hex-coded yang tidak dienkripsi.
.batfile denganregperintah alih-alih.regfile), tetapi mengapa ini berbicara tentang REG_MULTI_SZ ketika pertanyaannya adalah tentang REG_EXPAND_SZ?