IMHO.WS

IMHO.WS (https://www.imho.ws/index.php)
-   Безопасность (https://www.imho.ws/forumdisplay.php?f=19)
-   -   про 16-ричные коды (https://www.imho.ws/showthread.php?t=91926)

vuk 02.09.2005 11:11

про 16-ричные коды
 
Наткнулся тут на довольно старую, но до сих пор интересную статейку, о том как пробить себе права админа на системах семейства NT, кому интересно - _http://www.madalf.ru/doc2/a13.shtm, но некоторых вещей в ней не понял.
"Существуют еще одна интересная возможность обойти проверку пароля. Сама проверка пароля осуществляется посредством файлика (библиотеки) MSV1_0.DLL. Нам надо найти строчку с командой cmp eax, 10h или ее шестнадцатиричный эквивалент 83 F8 10 Такая строчка встречается 5 раз по данным смещения. ... Данная проверка смещения 1F6C (.75B81F6C) - это проверка пароля для входа. Нам нужно лишь поправить эту проверку убрав ее и поставив переход: ...."
внимание вопрос - что есть "данные смещения", "переход" и как этот переход ставится?
З.Ы.: основы что такое шестнадцатеричная система счисления представляю, объяснять не надо.

Madness 02.09.2005 13:17

vuk
>что есть "данные смещения", "переход" и как этот переход ставится?
Смещение в файле относительно начала его. Переход - это команда ассемблера записанная по данному адресу(смещение его от начала файла указано).
Не знаю как проще объяснить :)

vuk 05.09.2005 11:35

хм... ну хоть слегка просветил. теперь как переход задаётся. вот есть у меня файл открытый в hex editor
"000...00: 99 00 FA 1C .... | slkjfdls
000...10: 93 E0 BC 17 .... | asddww"
те 000...10 это у нас начальное смещение? что есть виртуальное смещение?

как задаётся переход:
если на примере, то по статье (см место в статье = цитата из 1 мессаги) забиваем нулями строку 000 ... 1F6C: (таблица 1), а если предположить что в таблице 2: 1 столбец - смещение, 2 ст - комманда, 3ст - 16ричный эквивалент коммадны, то в строках 000 ... 1F9E: задаем "хх хх 90 хх .... | (без изменений)" так?
тогда вопрос, где конкретно ставится это "90"?

Madness 05.09.2005 12:53

>те 000...10 это у нас начальное смещение?
Да.

>что есть виртуальное смещение?
Почитай описание PE-формата exe-файлов. Если кратко, то это адрес байта, который он будет занимать в памяти после загрузки файла.

>тогда вопрос, где конкретно ставится это "90"?
Указано же - 1F9E.

vuk 05.09.2005 13:03

"где конкретно" это в каком месте строки с этим смещением, где между иксами?
или всю остальную строку надо нулями забивать? бред... кажется...

Madness 05.09.2005 13:44

vuk
>"где конкретно" это в каком месте строки с этим смещением, где между иксами?
>или всю остальную строку надо нулями забивать?
Где написано, там и менять. Если написано что смещение 10, а байты xx xx xx 90, то менять надо байт по смещению 10+3=0Сh.


Часовой пояс GMT +4, время: 04:18.

Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.