Сейчас на форуме: Magister Yoda, rtsgreg1989 (+6 невидимых)

 eXeL@B —› Основной форум —› Вопрос по командам
. 1 . 2 . >>
Посл.ответ Сообщение

Ранг: 0.0 (гость)
Активность: 0=0
Статус: Участник

Создано: 06 марта 2005 09:25
· Личное сообщение · #1

В проге я нашёл такое место:

call 004CD180
mov eax, dword ptr [esi+60]
cmp dword ptr [eax-08], 00000064
je 0042E999

прыжок идёт на мессагу о неправильном коде. А что конкретно делают mov и cmp? Эта сверка с 64 это что? Заранее благодарен.




Ранг: 1288.1 (!!!!), 273thx
Активность: 1.290
Статус: Участник

Создано: 06 марта 2005 09:48 · Поправил: Ara
· Личное сообщение · #2

mov eax, dword ptr [esi+60]
Заносит в регистр ЕАХ значение dword, которое находится по адресу esi+60h

cmp dword ptr [eax-08], 00000064
Сравнивает dword-значение, лежащее по адресу eax-08 c числом 064h



Ранг: 0.0 (гость)
Активность: 0=0
Статус: Участник

Создано: 06 марта 2005 10:36
· Личное сообщение · #3

И получается надо искать в предыдущем call место где в eax-08 кладётся 64h и тогда cmp будет выдавать верное сравнение?



Ранг: 495.3 (мудрец)
Активность: 0.30
Статус: Участник

Создано: 06 марта 2005 11:05
· Личное сообщение · #4

Если ты просто реверс делаешь, то достаточно заменить переход с условием je (он же jz) на безусловный переход jmp.
А ключ генерить с такими познаниями в ассемблере рано. Читай Дневники Чайника, а лучше сразу Рассылку Калашникова.

-----
Всем привет, я вернулся





Ранг: 1288.1 (!!!!), 273thx
Активность: 1.290
Статус: Участник

Создано: 06 марта 2005 11:22
· Личное сообщение · #5

Shnaider пишет:
И получается надо искать в предыдущем call место где в eax-08 кладётся 64h и тогда cmp будет выдавать верное сравнение?

Врядли все там так тривиально. Скорее всего туда не ложится число 64, а подсчитывается к примеру какая-нить сумма. Но принцип правильный, копать надо ту процедуру. Посмотри, какой именно это будет адрес eax-08 и смотри, что туда будет ложиться в твоей процедуре.



Ранг: 0.0 (гость)
Активность: 0.010
Статус: Участник

Создано: 06 марта 2005 13:07
· Личное сообщение · #6

Ara пишет:
Заносит в регистр ЕАХ значение dword, которое находится по адресу esi+60h

прочитал недавно П.Абеля(Асм. для IBM PC) так там сказано что при такой команде адрес или ds:esi+60 или же при раньше произведенной инструкции типа:
lea esi,something -- разве не так?




Ранг: 1288.1 (!!!!), 273thx
Активность: 1.290
Статус: Участник

Создано: 06 марта 2005 13:15
· Личное сообщение · #7

r4sher
Я ничего не понял из твоей фразы, но LEA ESI, something загружает в ESI адрес этой самой something, а MOV ESI, something - значение.... Т.е. в первом случае это эквивалентно MOV ESI, 00480000, во втором - MOV ESI, DWORD PTR[00480000]



Ранг: 495.3 (мудрец)
Активность: 0.30
Статус: Участник

Создано: 06 марта 2005 13:22
· Личное сообщение · #8

Ara
Цитата: "Как ты ещё не сбрендил, с этими пелёнками" сказал мне дедушка.

-----
Всем привет, я вернулся




Ранг: 389.6 (мудрец)
Активность: 0.150
Статус: Участник

Создано: 06 марта 2005 14:27
· Личное сообщение · #9

