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

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

Чат (Новых сообщений с момента вашего последнего визита нет)
Загрузка...
Задавайте ваши вопросы на форуме. Чат предназначен для небольших разговоров.
 
Ответ
 
Опции темы Опции просмотра
Старый 19.07.2014, 20:40   #1
Новичок
 
Регистрация: 19.07.2014
Сообщений: 10
Сказал Спасибо: 2
Имеет 0 спасибок в 0 сообщенях
Hippeys пока неопределено
По умолчанию Поиск функции SendPacket в l2

Здравствуйте!

Пытаюсь найти адрес функции SendPacket в клиенте l2, для того, чтобы потом ее похукать, но вот незадача, она скрыта и ее нет в таблице экспорта, может где-нибудь это уже разжевано? Интересует только автоматический, не ручной поиск.

Может у кого-нибудь есть сигнатуры этой функции, чтобы потом искать по памяти? Код я сам могу написать, интересуют чисто сигнатуры.
Или может у кого-нибудь есть список адресов смещений этой функции от engine.dll?

Я знаю l2ph тоже как то ищет, можете тыкнуть лицом в код, где он это делает?

Спасибо

Добавлено через 41 минуту
SendPacket необходим чтобы в одном пакете немного модифицировать

Последний раз редактировалось Hippeys, 19.07.2014 в 20:40. Причина: Добавлено сообщение
Hippeys вне форума   Ответить с цитированием
Старый 19.07.2014, 22:24   #2
Местный
 
Аватар для supernewbie
 
Регистрация: 23.09.2009
Сообщений: 1,232
Сказал Спасибо: 119
Имеет 172 спасибок в 134 сообщенях
supernewbie пока неопределено
По умолчанию

Hippeys, глянь код экспортируемых функций которые вызывают сенд пакет
__________________
Начало.
supernewbie вне форума   Ответить с цитированием
Старый 20.07.2014, 00:30   #3
Новичок
 
Регистрация: 19.07.2014
Сообщений: 10
Сказал Спасибо: 2
Имеет 0 спасибок в 0 сообщенях
Hippeys пока неопределено
По умолчанию

Цитата:
Сообщение от supernewbie Посмотреть сообщение
Hippeys, глянь код экспортируемых функций которые вызывают сенд пакет
А какие экспортируемые функции вызывают SendPacket?
Hippeys вне форума   Ответить с цитированием
Старый 20.07.2014, 08:07   #4
Местный
 
Аватар для supernewbie
 
Регистрация: 23.09.2009
Сообщений: 1,232
Сказал Спасибо: 119
Имеет 172 спасибок в 134 сообщенях
supernewbie пока неопределено
По умолчанию

Hippeys, большинство методов класса UNetworkHandler
Код:
.text:203D5530 ; Exported entry 8363. ?RequestItemList@UNetworkHandler@@UAEHXZ
.text:203D5530
.text:203D5530 ; =============== S U B R O U T I N E =======================================
.text:203D5530
.text:203D5530
.text:203D5530 ; public: virtual int __thiscall UNetworkHandler::RequestItemList(void)
.text:203D5530                 public ?RequestItemList@UNetworkHandler@@UAEHXZ
.text:203D5530 ?RequestItemList@UNetworkHandler@@UAEHXZ proc near
.text:203D5530                 mov     eax, [ecx+48h]
.text:203D5533                 mov     ecx, [eax]
.text:203D5535                 mov     edx, [ecx+6Ch] ; в edx адрес SendPacket
.text:203D5538                 push    14h
.text:203D553A                 push    offset unk_20507FEC
.text:203D553F                 push    eax
.text:203D5540                 call    edx
.text:203D5542                 mov     eax, ds:?GNetworkLog@@3PAVFOutputDevice@@A ; FOutputDevice * GNetworkLog
.text:203D5547                 mov     ecx, [eax]
.text:203D5549                 push    offset aSendItemlist ; "(Send)ItemList"
.text:203D554E                 push    ecx
.text:203D554F                 call    ds:?Logf@FOutputDevice@@QAAXPB_WZZ ; FOutputDevice::Logf(wchar_t const *,...)
.text:203D5555                 add     esp, 14h
.text:203D5558                 mov     eax, 1
.text:203D555D                 retn
.text:203D555D ?RequestItemList@UNetworkHandler@@UAEHXZ endp
.text:203D555D
.text:203D555D ; ---------------------------------------------------------------------------
__________________
Начало.

Последний раз редактировалось supernewbie, 20.07.2014 в 08:09.
supernewbie вне форума   Ответить с цитированием
За это сообщение supernewbie нажился спасибкой от:
Старый 20.07.2014, 15:40   #5
Новичок
 
Регистрация: 19.07.2014
Сообщений: 10
Сказал Спасибо: 2
Имеет 0 спасибок в 0 сообщенях
Hippeys пока неопределено
По умолчанию

