![]() |
|
|
![]()
|
|
||
|
|
| [auxx] |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 148 Регистрация: 2.2.2003 Репутация: нет Всего: нет |
Значит так. Блокнот прекрасно загружается, на контрольную сумму винды не жалуются. Вызываю EntryPoint. Вызов проходит успешно, блокнот че-то делает, потом вызывает ExitProcess. В чем дело? Винды - Миллениум. |
|||
|
||||
| stab |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 1839 Регистрация: 1.1.2003 Репутация: нет Всего: 48 |
Может notepad не по своей Image Base загружается? У твоей проги Image Base какая?
и еще правельнее будет вместо jmp eax поставить call eax. -------------------- 6, 6, 6 - the number of the beast. |
|||
|
||||
| stab |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 1839 Регистрация: 1.1.2003 Репутация: нет Всего: 48 |
а может и не правильнее -------------------- 6, 6, 6 - the number of the beast. |
|||
|
||||
| [auxx] |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 148 Регистрация: 2.2.2003 Репутация: нет Всего: нет |
image base стандартный (0400000h).
call eax тока зря потратит место в стеке, т.к. нотепад завершается вызовом ExitProcess, а не ret. Он сразу сам завершит и нашу программу. Интересно то, что блокнот некоторое время нормально выполняется, а потом завершаатся. В качестве примера, попробовал тоже самое сделать со своей прогой на С++ (довольнл большой и серьезной) - работает отлично. А вот с калькулятором та же проблема |
|||
|
||||
| [auxx] |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 148 Регистрация: 2.2.2003 Репутация: нет Всего: нет |
У loader'а и блокнота image base совпадают. По нормальному, винды должны за этим следить. Но проблема врядли в этом, т.к. у моей проги на С++ (см. выше) image base такой же. |
|||
|
||||
| stab |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 1839 Регистрация: 1.1.2003 Репутация: нет Всего: 48 |
У блокнота могут быть убраны фиксапы, а без них он по другой ImageBase не загрузится, т.е. загрузится, но работать не будет. Попробуй задай у лоадера другой ImageBase, ниже notepd'a, скажем, 60000000h будет самое то что нужно, т.к. начиная с этого адреса (и до 68000000h) MS рекомендует загружать собственные DLL.
-------------------- 6, 6, 6 - the number of the beast. |
|||
|
||||
| stab |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 1839 Регистрация: 1.1.2003 Репутация: нет Всего: 48 |
У мя (WinXP) нету фиксапов у блокнота. Попробовал на Delphi прогу написать с ImgBase 60000000h -- все работет. Так, что я думаю и у тя все заработает.
-------------------- 6, 6, 6 - the number of the beast. |
|||
|
||||
![]()
|
| Правила форума "Asm: Общие вопросы" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, MAKCim. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Asm: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |