Register for your free account! | Forgot your password?

Go Back   elitepvpers > MMORPGs > Perfect World
You last visited: Today at 00:09

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



Rus. server

Discussion on Rus. server within the Perfect World forum part of the MMORPGs category.

Reply
 
Old 12/09/2009, 19:01   #871
 
elite*gold: 0
Join Date: Dec 2009
Posts: 25
Received Thanks: 9
Quote:
Ну как раз это не проблема того человека. Тогда хотя бы в нагрузку ещё профессию человека храни. А иначе пойдут у вас проблемы с необоснованными сливами.
храню

Quote:
У нас тоже. Добавляют туда люди на свой страх и риск, в случае выставления претензий от слитых и разборок у нас на сайте клан наших не пожалеет за такие проделки. Однако люди осознают всё сами. И проблем с этим пока что не было.
я хочу чтоб программа гарантироваано работала одинаково у всех людей.

Quote:
А ты уверен на счёт моей гильдии? Ты наверное даже не знаешь на каком я сервере играю. Судя по твоим примерам - ты с Ориона, я там чара забросил 1,5 года назад примерно и играю совсем на другом сервере.
Мне доводилось видеть на орионе эксельку статистики с твоей программы.
И откуда у тебя уверенность на счёт моего пола?

Quote:
Ну начать с того, что программа вобще даётся лишь тем членам ГИ, которые заслуживают доверия и понимают что к чему. Светить лишний раз эту вещь никто не собирается, т.к. уже напарывались у себя и на шпионов из вражьих в кланов. Так что не все в клане в курсе о её существовании.
А что полезного в этой программке для шпионов? В моем случае я не пишу в клиент ничего, таким образом "поймать" меня со стороны сервера можно только по спец логам от клиента, а админам их проверять некогда и лень, даже если "очень попросят".
доказать пользование этой программкой со стороны пользователя нереально.
sioli is offline  
Old 12/09/2009, 23:12   #872
 
elite*gold: 0
Join Date: Jan 2009
Posts: 137
Received Thanks: 19
Quote:
Originally Posted by dwar View Post
Что касается сбора реса не посредством инжекта, то здесь тоже ошибка, идущая с самых начал, когда было написано, что для этого надо выбрать действительную цель, атаковать ее, потом быстро переписать id цели на id реса и чар побежит копать (неужели такое у кого-то получалось)…
Подожди-ка Я этого не писал, мужик не писал - откуда идея про
Quote:
выбрать действительную цель, атаковать ее, потом быстро переписать id цели на id реса и чар побежит копать
?

Кстати, это получилось у создателей ботпиратес Именно об этом я говорил, когда намекал нафига самую дальнюю цель он выбирает.
AlexGD is offline  
Old 12/09/2009, 23:20   #873
 
elite*gold: 0
Join Date: Jan 2009
Posts: 137
Received Thanks: 19
Во флейм пошел... Кстати, не щимит локатор всему клану без разбору раздавать? Кто-нить сольет разрабам - весь клан под нож пустят. Без права выхода
AlexGD is offline  
Old 12/09/2009, 23:26   #874
 
elite*gold: 0
Join Date: Jan 2009
Posts: 137
Received Thanks: 19
Тоже занимаюсь сейчас разработкой локатора. В первичном варианте есть (уже с преследованием даже), но хочу довести идею до автомата... Регается твинк-сид. Подвешивается на него прога с автоапдейтом листа с сервака и асько-пингером. + складываем все обнаружения в базу... И по маршруту облетает всю карту круглосуточно. Составляем график появлений и вырезаем по графику...

Как хорошо звучит и сколько еще над этим работы...
AlexGD is offline  
Old 12/10/2009, 04:40   #875
 
elite*gold: 0
Join Date: Dec 2009
Posts: 25
Received Thanks: 9
Quote:
Originally Posted by AlexGD View Post
Во флейм пошел... Кстати, не щимит локатор всему клану без разбору раздавать? Кто-нить сольет разрабам - весь клан под нож пустят. Без права выхода
А как они докажут что мембер клана использовал? Банить целый клан не станут. Доказывать отдельно - лень.
Тот же флай/джамп хак от Саурона давно слит админам, а его до сих пор тонна народу юзает и в бан попадают только по скринам с использованием хака.
В случае с моим локатором скринить нечего. Он ничего не будет писать в клиент, а за чтение с памяти банить нельзя - те же антивирусы периодически читают память, да и не только они.


