Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Подскажите ламеру, Что значит ниже следующий код 
:(
    Опции темы
YURIC
Дата 28.8.2004, 18:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 161
Регистрация: 5.8.2003

Репутация: нет
Всего: 1



Код
Exported fn(): ...t - Ord:0A8Eh
:0047F574 C3                      ret


:0047F575 90                      nop
:0047F576 90                      nop
:0047F577 90                      nop

Exported fn(): ... - Ord:0A8Fh
:0047F578 B801000000              mov eax, 00000001
:0047F57D C3                      ret


:0047F57E 90                      nop
:0047F57F 90                      nop




Что значит - mov eax, 00000001

и как его сменить допустим на ret

и что значит ret и nop
Добавлено @ 18:20
и еще возможно-ли поменять
:0047F578 B801000000 mov eax, 00000001

на

:0047F57D C3 ret
PM MAIL   Вверх
cardinal
Дата 28.8.2004, 19:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


Профиль
Группа: Экс. модератор
Сообщений: 6003
Регистрация: 26.3.2002
Где: Германия

Репутация: нет
Всего: 99



Ты это все откуда взял? Мне кажется что из листинга сделанного компилятором...
Цитата(YURIC @ 28.8.2004, 17:15)
Что значит - mov eax, 00000001

Это значит записать в регистр eax число 1.
Цитата(YURIC @ 28.8.2004, 17:15)
и как его сменить допустим на ret

Если бы у тебя был исходник, то так ии заменить smile.gif Вообще Soft-Ice помоему позволяет заменять команды, но я этим не занимался. Ты лучше напиши что ты вообще сделать хочешь, чем в ассемблерных листингах ковырятся smile.gif
Цитата(YURIC @ 28.8.2004, 17:15)
и что значит ret и nop

ret означает тоже самое что и return в Си - возврат на то место, с которого была вызвана процедура.
nop означает no operation. Используется например для пауз.


--------------------
Немецкая оппозиция потребовала упростить натурализацию иммигрантов
В моем блоге: Разные истории из жизни в Германии

"Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино".  А. и Б. Стругацкие
PM   Вверх
YURIC
Дата 28.8.2004, 19:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 161
Регистрация: 5.8.2003

Репутация: нет
Всего: 1



cardinal

Цитата
Это значит записать в регистр eax число 1.


А можно как нить загнать в регистр число 2 или 0?


Скорее всего если записать в регистр 0, то все будет ок.
Добавлено @ 19:44
либо ret сменить на mov eax, 00000001...

Это сообщение отредактировал(а) YURIC - 31.8.2004, 02:29
PM MAIL   Вверх
Jin X
Дата 28.8.2004, 22:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 157
Регистрация: 5.3.2004

Репутация: 1
Всего: 1



biggrin.gif biggrin.gif biggrin.gif Ну, так замени! Возьми HIEW и замени, в чём проблема? biggrin.gif biggrin.gif biggrin.gif
--------------------
Бойся своей мечты, ибо она осуществима!
PM MAIL   Вверх
cardinal
Дата 28.8.2004, 23:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


Профиль
Группа: Экс. модератор
Сообщений: 6003
Регистрация: 26.3.2002
Где: Германия

Репутация: нет
Всего: 99



Цитата(YURIC @ 28.8.2004, 18:44)
А можно как нить загнать в регистр число 2 или 0?

mov eax, 0x02


--------------------
Немецкая оппозиция потребовала упростить натурализацию иммигрантов
В моем блоге: Разные истории из жизни в Германии

"Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино".  А. и Б. Стругацкие
PM   Вверх
Lonley
Дата 29.8.2004, 03:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 597
Регистрация: 7.10.2003
Где: северные ворота М урманск

Репутация: нет
Всего: 4



Код

B801000000

как отсюда видно то B8 есть команда
Код

mov eax

если не ошибаюсь, но лучше посмотреть формат машинных команд в справочнике
думаю чтоб 0 загнать
то вот так в шестнадцатеричном редакторе заменить на
только сначала нужно соответственно найти искомое место... smile.gif
Код

B800000000

ИМХО

Это сообщение отредактировал(а) Lonley - 29.8.2004, 03:53


--------------------
Земную жизнь пройдя до половины,
Я очутился в сумрачном лесу,
Утратив правый путь во тьме долины.
Каков он был, о, как произнесу,
Тот дикий лес, дремучий и грозящий,
PM MAIL ICQ   Вверх
YURIC
Дата 29.8.2004, 06:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 161
Регистрация: 5.8.2003

Репутация: нет
Всего: 1



Jin X

Вот молодец! wow.gif , уже....

cardinal
я правила читал....., но ты сам спросил....
Цитата
Ты лучше напиши что ты вообще сделать хочешь, чем в ассемблерных листингах ковырятся


вот я и написал, поскольку это попросил модер.

mov eax, 0x02 это если я не ошибаюсь
B802000000, да?
Добавлено @ 06:06
Lonley
Спасибо, попробую
З.Ы. искомое место я нахожу без проблем smile.gif

Это сообщение отредактировал(а) YURIC - 29.8.2004, 06:04
PM MAIL   Вверх
YURIC
Дата 29.8.2004, 16:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 161
Регистрация: 5.8.2003

Репутация: нет
Всего: 1



cardinal

Я и не прошу рассказать как ломать программу я спросил:

Цитата
Что значит - mov eax, 00000001

и как его сменить допустим на ret

и что значит ret и nop
Добавлено @ 18:20
и еще возможно-ли поменять
:0047F578 B801000000 mov eax, 00000001

на

:0047F57D C3 ret


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

PM MAIL   Вверх
_Chingachguk_
Дата 30.8.2004, 08:34 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











YURIC

Возьми редактор hiew.

Вызови его с командной строкой: hiew32.exe YourProgram.exe

Появится окошко синего цвета с текстом файла.

Нажми F4 - выбор режима просмотра: текст/hex-dump(то, что будет при нажатии F4 в фар или nc)/decode (дизассемблериованые инструкции).

Выбери последнее. Должны появится команды.

Найди скроллингом нужное тебе место для редактирования. Если файл большой, это может быть неудобно. Используй поиск: F7:

В твоем случае нужны вот эти команды:

B801000000 mov eax, 00000001
:0047F57D C3 ret


Значит, в окне поиска нужно вбить: B8 01 00 00 00 C3...

Это типичные команды для компиляторов, поэтому, скорее всего, ты увидишь много ссылок. Жми Next Search (SHIFT+F7) для навигации по ссылкам.

Найдя искомое место, подведи курсор к нужной тебе команде и нажми F3 - edit. Сейчас ты можешь писать свои байты, Если ты хочешь писать именно в байтах, но как правило удобнее писать в машинных командах. Поэтому нажми F2 - вызов ассемблера.

Должна появиться в окошке редактирования одна команда. Исправь ее на любую нужную тебе. Например: mov eax,1 - > mov eax,0.

После ввода появится следующая команда для редактирования, но если тебе нужно закончить, то откажись (esc) от редактирования следующей команды.

После этого ты должен записать изменения в файл. Если ты не сделаешь этого, изменения пропадут. Сохранить - F9.
  Вверх
YURIC
Дата 30.8.2004, 15:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 161
Регистрация: 5.8.2003

Репутация: нет
Всего: 1



_Chingachguk_


Спасибо конечно, но я не настолько туп.... rolleyes.gif

Это сообщение отредактировал(а) YURIC - 30.8.2004, 15:31
PM MAIL   Вверх
_Chingachguk_
Дата 30.8.2004, 17:15 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Сорри smile.gif
  Вверх
YURIC
Дата 31.8.2004, 02:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 161
Регистрация: 5.8.2003

Репутация: нет
Всего: 1



cardinal

подтер smile.gif
PM MAIL   Вверх
cardinal
Дата 31.8.2004, 08:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


Профиль
Группа: Экс. модератор
Сообщений: 6003
Регистрация: 26.3.2002
Где: Германия

Репутация: нет
Всего: 99



Осталось вот это smile.gif
Цитата
cardinal
я правила читал....., но ты сам спросил....

Цитата 
Ты лучше напиши что ты вообще сделать хочешь, чем в ассемблерных листингах ковырятся 



вот я и написал, поскольку это попросил модер.

Цитата
cardinal

Я и не прошу рассказать как ломать программу я спросил:


Цитата 
Что значит - mov eax, 00000001

и как его сменить допустим на ret

и что значит ret и nop
Добавлено @ 18:20
и еще возможно-ли поменять
:0047F578 B801000000 mov eax, 00000001

на

:0047F57D C3 ret 



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

Цитата
cardinal

подтер 


Это я потом тоже удалю и будет так, что никто не найдет smile.gif


--------------------
Немецкая оппозиция потребовала упростить натурализацию иммигрантов
В моем блоге: Разные истории из жизни в Германии

"Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино".  А. и Б. Стругацкие
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Asm: Общие вопросы"
MAKCim
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • Не забывайте пользоваться кнопкой КОД.
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к разделу форума. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, MAKCim.

 
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Asm: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.2134 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.