|
|
| Посл.отвђт | Сообщенiе |
|
|
Дата: Янв 9, 2004 14:44:03 angel_aka_ks а вот как всетаки смотря на опкод в двоичном представлении узнать все это об нем я не понял .... Да там ничего военного нет - смотришь в мануал и по битам все раскладывается The Svin Ну ты же как-то научил своего мелкого :) Вот и нас научи! Метода ведь есть какая-то. Ты же сам писАл, что он не просто заучивал мануалы интела Просто меня все не покидает желание написать что-то типа трейсера PE + эмулятора IA для того, чтобы на некоторый момент времени знать состояние программы. С трейсером по большому счету проблем нет, а вот с эмулятором... Тупо зашивать все команды - дохрена получится. Вывод, надо группировать их по признакам - команды модифицирующие регистры, память, флаги... да хрен его знает, по чем их группировать :( Может тут имеет смысл использовать некую вирт. машину, описав каждую команду в псевдокоде? Даже идей толковых нету, мля... :((( |
|
|
Дата: Янв 9, 2004 23:51:51 Ян учился по тем же обучалкам что лежат на WASM. Воспринимал это как игрушки логические. Опкоды выучились в процессе игры в эти игрушки. |
|
|
Дата: Янв 11, 2004 00:58:17 я вот согласен с MAX вот ты говоришь есть способ разобратся во всем без интеловских мануалов но обучалки подразумевают что ты уже знаком с тем как определить длинну по битам а я еще с этим не дружу знаю только из чего может состоять опкод :( а так конечно я прочитал все посты внимательно и не один раз и все что писал понял НО ты не написал как ТЫ по битам узнаешь все об опкоде !!! |
|
|
Дата: Янв 11, 2004 01:01:31 volodya пишет: Мне-то за что? Ты Свина, Голову, ФатМуна и Аркадия с Сарсом благодари - они тебе помогали, а не я. тебе за то что ты привел этих людей !!! конечно им большое спасибо очень полезная инфа !!! но вот пока не все понял ...... |
|
|
Дата: Янв 11, 2004 03:21:35 Повторяю 3ий раз и последний. На сайте в разделе общеобразовательных программ, лежат статьи и обучалки. Обучалки идут к статьям. НИКАКОЙ ПОДГОТОВКИ ДОПОЛНИТЕЛЬНОЙ ОНИ НЕ ТРЕБУЮТ! Что я тебе не написал? Я в разделе образовательных программ всё написал. Я второй раз тебя спрашиваю - мне что из этих уже положенных статей для тебя в персональные посты перепечатывать что-ли? Что такое как по битам узнаю про опкод? Ты что пологаешь я двумя предложениями описать это могу, на кой ляд тогда написано про это столько если это можно двумя предложениями рассказать? Или ты пример хочешь чтобы я привёл на конкретном опкоде? Тогда дай мне бинарную последовательность, хоть в Hex хоть в битах - я по шагам расскажу как ЭТУ КОНКРЕТНУЮ ПОСЛЕДОВАТЕЛЬНОСТЬ я бы прочитал опираясь на знания об опкоде. |
|
|
Дата: Янв 11, 2004 07:05:10 Тогда дай мне бинарную последовательность, хоть в Hex хоть в битах - я по шагам расскажу как ЭТУ КОНКРЕТНУЮ ПОСЛЕДОВАТЕЛЬНОСТЬ я бы прочитал опираясь на знания об опкоде. вот как раз я это и хотел сказать просто не так выразился ..... вот примерчик C7B100FFAB8E00FF8F6B |
|
|
Дата: Янв 11, 2004 07:07:30 Нужно было подлиннее, чтоб лучше разобраться ;-) |
|
|
Дата: Янв 11, 2004 08:38:13 The Svin соррррииииии все дело в том что я когда 1 раз все обучалки скачал то почему то забыл самую главную скачать и поспешил с выводами щас же я скачал и понял что все что я спрашиваю давно тобой описанно и есть сории теперь буду разбиратся Asterix =) |
|
|
Дата: Янв 11, 2004 10:42:59 Подлинее - комменариев будет на 20 экранов :) С обучалками. Надо просто Володю попросить чтобы их вообще все связанные с опкодом в одно место положить. А то на сайте они лежат не подряд, можно пропустить. А, Володя? Старый разговор. Давай, пожалуйста, их в одно место положим. |
|
|
Дата: Янв 11, 2004 10:44:19 C7B100FFAB8E00FF8F6B Это в байтовом порядке? От младших адресов к старшим? |
|
|
Дата: Янв 11, 2004 10:51:20 · Поправил: angel_aka_ks The Svin это я просто взял залез в hiew и нашел самую длинную команду и выписал ее hex значение как есть тоесть грубо 0401000 C7B100FFAB8E00FF8F6B |
|
|
Дата: Янв 11, 2004 10:59:42 C7B100FFAB8E00FF8F6B Это в байтовом порядке? От младших адресов к старшим? Это не может быть началом опкода. 11 000 111 - похоже на modr/m eax,edi или edi,eax в зависимости от бита D который должен быть вначале (т.е. в пропущенном байте кода) если так - то опкод пропущен впереди. Ты мне дал от болды HEX? С7 не может быть началом опкода. Если его откинуть как кусок неполно данной инструкции то следующая инструкция mov CL,00 B1 00 Понимается так старшие биты 1011 - указывают на формат инструкции mov reg,imm где первые четыере бита (1011) - ID следующий бит указывает частичные (8и битные) или полные (16 или 32х битные) регистры используются в команде (16 или 32х определяется по текущей адресации и наличию префикса 66h) Ещё этот бит называется бит w. В данном случае он = 0 значит используются 8и битные регистры. Далее 3и бита - код регистра. Для 8и битных код 001 - это CL. Поэтому можно сказать уже по первому байту B1 что это mov CL. Что мувится в CL - следующий байт при формате 1011xxxx непосредственный операнд сразу же следует за инструкцией и включает столько же байт сколько сколько и размер операнда. В данном случае размер операнда 8 бит значить непосредственный операнд тоже один байт. Поэтому B1 (или бинарно наглядней 1011 0 001:0000000) это mov CL,00h. Дальше декодировать? Только скажи мне - это от болды последовательность или ты взял её откуда то? |
|
|
Дата: Янв 11, 2004 12:04:18 я это взял с проги :) hiew показывает что это mov d,[ecx][008eabff00],06b8fff00 |
|
|
Дата: Янв 11, 2004 14:50:33 у тебя дурная привычка, не отвечать на вопросы и читать наискосок. Приходится по нескольку раз задовать одни и те же вопросы, ты не на колёсах сидишь? Я просил сказать про порядок в байтах, сейчас уже и так понятно. Должно быть C781... в этом случае. С7 это код группы 1100011w у которой расширение в Modrm (следующий байт) в поле codr для mov это поле = 000. У тебя в примере оно 110. У этой группы пока вообще одно расширение. 110 - зарезервировано. Что это за прога такая? С левыми кодами? |
|
|
Дата: Янв 11, 2004 15:09:39 Проверил на трёх моделях процов - такой формат везде вызывает исключение - неверный опкод. А то я уж испугался - думал, чего то незнаю из кодов. А Hiew опять глючит при дизассемблировании. Можешь радоваться - с твоей помощью обнаружен ещё один баг. Не сделал Женя проверку на валидность поля codr. Из какой такой проги это ты мне дал? Вбил небось каких попало hex кодов? |
|
Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.047 |