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

Полезности Исключительно для полезных тем из других разделов.
Темы тут не создаются!
Темы сюда перемещаются из других разделов, и на их старых местах остаются постоянные перенаправления.

Чат (Новых сообщений с момента вашего последнего визита нет)
Загрузка...
Задавайте ваши вопросы на форуме. Чат предназначен для небольших разговоров.
 
Ответ
 
Опции темы Опции просмотра
Старый 28.06.2010, 02:04   #111
Местный
 
Аватар для Yegor
 
Регистрация: 05.04.2009
Сообщений: 1,436
Сказал Спасибо: 306
Имеет 122 спасибок в 98 сообщенях
Yegor пока неопределено
По умолчанию

Morfik, надо посмотреть при премем пактов что означеют эти значения
__________________
Продажа чистых аккаунтов 4G, L2 EU, AARu, AA EU, Aion EU, Tera RU, Tera EU (ICQ 594297609)
Продажа VK авторег аккаунтов (ICQ 594297609)
Yegor вне форума   Ответить с цитированием
Старый 29.06.2010, 02:05   #112
Новичок
 
Регистрация: 11.05.2010
Сообщений: 19
Сказал Спасибо: 0
Имеет 10 спасибок в 6 сообщенях
Эдвадко пока неопределено
По умолчанию

Это все для того, чтобы высвечивать игроков из кланов с которыми вар ?

Может проще завести файлик с именами игроков и кланов, о которых хочется знать, что они бегают вблизи ?
И при разборе пакетов CharInfo сравнивать имена из файла с именем чара и названием клана ?

Я на клан не проверяю. Только имя и карму.

Код:
} 
else if (Cmd==0x31) {//31=CharInfo:
...
  if (AhtungDetected(name) || (Karma>0)) {
    PlaySound("Ahtung.wav", NULL, SND_FILENAME | SND_ASYNC);
    swprintf(wstr, 199,L"Ahtung %s %i", name, Karma);
    WriteUsrW(wstr);
    Chars.SetChar(ObjectID, name, X, Y, RunSpd, MoveMul, 0x0000FF);
} else Chars.SetChar(ObjectID, name, X, Y, RunSpd, MoveMul, 0x7F7FFF);
...

Последний раз редактировалось Эдвадко, 29.06.2010 в 02:23.
Эдвадко вне форума   Ответить с цитированием
Старый 29.06.2010, 04:24   #113
Рыцарь
 
Аватар для destructor
 
Регистрация: 26.06.2009
Сообщений: 2,433
Сказал Спасибо: 154
Имеет 692 спасибок в 426 сообщенях
destructor на пути к лучшему
По умолчанию

Эдвадко, просто и красиво но есть минус:
если к тебе подкрался только что принятый криса тыха.....
__________________
Шожиделать.. ботить хочется..
destructor вне форума   Ответить с цитированием
Старый 29.06.2010, 19:12   #114
Новичок
 
Регистрация: 11.05.2010
Сообщений: 19
Сказал Спасибо: 0
Имеет 10 спасибок в 6 сообщенях
Эдвадко пока неопределено
По умолчанию

Ну, можно имя клана проверять на в хождение в список ахтунгов.
Да и как техашник подберется если у меня радар ?
А в радаре пока самое полезное это Взятие в таргет -

Код:
} else if (Cmd==0x23) { //23=TargetSelected:d(ObjectID)d(TargetID)d(X)d(Y)d(Z)d(0)
  ParseMasked(SavedArg4, d(ObjectID)d(TargetID)d(X)d(Y)d(Z) 0);
  Chars.SetTarget(ObjectID,TargetID);
  swprintf(wstr, 199,L"%s -> %s",Chars.GetName(ObjectID), Chars.GetName(TargetID));
  static DWORD PreviosID = 0;
  if ((TargetID==UserID) && (ObjectID!=PreviosID)) { 
    PreviosID=ObjectID;
    WriteUsrW(wstr);   
	  PlaySound("TargetSelected.wav", NULL, SND_FILENAME | SND_ASYNC);
  } else 
    WriteLogW(wstr);
  fprintf(LogFile,"TargetSelected   %s -> %s %i,%i,%i\n", NAME(ObjectID), NAME(TargetID), X, Y, Z);
да MoveToPawn:

Код:
} else if (Cmd==0x72) { //72=MoveToPawn:d(CreatureObjId)d(TargetObjID)d(Distance)d(CreatureX)d(CreatureY)d(CreatureZ)d(TargetX)d(TargetY)d(TargetZ)
  ParseMasked(SavedArg4, d(ObjectID)d(TargetID)d(Distance)d(X)d(Y)d(Z)d(ToX)d(ToY)d(ToZ) 0);
  Chars.SetXY(ObjectID, X, Y);
  Chars.GotoXY(ObjectID, ToX, ToY, Distance);
  swprintf(wstr,100,L"%s %i> %s", Chars.GetName(ObjectID), Distance, Chars.GetName(TargetID));
  if (TargetID==UserID) WriteUsrW(wstr);
  else if (ObjectID!=UserID) WriteLogW(wstr);
  fprintf(LogFile,"MoveToPawn       %s %i> %s  %i,%i,%i -> %i,%i,%i\n", NAME(ObjectID), Distance, NAME(TargetID), X, Y, Z, ToX, ToY, ToZ);
Где по Distance можно прикинуть что именнно противоестественное хочет сделать со мной павнящий чар - 1000 и больше - лучник стрелу хочет всадить в мяккое место, поменьше (около 900-700) - маг скиллом хочет обласкать, еще меньше значит тирант хочет фаербол метнуть, ну а меньше 100 - это значит хотят проткнуть даггером, мечом или пикой.

Последний раз редактировалось Эдвадко, 29.06.2010 в 19:27.
Эдвадко вне форума   Ответить с цитированием
Старый 26.07.2010, 20:22   #115
Новичок
 
Регистрация: 26.02.2010
Сообщений: 7
Сказал Спасибо: 0
Имеет 0 спасибок в 0 сообщенях
CodeMonkey пока неопределено
По умолчанию

xkor выше писал, как он переходит в Delphi от thiscall к stdcall, примерно так, код работает:
delphi Код:
procedure UNetworkHandler_AddNetworkQueue_Call(Packet:PNetworkPacket);stdcall; asm   mov ecx,UNetworkHandler   mov esp,ebp   pop ebp   jmp [UNetworkHandler_AddNetworkQueue_Original] end; procedure UNetworkHandler_AddNetworkQueue_New(unh:integer;Packet:PNetworkPacket);stdcall; begin   UNetworkHandler:=Pointer(unh);   UNetworkHandler_AddNetworkQueue_Call(Packet); end; procedure UNetworkHandler_AddNetworkQueue_Hook(Packet:PNetworkPacket);stdcall; asm   push ecx   push [ebp+8]   push ecx   call UNetworkHandler_AddNetworkQueue_New   pop ecx end;

а если вместо функций методы класса? что-то у меня не получается.
delphi Код:
TUNetworkHandler = class private     UNetworkHandler:pointer;     AddNetworkQueue_Original: procedure (Packet:PNetworkPacket);stdcall;     FOnRecievePacket:TRecievePacketEvent;     procedure AddNetworkQueue_Hook(Packet:PNetworkPacket);stdcall;     procedure AddNetworkQueue_Call(Packet:PNetworkPacket);stdcall;     procedure AddNetworkQueue_New(unh:integer;Packet:PNetworkPacket);stdcall;     procedure SetOnRecievePacket(const Value: TRecievePacketEvent);   public     property OnRecievePacket:TRecievePacketEvent read FOnRecievePacket write SetOnRecievePacket; end; procedure TUNetworkHandler.AddNetworkQueue_Call(Packet: PNetworkPacket);stdcall; { тут хз как делать, запутался уже при переходе к оригинальной функции в стеке: значение Packet указатель на объект TUNetworkHandler адрес возврата } var   p:pointer;   fnc:pointer; begin   p:=UNetworkHandler;   fnc:=@AddNetworkQueue_Original;   asm     mov eax,fnc     mov ecx,p     mov esp,ebp        pop ebp      jmp eax   end; end; procedure TUNetworkHandler.AddNetworkQueue_Hook(Packet: PNetworkPacket);stdcall; asm   push ecx   push [ebp+12]   push ecx   push Self // указатель на объект   call AddNetworkQueue_New   pop ecx end; procedure TUNetworkHandler.AddNetworkQueue_New(unh: integer;   Packet: PNetworkPacket);stdcall; begin   UNetworkHandler:=Pointer(unh);   if Assigned(FOnRecievePacket) then FOnRecievePacket(Packet);   AddNetworkQueue_Call(Packet); end;

помогите, пожалуйста. уже мозг кипит
CodeMonkey вне форума   Ответить с цитированием
Старый 26.07.2010, 21:00   #116
Местный
 
Аватар для Yegor
 
Регистрация: 05.04.2009
Сообщений: 1,436
Сказал Спасибо: 306
Имеет 122 спасибок в 98 сообщенях
Yegor пока неопределено
По умолчанию

CodeMonkey, может на с++ сделаешь и не будеш мучать мозг?

Если пытаешся что то сделать для руооффа, то у тебя дальше возникнет проблемма совсем другого плана.
__________________
Продажа чистых аккаунтов 4G, L2 EU, AARu, AA EU, Aion EU, Tera RU, Tera EU (ICQ 594297609)
Продажа VK авторег аккаунтов (ICQ 594297609)
Yegor вне форума   Ответить с цитированием
Старый 26.07.2010, 21:16   #117
Новичок
 
Регистрация: 26.02.2010
Сообщений: 7
Сказал Спасибо: 0
Имеет 0 спасибок в 0 сообщенях
CodeMonkey пока неопределено
По умолчанию

с c++ знаком мало, поэтому хочется сделать на дельфи.
если не секрет, что за проблема?
CodeMonkey вне форума   Ответить с цитированием
Старый 26.07.2010, 21:25   #118
Местный
 
Аватар для Yegor
 
Регистрация: 05.04.2009
Сообщений: 1,436
Сказал Спасибо: 306
Имеет 122 спасибок в 98 сообщенях
Yegor пока неопределено
По умолчанию

Проблемма в том что перехват ты скорее всего будешь делать через сплайсинг используя библиотечку advapihook, так вот фрост за это с вероятнотью 101% выдает бан.
__________________
Продажа чистых аккаунтов 4G, L2 EU, AARu, AA EU, Aion EU, Tera RU, Tera EU (ICQ 594297609)
Продажа VK авторег аккаунтов (ICQ 594297609)
Yegor вне форума   Ответить с цитированием
Старый 27.07.2010, 01:58   #119
Admin!
 
Аватар для xkor
 
Регистрация: 04.08.2007
Сообщений: 2,360
Сказал Спасибо: 113
Имеет 1,566 спасибок в 651 сообщенях
xkor на пути к лучшему
По умолчанию

Yegor, хм, а чтож фрост тогда мне ни одного ака не забанил и моим знакомым и клиентам которые юзают мой обход фроста для пакетхака? у меня там как раз именно через тот модуль всё хукается)

CodeMonkey, классы боюсь тут не поюзать, ну по крайней мере напрямую, в "хук-функция" (хз как её более нормально обозвать, ну которая будет вызываться вместо оригинальной) передаётся только то что было передано в оригинальную функцию, следовательно никакой информации о том к какому экземпляру класса принадлежит функция если она метод нету и ничего работать не будет...

единственное возможно если использовать классовые методы (то есть перед procedure/function/полями дописать class) то может и прокатит (я не зная как компилятор такие методы обрабатывает, но по логике они будут обычными функциями), но смысла при этом в классах по моему нет ибо экземпляры класса отменяются...

ЗЫ но можно сделать "хук-функции" которые будут вызывать нужные методы нужного класса, правда учитывая что объект UNetworkHandler в клиенте только один всётаки не вижу в этом смысла
__________________
Я здесь практически не появляюсь!, Skype - ikskor
xkor вне форума   Ответить с цитированием
Старый 27.07.2010, 03:35   #120
Местный
 
Аватар для Yegor
 
Регистрация: 05.04.2009
Сообщений: 1,436
Сказал Спасибо: 306
Имеет 122 спасибок в 98 сообщенях
Yegor пока неопределено
По умолчанию

xkor, из AdvApiHook использую только внедрение dll, правда в функцию добавил точку входа для возможности выгрузки dll из моей программы (нужно для отладки dll, чтобы постоянно не перегружать клиент).

Поначалу использовал HookProc и получил несколько банов через 30 минут юза длл не отправляя даже ни одного пакета.
__________________
Продажа чистых аккаунтов 4G, L2 EU, AARu, AA EU, Aion EU, Tera RU, Tera EU (ICQ 594297609)
Продажа VK авторег аккаунтов (ICQ 594297609)
Yegor вне форума   Ответить с цитированием
Ответ

  CoderX :: Forums > Основные форумы > Полезности



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

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


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

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

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