Register for your free account! | Forgot your password?

Go Back   elitepvpers > MMORPGs > Perfect World
You last visited: Today at 14:38

  • 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/02/2009, 06:45   #781
 
elite*gold: 0
Join Date: Nov 2009
Posts: 96
Received Thanks: 31
Вот кто не пробывал еще - поднятие камеры координатами перса (по XY тоже работает)
$Z = ($Z+5) * 10.0 ; число 5 это на сколько подняться можно хоть за облака
_MemoryPointerWrite($BASE, $PROCESS, $OFS_Z, $Z, "float")
ControlFocus($CLIENT, "", "")
а потом после любого движения перса она опять на месте - удобно использовать для визуального эффекта Сканирования территории .. или посмотреть на низких ЛВЛ как там на верху, процесс этот не виден серверу - перс на месте ..
самое интересное что можно камеру переместить в любую точку карты, только объектов там не будет - одни пейзажи дома .. города и конечно если не правильно поставите высоту то очутитесь (камерой) внутри горы например ..
origmas is offline  
Old 12/02/2009, 07:37   #782
 
elite*gold: 0
Join Date: Nov 2009
Posts: 96
Received Thanks: 31
полюБому эту игру инопланетяне придумали, коэффициенты движений, горизонтальные углы затухания -(fhorizontalfadestartangle) ..))
origmas is offline  
Old 12/02/2009, 09:17   #783
 
elite*gold: 0
Join Date: Jan 2009
Posts: 137
Received Thanks: 19
Quote:
Originally Posted by Biga73 View Post
выражусь еще проще, как найти эти гадские адреса по которым происходит инжект ? дело то в них все состоит, и копай хоть марсианские форумы , без адресов дела не будет... покажите мне как найти хоть один адрес для инжекта и я вам найду ВСЕ остальные !
Есть один сложный, но безошибочный метод. Берешь OllyDBG. Открываешь в нем клиента. Патчишь на JMP место, где он требует запуск из ланчера. Заходишь в игру. Проставляешь в начале процедур брейкпоинты (мнооого их - но мы же не ищем легких путей). Тыркаешь в кнопульки в игре - отлавливаешь адреса брейков. За пару суток все адреса пройти можно.
AlexGD is offline  
Thanks
1 User
Old 12/02/2009, 11:18   #784
 
elite*gold: 0
Join Date: Jan 2009
Posts: 137
Received Thanks: 19
Quote:
Originally Posted by origmas View Post
Вот кто не пробывал еще - поднятие камеры координатами перса (по XY тоже работает)
$Z = ($Z+5) * 10.0 ; число 5 это на сколько подняться можно хоть за облака
_MemoryPointerWrite($BASE, $PROCESS, $OFS_Z, $Z, "float")
ControlFocus($CLIENT, "", "")
а потом после любого движения перса она опять на месте - удобно использовать для визуального эффекта Сканирования территории .. или посмотреть на низких ЛВЛ как там на верху, процесс этот не виден серверу - перс на месте ..
самое интересное что можно камеру переместить в любую точку карты, только объектов там не будет - одни пейзажи дома .. города и конечно если не правильно поставите высоту то очутитесь (камерой) внутри горы например ..
Ну не обязательно ж "потом после любого движения перса она опять на месте". Есть параметр - максимальная дистанция камеры - поставь ему мульён и не будет возвращаться. Подсмотри поинтер у смурфина, например, или в любом другом ZoomHack'е.
AlexGD is offline  
Old 12/02/2009, 11:54   #785
 
elite*gold: 0
Join Date: Jan 2009
Posts: 137
Received Thanks: 19
Судя по тому, что ты написал - ты просто не в ту степь роешь... Хотя... Я же твоего кода не видел )

Вот это работает на забугорском сервере:

Code:
  
  W2I_Walk_Call1        =$0045DE80;//45DE30;//45DC80  45DD60
  W2I_Walk_Call2        =$004618E0;//461880;//461740  461810
  W2I_Walk_Call3        =$0045E280;//45E230;//45E080  45E160

procedure WalkCall(aPParams:PParams); Stdcall;
var
  Address1:pointer;
  Address2:pointer;
  Address3:pointer;
  x,y,z:single;
  fly: Cardinal;
