![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Форумчанин
Регистрация: 18.04.2009
Сообщений: 688
|
![]()
Добрый день. Пишу программу, вызывающуюся пользователем из контекстного меню. То есть, пользователь щёлкает по экзешнику правой кнопкой мыши и вызывает специальную утилиту, которая смотрит, РЕ это или нет. Вопрос собственно в чём. программа постоянно выдаёт ошибку.
То вот в этом месте: push DD_hFile_Mapping call CloseHandle как-то криво выполняется. А если эти строчки убрать, то ret криво работает. Точнее его работа приводит к ошибке. Так как файл достаточно большой, кинул на залил.ру http://zalil.ru/31714961 подскажите, пожалуйста, что здесь не так, потому что в отладчике я так и не разобрался в чём косяк. Заранее спасибо. |
![]() |
![]() |
![]() |
#2 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]() Цитата:
I'm learning to live...
|
|
![]() |
![]() |
![]() |
#3 |
Форумчанин
Регистрация: 18.04.2009
Сообщений: 688
|
![]()
Да с этим CloseHandle вообще как-то непонятно. Вызываю CloseHandle,а затем куда-то перепрыгивает выполнение программы. Хотя написано ERROR_SUCCESS. (там же первоначально писал 2 раза CloseHandle)
Что самое интересное, это то, что вершина стека 0012FF32. А указатель на то куда выходить из функции находится в 0012FF34. я несколько раз проверял, что тут не так. Всё сдвинулось после того как я написал PUSH AX Но я ведь потом написал POP AX!!!! |
![]() |
![]() |
![]() |
#4 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]() Цитата:
I'm learning to live...
|
|
![]() |
![]() |
![]() |
#5 |
Форумчанин
Регистрация: 18.04.2009
Сообщений: 688
|
![]() Код:
http://zalil.ru/31714961 Но мне кажется что имеется 2 ошибки: что-то не так со стеком и что-то с CloseHandle. Только ни по поводу одной ни по поводу другой понять до конца не могу. Код:
Последний раз редактировалось Stilet; 18.09.2011 в 12:26. |
![]() |
![]() |
![]() |
#6 |
Форумчанин
Регистрация: 16.01.2011
Сообщений: 325
|
![]()
wsprintf dword принимает в качестве параметра, ax - word.
После pop в старшей части eax что будет? Последний раз редактировалось vadimych; 17.09.2011 в 20:54. |
![]() |
![]() |
![]() |
#7 | |
Форумчанин
Регистрация: 18.04.2009
Сообщений: 688
|
![]()
СПАСИБО ОГРОМНОЕ!А я то думаю, что за косяк тут!
Таак. Вот это где ошибка! А почему тогда компилятор не ругнулся? И ещё вопрос. когда подобные действия проходили в С++, всё ништяк было. Как тогда С++ пообную ситуацию обрабатывал? Теперь понятно, почему сместился указатель стека. А что вы думаете по поводу Этого CloseHandle, находящегося на 309 строке файла который я выслал. Код:
http://msdn.microsoft.com/en-us/libr...(v=vs.85).aspx что-то я не нашёл чтобы тут написано что WORD нельзя пихать, а только DWORd O_o Цитата:
Последний раз редактировалось Stilet; 18.09.2011 в 12:27. |
|
![]() |
![]() |
![]() |
#8 | ||
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]() Цитата:
Цитата:
I'm learning to live...
|
||
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
адрес возврата | n3sh | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 3 | 08.04.2011 21:19 |
Проблема с адресом сайта | Приклад | PHP | 5 | 11.09.2010 18:06 |
помогите с адресом пожалуйста | rudolfe | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 3 | 07.03.2009 13:19 |
Проблема с адресом файла | Геля | Общие вопросы Delphi | 8 | 20.04.2007 20:48 |
Помогите с IP-адресом! | gluk666 | Работа с сетью в Delphi | 1 | 25.02.2007 09:28 |