Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Проблема с регистром eax

282
26 октября 2006 года
Bard
481 / / 26.02.2006
 
Код:
00401376 FF157C124000           call    dword ptr [GetCommandLineA]
0040137C A396124000             mov     [401296h],eax
00401381 6A00                   push    0
00401383 6820104000             push    401020h
00401388 6896124000             push    401296h
0040138D 6A00                   push    0
0040138F FF1500104000           call    dword ptr [MessageBoxA]
00401395 6A00                   push    0
00401397 FF1578124000           call    dword ptr [ExitProcess]


Мне надо чтоб команда с которой запустили программу, отображалась в MessageBox'е. Но вместо ключа я вижу в месейжбоксе три иероглифа всегда одни и теже. Что я делаю не правильно?
12K
26 октября 2006 года
rjx
55 / / 11.03.2006
Зачем пихать eax в память, если можно просто написать
 
Код:
call    ...
push    0
push    401020h
push    eax
...

Ну, если всё-таки надо через память, то писать не
 
Код:
push    401296h

а
 
Код:
push    [401296h]

т.к. в этой ячейке не первый символ строки, а указатель на него.
261
26 октября 2006 года
ahilles
1.5K / / 03.11.2005
ты бы лучше дал исходник а не дизассемблерный отрывок
282
26 октября 2006 года
Bard
481 / / 26.02.2006
[QUOTE=ahilles]ты бы лучше дал исходник а не дизассемблерный отрывок[/QUOTE]

Сори, но исходника у меня нет, я пишу приложение в шестнадцатиричном редакторе.
282
26 октября 2006 года
Bard
481 / / 26.02.2006
[QUOTE=rjx]
 
Код:
push    [401296h]

[/QUOTE]

Байты в файле фыглядят так: [FONT="Fixedsys"]FF3596124000[/FONT] ?

А push eax работает!
309
27 октября 2006 года
el scorpio
1.1K / / 19.09.2006
Что ломаем, если не секрет :)
4.7K
27 октября 2006 года
kelz
42 / / 21.06.2004
[QUOTE=Bard]Сори, но исходника у меня нет, я пишу приложение в шестнадцатиричном редакторе.[/QUOTE]
Вот это настоящий программер!!!! Респект!!! :D
261
27 октября 2006 года
ahilles
1.5K / / 03.11.2005
писать программу в шестнадцатеричном редакторе
ВООБЩЕ БРЕД!!!!!
но если ты и вправду пишешь в шестнадцатетричном редакторе то я тебя уважаю но это нереально запоминать все опкоды.
Признавайся, что ломаешь?
334
27 октября 2006 года
HexEdit
809 / / 27.07.2006
Можно пользоваться таблицей опкодов, но самая проблема - формирование адресов.
282
27 октября 2006 года
Bard
481 / / 26.02.2006
[QUOTE=ahilles]Признавайся, что ломаешь?[/QUOTE]

Да ничего я не ломаю! Просто в целях самобразования смотрю как устроена программа. Я с тобой согласен, ето бред, особенно когда добавляеш в таблицу импорта новую функцыю... лучше не вспоминать :) Точку входа каждый раз надо менять, потом, когда добавляеш имя функцыи и название модуля - все ранее выставленные смещения на строки, модули и функцыи прпросту летят, потом лезеш в IAT заменяеш сгоревшие смещения правильными... Но ето так интересно, что ето того стоит!
261
27 октября 2006 года
ahilles
1.5K / / 03.11.2005
просто лишняя трата времени!!!!
334
27 октября 2006 года
HexEdit
809 / / 27.07.2006
Я тоже писал немного в хексе, но потом надоело когда в очередной раз добавил пару комманд и снова пришлось переписывать все адреса.
Но это было в DOS-COM, а в вин32 деже просто на асме без форматирования (полносттю все от первого байта) и то замучился.

Так что согласен:
[QUOTE=ahilles]
просто лишняя трата времени!!!!
[/QUOTE]
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог