Новости:

Форуму исполнилось 12 лет!

Мы в матрице .
Мы в телеге .

Главное меню

hex редактор

Автор kot, 29 июля 2015, 12:53:11

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

kot

а встроенного сабжа в слаке нет? не хочется ставить дополнительные пакеты, причем в инете о них отвызы разные.

Graf

А чем стандартный в mc не устроил?
F3-F4-F2 - и редактируй на здоровье :)

kot

Цитата: Graf от 29 июля 2015, 13:58:59А чем стандартный в mc не устроил?

я про него и не знал, спасибо! :)
только в нем к HPA не подобраться, мне бы залить туда файлик как-то надо.

Graf

Цитата: kot от 29 июля 2015, 16:42:34
только в нем к HPA не подобраться, мне бы залить туда файлик как-то надо.

Не пойму, зачем тебе hex редактор?

# hdparm -Ng /dev/sdb

/dev/sdb:
geometry      = 30401/255/63, sectors = 488397168, start = 0
max sectors   = 488397168/488397168, HPA is enabled


диск пустой, без разделов, забит нулями. Дальше:


# losetup -o 488396656 --sizelimit 512000 /dev/loop0 /dev/sdb
# mkfs.ext4 /dev/loop0
# mount /dev/loop0 /mnt/hd


В итоге, имеем скрытую область в 512 Кб в конце диска с ext4, примонтированную к /mnt/hd .
Все, копируй в /mnt/hd чего надо до 512 Кб и ни одна система эту область не обнаружит.
Кстати, размер можешь указывать любой :) (если не ошибаюсь)

Или я не о том?

kot

Цитата: Graf от 30 июля 2015, 13:28:43Не пойму, зачем тебе hex редактор?
да собственно вот по этой статье http://andreyex.narod.ru/recovering.htm надо все сделать, но только в слаке.

bormant

dd в помощь с его параметрами skip, offset, bs, count, if, of.

kot

Цитата: bormant от 31 июля 2015, 09:51:48dd в помощь с его параметрами skip, offset, bs, count, if, of.

а я не знаю как сделать в dd такое
ЦитироватьЗатем необходимо верно заполнить последний сектор 60058655 (учет секторов ведётся с нуля поэтому не 60058656), к которому и переходим.

00000000 24 47 41 46 52 10 41 08 00 00 00 00 00 00 00 00
00000010 00 00 00 00 00 00 00 00 00 00 1F 6A 94 03 00 00

где: 24 47 41 46 52 10 41 08 - код, сообщающий матери, что здесь находится BIOS.
1F 6A 94 03 - сектор с которого начинается BIOS (60058143)

Graf

Можешь попробовать wxHexEditor, есть в sbopkg.

bormant

Цитата: kot от 31 июля 2015, 12:20:44не знаю как сделать в dd такое
если правильно путаю:# echo -ne "\x24\x47\x41\x46\x52\x10\x41\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1F\x6A\x94\x03\x00\x00" | \
dd bs=512 seek=60058655 of=/dev/sda

kot

# hdparm -Ng /dev/sdc

/dev/sdc:
geometry      = 9729/255/63, sectors = 156299375, start = 0
max sectors   = 156299375/156301488, HPA is enabled


получается 156301488-156299375=2113*512=1081856 байт, т.е. HPA=чуть больше 1 Мб
прошивка pe1000mk.BIN ~ 131 Кб
по статье:
156301488-513=15600975
dd if=./pe1000mk.BIN bs=512 seek=156300975 of=/dev/sdc           
dd: «/dev/sdc»: невозможно сместиться: Недопустимый аргумент
0+0 записей получено
0+0 записей отправлено
скопировано 0 байт (0 B), 0,000899905 c, 0,0 kB/c


ладно думаю, пойдем другим путем

# losetup -o 156299375 --sizelimit 1024000 /dev/loop0 /dev/sdc 
# mkfs /dev/loop0     
# mount /dev/loop0 /mnt/disk1


скопировал прошивку, отмонтировал ресурс, теперь надо указать где искать прошивку. по статье в полсденем секторе надо указать адрес сектора с прошивкой

# echo -ne "\x24\x47\x41\x46\x52\x10\x41\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6F\xF0\x50\x09\x00\x00" | dd bs=512 seek=156301488 of=/dev/sdc
dd: «/dev/sdc»: невозможно сместиться: Недопустимый аргумент
0+0 записей получено
0+0 записей отправлено
скопировано 0 байт (0 B), 0,000903886 c, 0,0 kB/c


не видет dd HPA получается? или я вообще все не правильно делаю?