А теперь ближе к теме, благодаря моему другу мне таки удалось вставить мозги как находить адреса (за что ему огромное спасибо). Совместными усилиями гильдии были покорены.

Массивчик ближайших гильдий (или как то так )
00976B1C + 1b4 + 8 + i*4 + 8 +
0 (4b) ID гильдии, можно сверять с тем какое в структуре персонажа.
4+0 (char) Название гильдии, собственно то, что было мне надо
sioli is offline  
Old 12/10/2009, 05:40   #876
 
elite*gold: 0
Join Date: Jul 2008
Posts: 43
Received Thanks: 16
Небольшие дополнения по массиву гильдий:
00976B1C + 1b4 + 4 - количество ГИ в массиве
00976B1C + 1b4 + 8 + i*4 + 4 - тут ещё раз код ГИ
00976B1C + 1b4 + 8 + i*4 + 8 + 8 - тут лвл клана

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

Quote:
Originally Posted by sioli View Post
Мне доводилось видеть на орионе эксельку статистики с твоей программы.
Ну для Ориона моей статистики 100% быть не может. За распространением программы слежу. Есть завязки на сервер и клан внутри программы, так что даже если она утечёт, чужие воспользоваться не смогут (если только ломать будут).

Может кто-то ещё такое написал - идея то на поверхности лежит. Ссылку на статистику кинь, если не сложно. Мне интересно глянуть, на сколько на моё похоже.

Quote:
Originally Posted by sioli View Post
И откуда у тебя уверенность на счёт моего пола?
Тогда я знаю кем ты играешь и в какой ГИ.
dj_al is offline  
Old 12/10/2009, 09:58   #877
 
elite*gold: 0
Join Date: Nov 2009
Posts: 96
Received Thanks: 31
Quote:
Originally Posted by muzhig View Post
AlexGD, про подмену адресов
Тоже работаю с подменой адресов - пробывал в прицел ставить ID лута и ресов - не реагирует, видимо для лута - есть еще своя мишеь для реса своя - потомучто как только мы ловим в прицел монстра - сразу клиент выводит окно с его HP .. а когда кликаем по ресам и луту - окно не выводится, так-же и с NPC. Если правильно создавать условия каких либо событий - эти события (движение, разговор с NPS и пр.) будут происходить логично для клиента, а когда мы заставляем клиент это делать насильно инжектом - происходит сбой логики его работы и конфликты со стеком и памятью .. Короче много чего надо еще копать ..

Quote:
Originally Posted by muzhig View Post
Element Client вылетает с ошибкой.
при инжекте мы передаем параметры, но запускаемая функция (Call ..) проверяет флаги состояний и может отказать или работать - дело на авось .. Наверное нужно и флаги состояний менять .. это уже эмуляция работы целого блока процедур.
Даже если мы научимся создавать условия для работы инжектируемой нами функции и править какие-то флаги состояния программы клиента и/или процессора - не вопрос, что другая функция - проверит измененное нами условие или флаг и для нее (и возможно клиента) это будет критичным ..

Наверное это тоже бред ..))
origmas is offline  
Old 12/10/2009, 09:58   #878
 
elite*gold: 0
Join Date: Jan 2009
Posts: 81
Received Thanks: 49
is das nich nen deutsches forum? OoO
deichstraЯe is offline  
Old 12/10/2009, 17:24   #879
 
elite*gold: 0
Join Date: Jan 2009
Posts: 137
Received Thanks: 19
Блин и что я тут СУБДшник делаю? На что руку поднял-то? ЭхЪ. Тонкие материи. *начинает отчаиваться

Блин, ну не может же так быть, что у китаёз дженерал-аттак вызывается одной строчкой асма, а у нас кучей...

Есть у кого азиатский elementclient.exe?
AlexGD is offline  
Old 12/10/2009, 17:58   #880
 
elite*gold: 0
Join Date: Dec 2009
Posts: 25
Received Thanks: 9
я не отчаиваюсь что хочу - то сделаю. Уже активно доделываю свой локатор, людски оборачивая все вызовы.

По вопросам инджекта - надо просто грамотный дисассемблер, потом отделить функции и понять их параметры.
Дальше все станет намного проще.
sioli is offline  
Old 12/10/2009, 19:05   #881
 
elite*gold: 0
Join Date: Nov 2009
Posts: 96
Received Thanks: 31
а вот (архив ниже) первый сырой проход декомпилятором Бота - Пиратес - может можно что тут понять ..
Декомпилировал с диска .. так что это не отображение в памяти .. к сожалению, но процедуры видимо не отличаются по содержанию как на диске и в RAM ..
С .. файл лучше смотреть в VC++ или в редакторе Borland.

много вставок Ассемблерного кода в листинге - видимо для вычислений ..
что то не видно явного инжекта .. может и нету ??? ..))


например ..

__asm
{
fld [esp+14h+var_14]
fld tbyte_40F1F4
fcompp st(1), st
fstsw ax
sahf
}


эта функция интересная -

//----- (004F64DC) --------------------------------------------------------
int __usercall sub_4F64DC<eax>(unsigned int a1<eax>, DWORD a2<ecx>)
{
unsigned int v2; // ebx@1
int result; // eax@10
DWORD ThreadId; // [sp+0h] [bp-8h]@1

ThreadId = a2;
v2 = a1;
byte_51A0F4[a1] = 1;
byte_51A150[a1] = 0;
dword_51A044[a1] = sub_423E80((int)off_41E9EC, 1);
dword_51A054[v2] = sub_423E80((int)off_41E9EC, 1);
byte_51A0FC[v2] = 0;
Sleep_1(0x32u);
if ( v2 < 1 )
{
*(&dword_51A08C + v2) = (HANDLE)System__BeginThread(0, 0, &ThreadId, 0, 0);
*(&dword_51A07C + v2) = (HANDLE)System__BeginThread(0, 0, &ThreadId, 0, 0);
*(&dword_51A0D4 + v2) = (HANDLE)System__BeginThread(0, 0, &ThreadId, 0, 0);
*(&dword_51A0E4 + v2) = (HANDLE)System__BeginThread(0, 0, &ThreadId, 0, 0);
*(&dword_51A09C + v2) = (HANDLE)System__BeginThread(0, 0, &ThreadId, 0, 0);
*(&dword_51A0AC + v2) = (HANDLE)System__BeginThread(0, 0, &ThreadId, 0, 0);
dword_51A0BC[v2] = System__BeginThread(0, 0, &ThreadId, 0, 0);
}
else
{
switch ( v2 )
{
case 1u:
*(&dword_51A08C + v2) = (HANDLE)System__BeginThread(0, 0, &ThreadId, 0, 0);
*(&dword_51A07C + v2) = (HANDLE)System__BeginThread(0, 0, &ThreadId, 0, 0);
*(&dword_51A0D4 + v2) = (HANDLE)System__BeginThread(0, 0, &ThreadId, 0, 0);
*(&dword_51A0E4 + v2) = (HANDLE)System__BeginThread(0, 0, &ThreadId, 0, 0);
*(&dword_51A09C + v2) = (HANDLE)System__BeginThread(0, 0, &ThreadId, 0, 0);
*(&dword_51A0AC + v2) = (HANDLE)System__BeginThread(0, 0, &ThreadId, 0, 0);
dword_51A0BC[v2] = System__BeginThread(0, 0, &ThreadId, 0, 0);
break;
case 2u:
*(&dword_51A08C + v2) = (HANDLE)System__BeginThread(0, 0, &ThreadId, 0, 0);
*(&dword_51A07C + v2) = (HANDLE)System__BeginThread(0, 0, &ThreadId, 0, 0);
*(&dword_51A0D4 + v2) = (HANDLE)System__BeginThread(0, 0, &ThreadId, 0, 0);
*(&dword_51A0E4 + v2) = (HANDLE)System__BeginThread(0, 0, &ThreadId, 0, 0);
*(&dword_51A09C + v2) = (HANDLE)System__BeginThread(0, 0, &ThreadId, 0, 0);
*(&dword_51A0AC + v2) = (HANDLE)System__BeginThread(0, 0, &ThreadId, 0, 0);
dword_51A0BC[v2] = System__BeginThread(0, 0, &ThreadId, 0, 0);
break;
case 3u:
*(&dword_51A08C + v2) = (HANDLE)System__BeginThread(0, 0, &ThreadId, 0, 0);
*(&dword_51A07C + v2) = (HANDLE)System__BeginThread(0, 0, &ThreadId, 0, 0);
*(&dword_51A0D4 + v2) = (HANDLE)System__BeginThread(0, 0, &ThreadId, 0, 0);
*(&dword_51A0E4 + v2) = (HANDLE)System__BeginThread(0, 0, &ThreadId, 0, 0);
*(&dword_51A09C + v2) = (HANDLE)System__BeginThread(0, 0, &ThreadId, 0, 0);
*(&dword_51A0AC + v2) = (HANDLE)System__BeginThread(0, 0, &ThreadId, 0, 0);
dword_51A0BC[v2] = System__BeginThread(0, 0, &ThreadId, 0, 0);
break;
}
}
Sleep_1(0x32u);
return result;
}


------------------------------------------------------

а тут явная пересылка данных в памяти клиента ..

ReadProcessMemory(*(&hProcess + a1), (LPCVOID)*off_5130E0, &Buffer, 4u, &NumberOfBytesRead);
ReadProcessMemory(*(&hProcess + v3), (LPCVOID)(Buffer + *off_5136D0), &Buffer, 4u, &NumberOfBytesRead);
ReadProcessMemory(*(&hProcess + v3), (LPCVOID)(Buffer + *off_513588), &Buffer, 4u, &NumberOfBytesRead);
ReadProcessMemory(*(&hProcess + v3), (LPCVOID)(Buffer + *off_5131BC), &Buffer, 4u, &NumberOfBytesRead);
ReadProcessMemory(*(&hProcess + v3), (LPCVOID)(Buffer + *off_5134E4), &Buffer, 4u, &NumberOfBytesRead);
v9 = Buffer;
WriteProcessMemory(*(&hProcess + v3), (LPVOID)(Buffer + *(_DWORD *)off_513124), &v5, 1u, &NumberOfBytesRead);
WriteProcessMemory(*(&hProcess + v3), (LPVOID)(Buffer + *off_5131F4), &a4, 4u, &NumberOfBytesRead);
WriteProcessMemory(*(&hProcess + v3), (LPVOID)(Buffer + *off_513110), &a3, 4u, &NumberOfBytesRead);
WriteProcessMemory(*(&hProcess + v3), (LPVOID)(Buffer + *off_5136A0), &v6, 4u, &NumberOfBytesRead);
ReadProcessMemory(*(&hProcess + v3), (LPCVOID)*off_5130E0, &v10, 4u, &NumberOfBytesRead);
ReadProcessMemory(*(&hProcess + v3), (LPCVOID)(v10 + *off_5136D0), &v10, 4u, &NumberOfBytesRead);
ReadProcessMemory(*(&hProcess + v3), (LPCVOID)(v10 + *off_513588), &v10, 4u, &NumberOfBytesRead);
WriteProcessMemory(*(&hProcess + v3), (LPVOID)(v10 + *off_51300C), &v7, 4u, &NumberOfBytesRead);
ReadProcessMemory(*(&hProcess + v3), (LPCVOID)*off_5130E0, &v10, 4u, &NumberOfBytesRead);
ReadProcessMemory(*(&hProcess + v3), (LPCVOID)(v10 + *off_5136D0), &v10, 4u, &NumberOfBytesRead);
ReadProcessMemory(*(&hProcess + v3), (LPCVOID)(v10 + *off_513588), &v10, 4u, &NumberOfBytesRead);
WriteProcessMemory(*(&hProcess + v3), (LPVOID)(v10 + *off_513838), &v9, 4u, &NumberOfBytesRead);
Attached Files
File Type: rar fixed_v2_1.rar (847.0 KB, 36 views)
origmas is offline  
Old 12/10/2009, 22:53   #882
 
silkytail's Avatar
 
elite*gold: 0
Join Date: Jun 2008
Posts: 142
Received Thanks: 13
Декомпилировать бота, написанного на автоите по результатам декомпилирования клиента для того, чтобы написать своего бота - помоему верх идиотизма
silkytail is offline  
Old 12/11/2009, 00:07   #883
 
elite*gold: 0
Join Date: Nov 2009
Posts: 96
Received Thanks: 31
Quote:
Originally Posted by silkytail View Post
Декомпилировать бота, написанного на автоите по результатам декомпилирования клиента для того, чтобы написать своего бота - помоему верх идиотизма
для того чтобы знать правильной-ли дорогой ты идешь - можно и посмотреть на карту .. не обязательно ломиться через кусты ..

по твоему получается что исследование кода c помощью Cheat Engine - это еще только так ... ПОЛУ-идиотское занятие ..

ты считаешь, что Пиратес написан на Автоите ?
origmas is offline  
Old 12/11/2009, 00:54   #884
 
elite*gold: 0
Join Date: Dec 2009
Posts: 25
Received Thanks: 9
Quote:
Originally Posted by dj_al View Post
Небольшие дополнения по массиву гильдий:
00976B1C + 1b4 + 4 - количество ГИ в массиве
00976B1C + 1b4 + 8 + i*4 + 4 - тут ещё раз код ГИ
00976B1C + 1b4 + 8 + i*4 + 8 + 8 - тут лвл клана

Массив не то что ближайших ГИ. Иногда бывают проблемки, когда человек с ГИ стоит рядом, над ним светится название его ГИ, однако в массиве данных по ГИ нету. Подгружается в массив информация судя по опыту как-то не равномерно. Иногда вобще почти пусто там, а иногда сразу чуть ли не все ГИ.
Да, были проблемы, но они не устояли

Вот так я сейчас достаю полный список гильдий

$00976B1C + $1b4 + 8 + i*4 {+0}^j + 8 +
0 - Id гильдии
4 + 0 - Название гильдии

{+0}^j означает закладку в связанном списке.
например:
j = 0 ==> $00976B1C + $1b4 + 8 + i*4 + 8 +
j = 1 ==> $00976B1C + $1b4 + 8 + i*4 +0 + 8 +
j = 2 ==> $00976B1C + $1b4 + 8 + i*4 +0 + 0 + 8 +
j = 3 ==> $00976B1C + $1b4 + 8 + i*4 +0 + 0 + 0 + 8 +
Количество списков не в курсе. Дополнения приветствуются.

Кусок кода с моего локатора:
Code:
procedure guildNameFill(handle:cardinal; var pl:Players);
var
  offset:cardinal;
  ga:TStrings;
  i,j:integer;
  rb:cardinal;
  Hp:cardinal;
  guildOff:string;
  ca:array[0..64] of char;
  sw:string;
  PagesShift:string;
begin
  ga:=TStringList.Create;
PagesShift:='';
for j:=0 to 3 do
begin
  for i:=0 to maxValues do
  begin
    offset := GetPointer(Handle,BaseAddress+'+$1b4+8+'+IntToStr(i*4)+PagesShift+'+8');
    guildOff := IntToStr(offset);
    offset:=GetPointer(Handle,guildOff+'+0');
    if offset=0 then Continue;
    ReadProcessMemory(Handle, ptr(offset), @hp, 4, rb);
    if (hp=0) or (hp>20000) then continue;
    offset:=GetPointer(Handle,guildOff+'+4+0');
    ReadProcessMemory(Handle, ptr(offset), @ca, 64, rb);
    sw:=WideCharToString(pwidechar(@ca[0]));
    if ga.IndexOfObject(TObject(hp))=-1 then ga.AddObject(sw,TObject(hp));
  end;
PagesShift:=PagesShift+'+0';
end;

  for i:=0 to pl.actualSize-1 do
  begin
    j := ga.IndexOfObject(TObject(pl.data[i].guildId));
    if j=-1 then pl.data[i].guild:=''
            else pl.data[i].guild:=ga.Strings[j];
  end;
  ga.Free;
end;
P.S. к коду сильно не придирайтесь
sioli is offline  
Old 12/11/2009, 01:29   #885
 
elite*gold: 0
Join Date: Nov 2009
Posts: 12
Received Thanks: 1
Talking

botpirates написан на дельфях.
А вот декомпиляция - это довольно забавное дело.
Я конечно может и человек старой школы..

Но ollydbg рулил и будет рулить
А декомпиляторы и чит энжины..

Помнится хотел декомпильнуть собственную прожку.. так этот декомпилер мне такого насрал..

Если-бы я незнал в чём заключается смысл её работы и невидел-бы кода, я бы вряд-ли разобрался что к чему.

Вообще я до сих пор удивляюсь.. движок в нескольких местах вполне открыто передаёт информацию, а вы до сих пор читаете непонятные адреса, делаете таблицы смещений.. короче шелуха полная..
Даю подсказку - не зря-же есть pak файлы, с переводом строк на язык
Это например раз..

По поводу выделения моба - нужны viewangles и координаты моба. Прокалькулировать разницу углов, далее аля-аимботом вывести моба по ПКМ на центр и ЛКМ кликнуть по центру. Вот вам и приближение к реальному персу. А не просто селект во все стороны.
Можете кинуть помидором, но я, да и не только я, такое делал - хотя бы мозги размять хорошо.
muchenberg is offline  
Reply




All times are GMT +1. The time now is 00:11.


Powered by vBulletin®
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2025 elitepvpers All Rights Reserved.