Bitfry пишет:
Если ты просто реверс делаешь, то достаточно заменить переход с условием je (он же jz) на безусловный переход jmp.


Вот этого как раз ему делать и не надо

2BitfryПовнимательней

-----
TBR





Ранг: 1288.1 (!!!!), 273thx
Активность: 1.290
Статус: Участник

Создано: 06 марта 2005 15:53
· Личное сообщение · #10

Grey пишет:
Вот этого как раз ему делать и не надо

Ага, если уж патчить, то не переход, а саму процедуру...

Bitfry пишет:
Цитата: "Как ты ещё не сбрендил, с этими пелёнками" сказал мне дедушка.

Чет я не фтыкаю, к чему это? =))



Ранг: 495.3 (мудрец)
Активность: 0.30
Статус: Участник

Создано: 06 марта 2005 16:29
· Личное сообщение · #11

Ara пишет:
Чет я не фтыкаю, к чему это? =))

Это про, детские вопросы.
Grey пишет:
2BitfryПовнимательней

Вот я уже, похоже, сбрендил.

Shnaider
Думаю, ты и сам понял, что всё на оборот (не jmp а nop или jnz)

-----
Всем привет, я вернулся




Ранг: 389.6 (мудрец)
Активность: 0.150
Статус: Участник

Создано: 06 марта 2005 18:41
· Личное сообщение · #12

Bitfry пишет:
Это про, детские вопросы.


Ну да! Давай еще Ara перестанет отвечать. Чо тогда?

-----
TBR




Ранг: 0.0 (гость)
Активность: 0.010
Статус: Участник

Создано: 06 марта 2005 18:44
· Личное сообщение · #13

Bitfry пишет:
Это про, детские вопросы.

детские, не детские а я имел ввиду что цепь команд
lea esi,data1 ;data1 db 112 dup(2) к примеру(вроде так)
mov eax,[esi+60] ;копирует в еакс содержимое data1 со смещением 60(60 элемент data1)...
правильно?



Ранг: 495.3 (мудрец)
Активность: 0.30
Статус: Участник

Создано: 06 марта 2005 19:54
· Личное сообщение · #14

Grey пишет:
Ну да! Давай еще Ara перестанет отвечать. Чо тогда?


Ara, не пойми мена неправильно, я просто удивляюсь, как у тебя хватает терпения, ВСЕГДА так вежливо отвечать, я ведь и сам часто пользовался твоими подсказками.

-----
Всем привет, я вернулся





Ранг: 1288.1 (!!!!), 273thx
Активность: 1.290
Статус: Участник

Создано: 06 марта 2005 20:05
· Личное сообщение · #15

Bitfry пишет:
как у тебя хватает терпения, ВСЕГДА так вежливо отвечать

гыы, многие имеют совершенно противоположное мнение ;)



Ранг: 0.0 (гость)
Активность: 0.010
Статус: Участник

Создано: 06 марта 2005 21:44
· Личное сообщение · #16

Так вы скажете?Пож-ста...



Ранг: 389.6 (мудрец)
Активность: 0.150
Статус: Участник

Создано: 06 марта 2005 21:47
· Личное сообщение · #17

Ara пишет:
многие имеют совершенно противоположное мнение


Да не, многое изменилось после правил ;)

-----
TBR





Ранг: 1288.1 (!!!!), 273thx
Активность: 1.290
Статус: Участник

Создано: 06 марта 2005 21:58
· Личное сообщение · #18

r4sher
Принцип твой верный. Только если у тебя массив байт, читать по идее тоже нужно байты, т.е. MOV AL, byte ptr[esi+60]



Ранг: 0.0 (гость)
Активность: 0.010
Статус: Участник

Создано: 07 марта 2005 00:38
· Личное сообщение · #19

Ясно,спасибо.



Ранг: 0.0 (гость)
Активность: 0=0
Статус: Участник

Создано: 07 марта 2005 01:35
· Личное сообщение · #20

А Дневники Чайника - это что такое? У меня их нет. Калашникова скачивал. Может кто ссылку даст?




Ранг: 1288.1 (!!!!), 273thx
Активность: 1.290
Статус: Участник

Создано: 07 марта 2005 01:42
· Личное сообщение · #21

Pafik
http://exelab.ru/art/



Ранг: 389.6 (мудрец)
Активность: 0.150
Статус: Участник

Создано: 07 марта 2005 01:53
· Личное сообщение · #22

2Bitfry

Pafik пишет:
А Дневники Чайника - это что такое? У меня их нет. Калашникова скачивал. Может кто ссылку даст?


Вот так вот

-----
TBR




Ранг: 495.3 (мудрец)
Активность: 0.30
Статус: Участник

Создано: 07 марта 2005 10:27
· Личное сообщение · #23

Pafik
Посмотри раздел новичков, там тебе всё пригодится.
ЗЫ Ничего, я не обижаюсь, мне приятно было, что их вообще взяли на cracklab.

-----
Всем привет, я вернулся




Ранг: 0.0 (гость)
Активность: 0.020
Статус: Участник

Создано: 07 марта 2005 16:44
· Личное сообщение · #24

Shnaider
Вот тебе рульный справочник.
ООчень полезная штука. Качай http://protools.reverse-engineering.net/files/docs/opcodes.zip
Сам юзаю



Ранг: 495.3 (мудрец)
Активность: 0.30
Статус: Участник

Создано: 07 марта 2005 17:20
· Личное сообщение · #25

Shnaider
Если у тебя есть MASM, то ничего качать не надо, посмотри, в папке Help есть этот файл и не только он.

-----
Всем привет, я вернулся




Ранг: 389.6 (мудрец)
Активность: 0.150
Статус: Участник

Создано: 08 марта 2005 01:59
· Личное сообщение · #26

2Bitfry
Да я к тому, что скоро про Калашникова и забудут

-----
TBR




Ранг: 495.3 (мудрец)
Активность: 0.30
Статус: Участник

Создано: 08 марта 2005 08:36
· Личное сообщение · #27

Grey
Не забудут, у меня в самом начале написано, сначала прочитайте десять уроков Калашникова, а потом... Еще мысль есть написать Нулевую Чтиву Дневников чайника. Тогда можно будет и не читать Калашникова, потому как у него много лишнего про прерывания и не всё работает сегодня.

-----
Всем привет, я вернулся




Ранг: 79.6 (постоянный), 2thx
Активность: 0.080
Статус: Участник
алХимик

Создано: 08 марта 2005 17:56
· Личное сообщение · #28

Упаси бог, чайнику читать "дневники чайника" 8)...

Если интересует асм то тут можно порекомендовать следующую литературу:
Art Of Assembly http://www.wasm.ru/docs/6/pdfaoa.zip

если не жалко денег на траффик, то качаем Юрова.

Юров. Учебник http://asm.shadrinsk.net/yur.rar

а если сами асм команды нужны, то тут есть два варианта: купить "специальный справочник" Юрова 2-е издание, то что Сан Саныч "вычесал". Или качать мануалы интела.

PS IMHO, Калашников не лучший вариант среди туторов...

-----
Все говорят что мы вместе. Но не многие знают в каком.




Ранг: 495.3 (мудрец)
Активность: 0.30
Статус: Участник

Создано: 08 марта 2005 20:00
· Личное сообщение · #29

SeDoYHg
Я сейчас, пожалуй, соглашусь с тобой относительно Дневников для Новичков там каша, а вот про туторы мне интересно, чей тогда лучше Калашникова.

ИМХО Юров не учебник вообще, я его как справочник использую, а учиться по его учебнику всё равно, что русский язык изучать по Большой советской энциклопедии.
----
Идея первой Чтивы пришла в голову, когда я осознал что есть Ассемблер, за что тебе большое спасибо.
Я теперь думаю, что Асм есть язык команд процессора (и их форматов) и большие различия между кодом в Win32 и DOS заключаются, прежде всего, в другом режиме процессора.
Так что ты меня убедил.