Цитата:
Сообщение от supernewbie Посмотреть сообщение
Hippeys, большинство методов класса UNetworkHandler
Код:
.text:203D5530 ; Exported entry 8363. ?RequestItemList@UNetworkHandler@@UAEHXZ
.text:203D5530
.text:203D5530 ; =============== S U B R O U T I N E =======================================
.text:203D5530
.text:203D5530
.text:203D5530 ; public: virtual int __thiscall UNetworkHandler::RequestItemList(void)
.text:203D5530                 public ?RequestItemList@UNetworkHandler@@UAEHXZ
.text:203D5530 ?RequestItemList@UNetworkHandler@@UAEHXZ proc near
.text:203D5530                 mov     eax, [ecx+48h]
.text:203D5533                 mov     ecx, [eax]
.text:203D5535                 mov     edx, [ecx+6Ch] ; в edx адрес SendPacket
.text:203D5538                 push    14h
.text:203D553A                 push    offset unk_20507FEC
.text:203D553F                 push    eax
.text:203D5540                 call    edx
.text:203D5542                 mov     eax, ds:?GNetworkLog@@3PAVFOutputDevice@@A ; FOutputDevice * GNetworkLog
.text:203D5547                 mov     ecx, [eax]
.text:203D5549                 push    offset aSendItemlist ; "(Send)ItemList"
.text:203D554E                 push    ecx
.text:203D554F                 call    ds:?Logf@FOutputDevice@@QAAXPB_WZZ ; FOutputDevice::Logf(wchar_t const *,...)
.text:203D5555                 add     esp, 14h
.text:203D5558                 mov     eax, 1
.text:203D555D                 retn
.text:203D555D ?RequestItemList@UNetworkHandler@@UAEHXZ endp
.text:203D555D
.text:203D555D ; ---------------------------------------------------------------------------
Огромное спасибо, а скажи пожалуйста, этот указатель на функции SendPacket всегда на этом месте в этой функции? То есть можно ли написать поиск SendPacket автоматический, на разных версиях engine.dll?

Добавлено через 18 минут
supernewbie, У меня эта функция выглядит вот так:
Код:
___:203D5430 ; public: virtual int __thiscall UNetworkHandler::RequestItemList(void)
___:203D5430                 public ?RequestItemList@UNetworkHandler@@UAEHXZ
___:203D5430 ?RequestItemList@UNetworkHandler@@UAEHXZ proc near
___:203D5430                 fisubr  dword ptr [eax-75h]
___:203D5433                 mov     dword ptr [edi-6Dh], 5F9A690h
___:203D543A                 stosd
___:203D543B                 pop     esi
___:203D543C                 daa
___:203D543D                 pop     ecx
___:203D543E
___:203D543E loc_203D543E:                           ; CODE XREF: UNetworkHandler::RequestTrade(int)+B0j
___:203D543E                 arpl    [edx+6EE0DB56h], bx
___:203D5444                 jnb     short loc_203D5497
___:203D5446                 arpl    di, ax
___:203D5448                 pop     edi
___:203D5449                 mov     dh, 1Fh
___:203D544B                 sti
___:203D544C                 loopne  loc_203D5457
___:203D544E                 nop
___:203D544F                 fisub   dword ptr [edi]
___:203D5451                 cdq
___:203D5452                 rcr     edx, cl
___:203D5454                 daa
___:203D5455                 stosb
___:203D5456                 pop     es
___:203D5457
___:203D5457 loc_203D5457:                           ; CODE XREF: UNetworkHandler::RequestItemList(void)+1Cj
___:203D5457                 push    ecx
___:203D5458                 movaps  xmm0, oword ptr [ebx+4Ah]
___:203D545C                 push    edi
___:203D545D                 jmp     short loc_203D546E
___:203D545D ?RequestItemList@UNetworkHandler@@UAEHXZ endp
Клиент High Five

Последний раз редактировалось Hippeys, 20.07.2014 в 15:40. Причина: Добавлено сообщение
Hippeys вне форума   Ответить с цитированием
Старый 20.07.2014, 18:35   #6
Местный
 
Аватар для supernewbie
 
Регистрация: 23.09.2009
Сообщений: 1,232
Сказал Спасибо: 119
Имеет 172 спасибок в 134 сообщенях
supernewbie пока неопределено
По умолчанию

Hippeys, твоя функция запакована
алгоритм поиска сенд пакета на любой клиент без веток написать не получится, некоторые клиенты сильно отличаются друг от друга
__________________
Начало.
supernewbie вне форума   Ответить с цитированием
За это сообщение supernewbie нажился спасибкой от:
Старый 08.04.2015, 18:32   #7
Новичок
 
Регистрация: 25.03.2014
Сообщений: 11
Сказал Спасибо: 4
Имеет 0 спасибок в 0 сообщенях
user713 пока неопределено
По умолчанию

Сори за некропостинг, но всёже мож кому понадобится:
PHP код:
unsigned int GetSendPacketAddress(void)
{
    
HMODULE hEngine LoadLibraryA("engine.dll");
    
unsigned int dwUNetHandler = (unsigned int)GetProcAddress(hEngine"??_7UNetworkHandler@@6BUObject@@@");
    return *(
unsigned int*)(dwUNetHandler 0x1c);

user713 вне форума   Ответить с цитированием
Ответ

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



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

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


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

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

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