begin
  Address1:=Pointer(W2I_Walk_Call1);
  Address2:=pointer(W2I_Walk_Call2);
  Address3:=pointer(W2I_Walk_Call3);
  x:=aPParams^.Param3;
  y:=aPParams^.Param4;
  z:=aPParams^.Param5;
  //if r_POSITION1=0 then
      //fly:=0
      //else
      //fly:=1;
  asm
    pushad
      mov eax, dword ptr [W2I_BASE_Call]  //  92D534  929174
      mov eax, dword ptr [eax+$1C]
      mov esi, dword ptr [eax+$20]
      mov ecx, dword ptr [esi+$BD4]  //Bcc+8=BD4
      push 1
      call Address1
      mov edi, eax
      lea eax, dword ptr [esp+$18]
      push eax
      push 0   //r_POSITION1   //0µШГж 1їХЦР
      mov ecx, edi
      call Address2
      mov ecx, dword ptr [esi+$BD4]  //Bcc+8=BD4
      push 0
      push 1
      push edi
      push 1
      call    Address3
      mov eax, dword ptr [W2I_BASE_Call] // 92D534  00929174 929174
      mov eax, dword ptr [eax+$1C]
      mov eax, dword ptr [eax+$20]
      mov eax, dword ptr [eax+$BD4]  //Bcc+8=BD4
      mov eax, dword ptr [eax+$30]
      mov ecx, dword ptr [eax+4]
      mov eax, x
      mov dword ptr[ecx+$20], eax
      mov eax, z
      mov dword ptr[ecx+$24], eax
      mov eax, y
      mov dword ptr[ecx+$28], eax
    popad
  end;
end;
procedure TMan.WalkTo(x, y, z: single);
var
  aParams : TParams;  
  aParamsSize: DWORD;
begin
  aParams.Param3:=x;
  aParams.Param4:=y;
  aParams.Param5:=z;
  aParamsSize:=SizeOf(aParams);
  if GHwnd<>0 then
  begin
    injectfunc(@WalkCall, @aParams, aParamsSize);
  end;
end;
Есть очень явное подозрение, что нужно найти W2I_Walk_Call1, 2, 3 для нашего и заработает ) Хотя не факт... Нет времени рыть...
AlexGD is offline  
Old 12/02/2009, 11:58   #786
 
elite*gold: 0
Join Date: Jan 2009
Posts: 137
Received Thanks: 19
Объясню в чем дело... Из кода явно видно, что для правильного смещения нужно сначала вызвать подпрограммы, которые скажут серваку, что перс сдвинулся (call Address1,2,3). А потом уже в клиенте переписать значения (mov dword ptr[ecx+$20], eax) (зачем? сервак их и так клиенту вернет и сдвинет его...)
AlexGD is offline  
Old 12/02/2009, 13:25   #787
 
elite*gold: 0
Join Date: Nov 2009
Posts: 96
Received Thanks: 31
и так хорошо и так не плохо, а че-то не так ..

Вот наверное не надо незапланированные действия по ходу сценария вставлять - это только запутает и клиент и сервер и нас - уж очень там много вызовов, проверок состояний, передача прием серверу - не найти так нам много и правильно.

само собой все произойдет - только надо щелкнуть мышкой по тропинке (ВСЕ..)
как найти эту мишень типа в которую мы подставляем цели (точку щелчка мыши) -
там наверное надо переводить коорды экранные в коорды 3D сцены .. формулка может така нужна .. потом еще вид действия надо активировать Бег , Полет, Стоять.. но это уже другая история ..
origmas is offline  
Old 12/02/2009, 13:42   #788
 
silkytail's Avatar
 
elite*gold: 0
Join Date: Jun 2008
Posts: 142
Received Thanks: 13
сервер твоего перса не двигает, он только ресинки присылает, если ты пытаешься двигаться неправильно
silkytail is offline  
Old 12/02/2009, 13:49   #789
 
elite*gold: 0
Join Date: Apr 2009
Posts: 237
Received Thanks: 403
инжект для передвижения, что используют китайцы, т.е. который был приведен выше, аналогичен хорошо известному методу с заменой значений в памяти: переписать указатели текущего действия, снять с «ручника», задать конечные координаты… Оба варианта вполне рабочие, хотя инжект проще, ибо нет нужды контролировать достижение конечной точки и вовремя возвращать нужные указатели действия, дабы не было трудностей с графикой, клиент сам все сделает.
dwar is offline  
Old 12/02/2009, 14:05   #790
 
elite*gold: 0
Join Date: Nov 2009
Posts: 12
Received Thanks: 1
Вы мне такую вещь скажите - при чём тут speedtree?
Всё для чего она нужна - это для рендера деревьев.
Камера тут не при чём. Не туда смотрите.
И всё что можно сделать толкового при помощи speedtree - это отключить отрисовку деревьев, по аналогу консольной команды d_render_forest. Остальное шелуха.
SDK на speedtree можно скачать с speedtree.com

Повеселил продавец крякнутого бота. Вобщемто так даже некрасиво делать. Для уважающего себя кодера такое действие просто мелкое.
Сломал - изволь выложить.
Глянул сайтец - имхо развод
muchenberg is offline  
Old 12/02/2009, 18:19   #791
 
muzhig's Avatar
 
elite*gold: 0
Join Date: Sep 2009
Posts: 85
Received Thanks: 27
Процедура нормального таргета, кому надо:
Quote:
procedure Target(aPParams:PParams); Stdcall;
var
P1: DWORD;
begin
//by muzhig
{
mov edx, DWORD PTR [BaseAddress]
push MonsterID
mov ecx, DWORD PTR [edx+0x20]
add ecx, 0xEC
mov edx, CallAddress
call edx
}
P1 := aPParams^.Param1; // номер моба
asm
pushad
mov ecx,dword ptr [PW_BASE_ADDRESS]

mov ecx,dword ptr[ecx+$20]
add ecx,$ec
mov eax, P1
push eax
mov edx, $005ae040
call edx
popad
end;

end;

procedure TForm1.Button1Click(Sender: TObject);
var
aParams : TParams;
begin
aParams.Param1 := idmob;//где брать idmob читайте страниц эдак 10 назад
InjectFunc(hProcess, @Target, @aParams, SizeOf(aParams));
end;
ЗЫ: OllyDbg можно скачать с из сайта бесплатно.
muzhig is offline  
Thanks
1 User
Old 12/02/2009, 18:19   #792
 
elite*gold: 0
Join Date: Jan 2009
Posts: 137
Received Thanks: 19
Quote:
Originally Posted by muchenberg View Post
Вы мне такую вещь скажите - при чём тут speedtree?
Всё для чего она нужна - это для рендера деревьев.
Камера тут не при чём. Не туда смотрите.
А фиг его знает при чем тут speedtree Увидел знакомые букамки. А что с elementskill.dll ? К ней можно подключится?
AlexGD is offline  
Old 12/02/2009, 18:29   #793
 
elite*gold: 0
Join Date: Jan 2009
Posts: 137
Received Thanks: 19
Адресс иньекта для поднять айтем (скилл) $0044BF60. Иньект не писал еще Некогда
AlexGD is offline  
Old 12/02/2009, 19:37   #794
 
elite*gold: 0
Join Date: Jan 2009
Posts: 137
Received Thanks: 19
Quote:
Originally Posted by dwar View Post
инжект для передвижения, что используют китайцы, т.е. который был приведен выше, аналогичен хорошо известному методу с заменой значений в памяти: переписать указатели текущего действия, снять с «ручника», задать конечные координаты… Оба варианта вполне рабочие, хотя инжект проще, ибо нет нужды контролировать достижение конечной точки и вовремя возвращать нужные указатели действия, дабы не было трудностей с графикой, клиент сам все сделает.
Тут есть загвоздка... Я не пишу бота в прямом смысле. Мне просто нужен помощник. Ну не хочу я следить за своим здоровьем ) Хочу чтобы макрос бота пинал, а хилер банки юзал ) И не мешал при этом чатиться. Или ЧСника по обнаружению брал в таргет, приближался и шандарахал по заданной программе. Ну и просто вариант подучиться тонкостям работы с другими приложениями тоже подначивает ) Тем более, что перехват/подмену/генерацию пакетов я в свое время уже изучил в достаточной степени и она мне неинтересна сейчас как факт.

Вот потому хочу реализовать оба способа ) Просто я такой - занимаюсь в свое удовольствие )
AlexGD is offline  
Old 12/02/2009, 19:40   #795
 
elite*gold: 0
Join Date: Nov 2009
Posts: 96
Received Thanks: 31
Quote:
Originally Posted by muzhig View Post
Как смотрите на такое?
Конечно я не очень спец, но так думаю, что когда дополнительный код работает в чужем процессе - он использует регистры по своему усмртрению, а клиент по своему, разделение времени для скрытия значений регистров в стек потребует наверное че-то с прерываниями делать, просто может произойти сбой работы клиента. вот если-бы наш код был компилирован вместе с кодом клиента в одной завязке - другое дело, но не знаю .. пробывать надо.

другими словами не будет синхронизации ..
origmas is offline  
Reply




All times are GMT +2. The time now is 14:38.


Powered by vBulletin®
Copyright ©2000 - 2024, 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 ©2024 elitepvpers All Rights Reserved.