-----
Всем привет, я вернулся




Ранг: 79.6 (постоянный), 2thx
Активность: 0.080
Статус: Участник
алХимик

Создано: 08 марта 2005 22:11
· Личное сообщение · #30

Bitfry

Для начала про Юрова.

Если брать книги Юрова целиком, то есть все три книги (практикум, учебник, справочник), то аналогов среди современных отечесвенных авторов нет. ОН выкладывает кучу весьма интересных (особенно для новичков) алгоритмов, язык используемый им в "учебнике" соответсвует тому как читают лекции (все таки пару раз мне удалось попресутсвовать на лекциях по данной дисциплине 8), то есть чтобы было достаточно кратко, но в тоже время по делу. Да, он не описывает детали, он в некоторых местах не совсем точен, НО! никто из наших современных авторов к нему не подошел близко. Всякие Зубковы, Пироговы - это плагиаторы и эээ.. точного слова не могу подобрать..., короче писатели ни о чем.
К сожалению, я не встречал ни одной новой толковой книги по ассемблеру на русском языке, которую можно было бы назвать "Учебником", то есть по которой можно научится "с нуля", потому и пишется множество разнообразных туторов по асму, которые написаны так, что лучше бы их совсем не писали. Однако попадаются хорошие вещи, которые читаешь с большим удовольствием, и с понимаем того, что человек который Это написал, писал тутор не что бы им потом похвалятся, или измарать винчестер главами из книг (того же Зубкова) написанных кул-хацкерным языком, а чтобы донести до людей то как он понимает прочитанные им справочники, "учебники" и т.п. книги.
Врядли когда-нибудь будет написана книга такая, чтобы с одной стороны она была понятна людям которые не знают ни одного ЯП, и в то же время она была бы точна, информативна и не сбивала с толку не окрепший прораммерский разум.

Насчет Калашникова.

я начал изучение асма за долго до того как у меня появился интернет, лет эдак 6 назад, точно не вспомню, потому мне приходилось учить асм по справочникам (даже не по учебникам), и потому как влияют на абсолютного новичка туторы Клашникова я сказать не могу, к тому моменту как я их прочитал, у меня был свой "багаж" и ничего нового познавательного я в них не нашел. Где-то года четыре назад я натолкнулся на рассылку "Низкоуровневое программирование для Дзенсвующих", она меня заворажила не столько содержащейся в ней информацией, сколько формой подачи информации и стилем изложения, оторватся от чтения практически невозможно было, так как автор по ходу повестования вел живой диалог с читателем, и в нужном месте юморил. Послдених года полтора-два я обитаю в нете, пересматриваю кучу всяких туторов на русском, английских языках но мало что оставило в себе след Правда, очень нестандартными и потму интереснысми мне показались "туторы из тайги", автор до сих пор по тихоньку пишет их.

итог таков, на сегодняшний день идеальных (или хотя бы близкого к идеалу) туторов нет , мой совет таков, если уж что-то читать не сильно нагруженное информацией, то пусть это будет интересное чтиво, хотя бы такое как "Низкоуровневое программирвоание...". Некоторым нравится моя писанина , хотя когда я перечитываю, то что я написал, сейчас думаю, что можно было написать лучше... Ну да ладно, будет время все перепишется, нужен только толчок для этого, а повод есть - влюбился я в ФАСМ, следовательно про него писать и буду =).


PS прошу прощению у всех, кого напряг этой писаниной, все-таки праздник, позволил себе пару бутылочек сухого

-----
Все говорят что мы вместе. Но не многие знают в каком.



. 1 . 2 . >>
 eXeL@B —› Основной форум —› Вопрос по командам
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати