Вернуться   CoderX :: Forums > Основные форумы > Программинг
Войти через OpenID

Программинг Форум для тем связанных с программированием

Чат (Новых сообщений с момента вашего последнего визита нет)
Загрузка...
Задавайте ваши вопросы на форуме. Чат предназначен для небольших разговоров.
 
 
 
Опции темы Опции просмотра
Старый 21.04.2011, 09:16   #20
Пользователь
 
Аватар для ALF
 
Регистрация: 18.09.2010
Адрес: Киев
Сообщений: 70
Сказал Спасибо: 9
Имеет 10 спасибок в 6 сообщенях
ALF пока неопределено
По умолчанию

Код:
	pop	eax					; Выталкиваем со стека Адрес Возврата в EAX (4 байта)
	push	ebp				; Толкаем в стек Адрес , которого начинаются аргументы (глубина стека)
	mov	ebp, esp			; в ebp теперь "Вершина" стека. Туда будут идти аргументы 
	mov ebx,[ebp+4]			; тут 4 или 8? мы же вытолкали адрес возврата (4 байта)
	pop ebp					; Выталкиваем то стека значения в регистр EBP.
	mov NetPk, ebx			; в NetPk у нас будет указатель на пакет
	pushad 		
	; какието операции с пакетами типа stdcall
	popad
	push	0ffffffffh
	push	eax				; востанавливаем адрес возврата
	ret
Проверьте)

Добавлено через 8 часов 34 минуты
Сейчас сделал вот так...
Код:
;=================================================================================
proc DispatchNetworkQueueHook	
	pop	eax					; Выталкиваем со стека Адрес Возврата в EAX (4 байта)
	push	ebp				; Толкаем в стек Адрес , которого начинаются аргументы (глубина стека)
	mov	ebp, esp			; в ebp теперь "Вершина" стека. Туда будут идти аргументы 
	pushad
	mov ebx,dword[ebp+08h]			; тут 4 или 8? мы же вытолкали адрес возврата (4 байта)
	test ebx,ebx
	jz skip
	mov [pNetPk], ebx		      ; в NetPk у нас будет указатель на пакет
	skip:
	popad
	push	0ffffffffh
	push	eax				; востанавливаем адрес возврата
	ret
endp
Код:
mov eax, dword[pNetPk]
movzx eax, [eax+NetworkPacket.id]
Всё работает, по идеи в EAX должен быть ID пакета. Но у меня там его Размер почему то...)
Структура у меня такая
Код:
struct NetworkPacket
	id      db ?
	pad1	db ?
	exid	db ?
	pad2	db ?
	_size	dd ?
	pad3	dd ?
	pdata	dd ?
ends
__________________
Все относительно...

Последний раз редактировалось ALF, 21.04.2011 в 09:24. Причина: Добавлено сообщение
ALF вне форума   Ответить с цитированием
 

  CoderX :: Forums > Основные форумы > Программинг



Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +4, время: 01:45.

vBulletin style designed by MSC Team.
Powered by vBulletin® Version 3.6.11
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Locations of visitors to this page
Rambler's Top100

Вы хотите чувствовать себя в безопасности? чоп Белган обеспечит её!