Регистрация Главная Сообщество
Сообщения за день Справка Регистрация

[Руоф] Код для инжекта в память.

-

Разработка ПО для Perfect World

- Бюро разработчиков Zhyk.Ru: создание ботов, снифферов и прочих программ для Perfect World

Ответ
 
Опции темы
Старый 22.03.2014, 12:18   #286
 Разведчик
Аватар для bestbeer
 
bestbeer никому не известный тип
Регистрация: 06.10.2013
Сообщений: 27
Популярность: 10
Сказал(а) спасибо: 24
Поблагодарили 12 раз(а) в 8 сообщениях
 
По умолчанию Re: [Руоф] Код для инжекта в память.

Возник вопрос по AutoPath. Как передавать процедуру чтобы не было изначально вертикального взлета?

Добавлено через 4 часа 52 минуты
Разобрался) Взлет и движение подаются вместе. Если нужно только движение его и подаеш. Переделал под значение Z , если оно -1 то идеш без взлета.

Последний раз редактировалось bestbeer; 22.03.2014 в 17:10. Причина: Добавлено сообщение
  Ответить с цитированием
Старый 04.07.2014, 16:31   #287
 Пехотинец
Аватар для iGesha
 
iGesha скоро будет известенiGesha скоро будет известенiGesha скоро будет известен
Регистрация: 04.12.2013
Сообщений: 66
Популярность: 228
Сказал(а) спасибо: 36
Поблагодарили 43 раз(а) в 24 сообщениях
 
По умолчанию Re: [Руоф] Код для инжекта в память.

В первом посте приведены коды инжектов. Всё бы хорошо, но непонятны некоторые адреса.
Например, в инжекте на скиллы есть строчки
Код:
  mov ecx, dword ptr [$009C0E6C]
  mov ecx, dword ptr [ecx+$1C]
  mov ecx, dword ptr [ecx+$20]
Ладно, тут я опытным путём разобрался, что это ссылка на структуру HostPlayer...
А вот уже в инжекте движения по координатам таких адресов больше. И непонятно, какие из них статичны, а какие меняются от версии к версии...
Может кто-нибудь разъяснить что есть что?

Walk Injection
Код:
 asm
  pushad
  mov eax, dword ptr [PW_GAMERUN_ADDR]
  mov esi, dword ptr [eax+$20]
  mov ecx, dword ptr [esi+$FE0]
  push 1
  call CallAddress1
  mov edi, eax
  lea eax, dword ptr [esp+$0C]
  push eax
  push flying
  mov ecx, edi
  call CallAddress2
  mov ecx, dword ptr [esi+$FE0]
  push 0
  push 1
  push edi
  push 1
  call CallAddress3
  mov eax, dword ptr [PW_GAMERUN_ADDR]
  mov eax, dword ptr [eax+$20]
  mov eax, dword ptr [eax+$FE0]
  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;
Было бы вообще неплохо где-нибудь сделать пометку, что это за адреса, т.к. после обновы адреса меняются и тем, кто сталкивается с этим впервые, непонятно, откуда их брать вообще...
________________
Кто к нам с чем зачем, тот от того и того...
[Ссылки могут видеть только зарегистрированные пользователи. ] [Ссылки могут видеть только зарегистрированные пользователи. ] [Ссылки могут видеть только зарегистрированные пользователи. ]
  Ответить с цитированием
Старый 04.07.2014, 23:07   #288
-= Мастер Света =-
 Рыцарь-лейтенант
Аватар для Smertig
 
Smertig сломал счётчик популярности :(Smertig сломал счётчик популярности :(Smertig сломал счётчик популярности :(Smertig сломал счётчик популярности :(Smertig сломал счётчик популярности :(Smertig сломал счётчик популярности :(Smertig сломал счётчик популярности :(Smertig сломал счётчик популярности :(Smertig сломал счётчик популярности :(Smertig сломал счётчик популярности :(Smertig сломал счётчик популярности :(
Регистрация: 31.01.2011
Сообщений: 413
Популярность: 14489
Золото Zhyk.Ru: 300
Сказал(а) спасибо: 77
Поблагодарили 361 раз(а) в 145 сообщениях
Отправить сообщение для Smertig с помощью ICQ Отправить сообщение для Smertig с помощью Skype™
 
По умолчанию Re: [Руоф] Код для инжекта в память.

Цитата:
call CallAddress3
mov eax, dword ptr [PW_GAMERUN_ADDR]
mov eax, dword ptr [eax+$20]
mov eax, dword ptr [eax+$FE0]
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

Как-то связано с массивом действий, по-моему. ActionStruct

Цитата:
mov eax, dword ptr [PW_GAMERUN_ADDR]
mov esi, dword ptr [eax+$20]
mov ecx, dword ptr [esi+$FE0]

Опять же указатель на массив действий

Цитата:
lea eax, dword ptr [esp+$0C]

Вряд ли меняется с обновами.
________________
Больше не занимаюсь читами, ушёл в серверную часть. Новый ник - int 3.
P.S. Но я всё такой же добрый модератор раздела PW.
  Ответить с цитированием
Пользователь сказал cпасибо:
iGesha (05.07.2014)
Старый 05.07.2014, 14:40   #289
 Пехотинец
Аватар для iGesha
 
iGesha скоро будет известенiGesha скоро будет известенiGesha скоро будет известен
Регистрация: 04.12.2013
Сообщений: 66
Популярность: 228
Сказал(а) спасибо: 36
Поблагодарили 43 раз(а) в 24 сообщениях
 
По умолчанию Re: [Руоф] Код для инжекта в память.

Спасибо, всё прекрасно работает. И ходит, и летает, и скиллами пуляет направо-налево
________________
Кто к нам с чем зачем, тот от того и того...
[Ссылки могут видеть только зарегистрированные пользователи. ] [Ссылки могут видеть только зарегистрированные пользователи. ] [Ссылки могут видеть только зарегистрированные пользователи. ]
  Ответить с цитированием
Старый 06.07.2014, 21:54   #290
 Старший сержант
Аватар для Kyroki
 
Kyroki излучает ауруKyroki излучает ауруKyroki излучает ауруKyroki излучает ауруKyroki излучает ауруKyroki излучает ауру
Регистрация: 20.10.2010
Сообщений: 170
Популярность: 684
Сказал(а) спасибо: 146
Поблагодарили 74 раз(а) в 54 сообщениях
 
По умолчанию Re: [Руоф] Код для инжекта в память.

Заменил адреса, уже кучу раз проверил все, персонаж вроде как бежит, но бежит совершенно не туда куда нужно, кто может подсказать где я ошибся?(До обновы и смены адресов этот код работал как нужно)
Код:
procedure WalkCall(aPParams:PParams);Stdcall;
var CallAddress1,CallAddress2,CallAddress3:Pointer;
    x,y,z:single;
    flying:DWORD;
begin
CallAddress1:=Pointer($48DF20);
CallAddress2:=Pointer($4922D0);
CallAddress3:=Pointer($48E3D0);
x:=aPParams^.x;
y:=aPParams^.y;
z:=aPParams^.z;
flying:=aPParams^.Param1;
 asm
  pushad
  mov eax, dword ptr [GameAdress]
  mov esi, dword ptr [eax+$30]
  mov ecx, dword ptr [esi+$13A8]
  push 1
  call CallAddress1
  mov edi, eax
  lea eax, dword ptr [esp+$0C]
  push eax
  push flying
  mov ecx, edi
  call CallAddress2
  mov ecx, dword ptr [esi+$13A8]
  push 0
  push 1
  push edi
  push 1
  call CallAddress3
  mov eax, dword ptr [GameAdress]
  mov eax, dword ptr [eax+$30]
  mov eax, dword ptr [eax+$13A8]
  mov eax, dword ptr [eax+$30]
  mov ecx, dword ptr [eax+$4]
  mov eax, x
  mov dword ptr[ecx+$3C], eax
  mov eax, z
  mov dword ptr[ecx+$40], eax
  mov eax, y
  mov dword ptr[ecx+$44], eax
  popad
 end;
end;

procedure Walk(x,y,z:single);
var aParams: TParams;
begin
aParams.Param1:=0;
aParams.x:=(x-400)*10;
aParams.y:=(y-550)*10;
aParams.z:=z*10;
InjectFunc(hProcess,@WalkCall,@aParams,SizeOf(aParams));
end;
________________
Вихри говорят "Х-ш-ш-ш"
[6 лет здесь]
  Ответить с цитированием
Старый 06.07.2014, 22:11   #291
 Пехотинец
Аватар для iGesha
 
iGesha скоро будет известенiGesha скоро будет известенiGesha скоро будет известен
Регистрация: 04.12.2013
Сообщений: 66
Популярность: 228
Сказал(а) спасибо: 36
Поблагодарили 43 раз(а) в 24 сообщениях
 
По умолчанию Re: [Руоф] Код для инжекта в память.

Сдаётся мне, что дело может быть в типе переменных. Не передаёт ли этот код координаты типом float (или хз как там в дельфи он называется). Посмотри, например, через CE, что лежит по адресам BA+1C+30+13A8+30+4+20, 24, 28 после вызова этой функции...
________________
Кто к нам с чем зачем, тот от того и того...
[Ссылки могут видеть только зарегистрированные пользователи. ] [Ссылки могут видеть только зарегистрированные пользователи. ] [Ссылки могут видеть только зарегистрированные пользователи. ]
  Ответить с цитированием
Пользователь сказал cпасибо:
Kyroki (06.07.2014)
Старый 06.07.2014, 22:27   #292
 Старший сержант
Аватар для Kyroki
 
Kyroki излучает ауруKyroki излучает ауруKyroki излучает ауруKyroki излучает ауруKyroki излучает ауруKyroki излучает ауру
Регистрация: 20.10.2010
Сообщений: 170
Популярность: 684
Сказал(а) спасибо: 146
Поблагодарили 74 раз(а) в 54 сообщениях
 
По умолчанию Re: [Руоф] Код для инжекта в память.

Я уже запутался, вроде получает как нужно, но что самое интересное, при каждом клике персонаж летит в разные стороны

Добавлено через 4 минуты
Координаты полученные в коде
[Ссылки могут видеть только зарегистрированные пользователи. ]
Координаты в игре
[Ссылки могут видеть только зарегистрированные пользователи. ]
Да и до обновы же этот код работал, странность

Добавлено через 13 минут
x и z в СЕ получаются как надо, а вот с y проблема, по этому адресу идет слишком маленькое число

Добавлено через 21 минуту
Нашел косяк, не знаю почему и зачем, но я заменил тут адреса координат О_о
________________
Вихри говорят "Х-ш-ш-ш"
[6 лет здесь]

Последний раз редактировалось Kyroki; 06.07.2014 в 22:48. Причина: Добавлено сообщение
  Ответить с цитированием
Старый 06.07.2014, 23:52   #293
 Разведчик
Аватар для fds255
 
fds255 скоро будет известенfds255 скоро будет известенfds255 скоро будет известенfds255 скоро будет известенfds255 скоро будет известен
Регистрация: 23.06.2012
Сообщений: 43
Популярность: 427
Сказал(а) спасибо: 18
Поблагодарили 59 раз(а) в 35 сообщениях
 
По умолчанию Re: [Руоф] Код для инжекта в память.

Посмотри тут:
http://zhyk.ru/forum/showthread.php?t=929415

Рассмотрен автопуть, но координаты полагаю также подставлять нужно.
________________
MultiXBot
MultiX_POT
  Ответить с цитированием
Старый 19.01.2015, 10:19   #294
 Пехотинец
Аватар для diagnost
 
diagnost блестящий пример для подражанияdiagnost блестящий пример для подражанияdiagnost блестящий пример для подражанияdiagnost блестящий пример для подражанияdiagnost блестящий пример для подражанияdiagnost блестящий пример для подражанияdiagnost блестящий пример для подражанияdiagnost блестящий пример для подражанияdiagnost блестящий пример для подражанияdiagnost блестящий пример для подражанияdiagnost блестящий пример для подражания
Регистрация: 02.01.2010
Сообщений: 95
Популярность: 1542
Сказал(а) спасибо: 110
Поблагодарили 460 раз(а) в 288 сообщениях
 
По умолчанию Re: [Руоф] Код для инжекта в память.

Цитата:
Сообщение от pw.lancerПосмотреть сообщение
Пакет торговли изменился, как уже упоминалось в соседней ветке, предлагаю пример продажи 2 итемов для разбора (ну и новичкам полезно будет, кто интересуется его структурой):
Код:
				nBytes         nDifferent        itemTypeId    invIndex      amount            ???
25 00 02 00 00 00 (заголовок)
				[24 00 00 00] [02 00 00 00] 
								[D2 31 00 00] [0C 00 00 00] [01 00 00 00] [01 00 00 00] Чешуя призрака (ID 12754)
								[98 3B 00 00] [0F 00 00 00] [01 00 00 00] [64 00 00 00] Древний меч (ID 15256)
Т.е. к каждому итему прицепили еще 1 поле в "хвост", в данном случае это 0x01 и 0x64 ( 1 и 100 ).

Провел дополнительные эксперименты, выяснил, что это продажная цена одного предмета (даже если их продается несколько в одной ячейке). Зачем китайцам понадобилась цена в пакете, для меня загадка. Врядли можно подставить туда 100500ккк и оно "проглотит" ))
Кроме того, пока непонятно где ее брать нам, ботоводам средней руки. Видимо, придется повышать квалификацию и учиться парсить конфиги игры..

Хотелось бы поднять ещё раз эту тему, кто нибудь решил проблему?
Я нашёл инжект продажи , в логе , в клиенте пишет "цена не соответствует тырым пым пым" и клиент вылетает.

Где знаки вопроса требуемый уровень персонажа?

Последний раз редактировалось diagnost; 19.01.2015 в 10:32.
  Ответить с цитированием
Старый 24.01.2015, 00:04   #295
 Разведчик
Аватар для Fess88
 
Fess88 никому не известный тип
Регистрация: 11.05.2014
Сообщений: 6
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
 
По умолчанию Re: [Руоф] Код для инжекта в память.

Подскажите пожалуйста инжект, или пакет на подбор лута по его WID. Заранее спасибо!
  Ответить с цитированием
Старый 24.01.2015, 00:16   #296
 Разведчик
Аватар для zasranecqwe1111
 
zasranecqwe1111 никому не известный тип
Регистрация: 13.08.2011
Сообщений: 15
Популярность: 10
Сказал(а) спасибо: 6
Поблагодарили 1 раз в 1 сообщении
 
По умолчанию Re: [Руоф] Код для инжекта в память.

Код:
void INJECTOR::GetLoot(DWORD wid, BYTE type)
{
        char fdata[29]="\x60\x8B\x0D\x00\x00\x00\x00\x8B\x89\x11\x11\x11\x11\x6A\x22\x68\x33\x33\x33\x33\xBB\x44\x44\x44\x44\xFF\xD3\x61\xC3";
        DWORD func=F_GET_LOOT;
        DWORD ga=GA;
        DWORD ps=PERS_STRUCT;
        BYTE typ=0; if (type==2) typ=1;
        memcpy(fdata+3,&ga,4);
        memcpy(fdata+9,&ps,4);
        fdata[14]=typ;
        memcpy(fdata+16,&wid,4);
        memcpy(fdata+21,&func,4);
        InjectAndExecute(fdata,29);
}
#define F_GET_LOOT 0x487020
  Ответить с цитированием
Старый 09.03.2015, 01:14   #297
 Разведчик
Аватар для shura_luka
 
shura_luka на правильном путиshura_luka на правильном пути
Регистрация: 08.11.2009
Сообщений: 36
Популярность: 154
Сказал(а) спасибо: 7
Поблагодарили 31 раз(а) в 21 сообщениях
 
По умолчанию Re: [Руоф] Код для инжекта в память.

Цитата:
Сообщение от diagnostПосмотреть сообщение
Где знаки вопроса требуемый уровень персонажа?

Цитата:
Провел дополнительные эксперименты, выяснил, что это продажная цена одного предмета (даже если их продается несколько в одной ячейке). Зачем китайцам понадобилась цена в пакете, для меня загадка. Врядли можно подставить туда 100500ккк и оно "проглотит" ))
Кроме того, пока непонятно где ее брать нам, ботоводам средней руки. Видимо, придется повышать квалификацию и учиться парсить конфиги игры..

Вы хоть читали что цитируете?
  Ответить с цитированием
Старый 10.03.2015, 09:08   #298
 Пехотинец
Аватар для diagnost
 
diagnost блестящий пример для подражанияdiagnost блестящий пример для подражанияdiagnost блестящий пример для подражанияdiagnost блестящий пример для подражанияdiagnost блестящий пример для подражанияdiagnost блестящий пример для подражанияdiagnost блестящий пример для подражанияdiagnost блестящий пример для подражанияdiagnost блестящий пример для подражанияdiagnost блестящий пример для подражанияdiagnost блестящий пример для подражания
Регистрация: 02.01.2010
Сообщений: 95
Популярность: 1542
Сказал(а) спасибо: 110
Поблагодарили 460 раз(а) в 288 сообщениях
 
По умолчанию Re: [Руоф] Код для инжекта в память.

Цитата:
Сообщение от shura_lukaПосмотреть сообщение
Вы хоть читали что цитируете?

На тот момент мне было непонятно, что шло в конце пакета, ответа так и не получил, пришлось разбираться самому. В конце пакета идёт цена предмета, читается по оффзеты price, доработано мною в боте PWA.
  Ответить с цитированием
Старый 24.06.2015, 22:21   #299
 Пехотинец
Аватар для diagnost
 
diagnost блестящий пример для подражанияdiagnost блестящий пример для подражанияdiagnost блестящий пример для подражанияdiagnost блестящий пример для подражанияdiagnost блестящий пример для подражанияdiagnost блестящий пример для подражанияdiagnost блестящий пример для подражанияdiagnost блестящий пример для подражанияdiagnost блестящий пример для подражанияdiagnost блестящий пример для подражанияdiagnost блестящий пример для подражания
Регистрация: 02.01.2010
Сообщений: 95
Популярность: 1542
Сказал(а) спасибо: 110
Поблагодарили 460 раз(а) в 288 сообщениях
 
По умолчанию Re: [Руоф] Код для инжекта в память.

Прыжок (Исправлено спасибо fds255)
Код:
CPU Disasm
Address   Hex dump          Command                                  Comments
00404042  |> \8B5C24 18     MOV EBX,DWORD PTR SS:[ARG.1]
00404046  |.  8BCF          MOV ECX,EDI
00404048  |.  53            PUSH EBX                                 ; /Arg1 => [ARG.1]
00404049  |.  E8 62000000   CALL 004040B0                            ; \elementclient.004040B0
0040404E  |.  8B57 04       MOV EDX,DWORD PTR DS:[EDI+4]
00404051  |.  8B42 20       MOV EAX,DWORD PTR DS:[EDX+20]
00404054  |.  3BC6          CMP EAX,ESI
00404056  |.  7E 44         JLE SHORT 0040409C
00404058  |.  8BE8          MOV EBP,EAX
0040405A  |>  8B47 04       /MOV EAX,DWORD PTR DS:[EDI+4]
0040405D  |.  8B40 1C       |MOV EAX,DWORD PTR DS:[EAX+1C]
00404060  |.  03C6          |ADD EAX,ESI
00404062  |.  8B08          |MOV ECX,DWORD PTR DS:[EAX]
00404064  |.  81F9 00010000 |CMP ECX,100
0040406A  |.  74 1A         |JE SHORT 00404086
0040406C  |.  81F9 04010000 |CMP ECX,104
00404072  |.  74 12         |JE SHORT 00404086
00404074  |.  8B48 0C       |MOV ECX,DWORD PTR DS:[EAX+0C]
00404077  |.  8B50 04       |MOV EDX,DWORD PTR DS:[EAX+4]
0040407A  |.  51            |PUSH ECX                                ; /Arg3
0040407B  |.  52            |PUSH EDX                                ; |Arg2
0040407C  |.  53            |PUSH EBX                                ; |Arg1
0040407D  |.  8BCF          |MOV ECX,EDI                             ; |
0040407F  |.  E8 7C050000   |CALL 00404600                           ; \elementclient.00404600
00404084  |.  EB 10         |JMP SHORT 00404096
00404086  |>  8B48 0C       |MOV ECX,DWORD PTR DS:[EAX+0C]
00404089  |.  8B50 04       |MOV EDX,DWORD PTR DS:[EAX+4]
0040408C  |.  51            |PUSH ECX                                ; /Arg3
0040408D  |.  52            |PUSH EDX                                ; |Arg2
0040408E  |.  53            |PUSH EBX                                ; |Arg1
0040408F  |.  8BCF          |MOV ECX,EDI                             ; |
00404091  |.  E8 AA020000   |CALL 00404340                           ; \elementclient.00404340
00404096  |>  83C6 10       |ADD ESI,10
00404099  |.  4D            |DEC EBP
0040409A  |.^ 75 BE         \JNZ SHORT 0040405A
0040409C  |>  5F            POP EDI
0040409D  |.  5E            POP ESI
0040409E  |.  5D            POP EBP
0040409F  |.  B0 01         MOV AL,1
004040A1  |.  5B            POP EBX
004040A2  |.  59            POP ECX
004040A3  \.  C2 0400       RETN 4

Последний раз редактировалось diagnost; 27.06.2015 в 08:16. Причина: Исправлено спасибо fds255 !
  Ответить с цитированием
Старый 25.06.2015, 17:24   #300
 Разведчик
Аватар для bestbeer
 
bestbeer никому не известный тип
Регистрация: 06.10.2013
Сообщений: 27
Популярность: 10
Сказал(а) спасибо: 24
Поблагодарили 12 раз(а) в 8 сообщениях
 
По умолчанию Re: [Руоф] Код для инжекта в память.

А я вот так прыгаю:

vb.net
Код:
    Public Sub Jump()

        Me.Clear()
        Me.Pushad()

        Me.Mov_ECX(&H100)
        Me.Push_ECX()

        Me.Mov_EDX(&H20)
        Me.Push_EDX()

        '______________3 параметр
        Me.Mov_EAX(&HD2E444) 'ba
        Me.Mov_EAX_DWORD_Ptr_EAX()
        Me.Mov_EAX_DWORD_Ptr_EAX_Add(&H1C)
        Me.Mov_EAX_DWORD_Ptr_EAX_Add(&H28)

        Me.Mov_EBX_EAX()   'ba 1c 28
        Me.Push_EBX()
        '__________________________________

        '
        Me.Mov_EAX(&HD2EBE4) 'GA
        Me.Mov_EAX_DWORD_Ptr_EAX()
        Me.Mov_EAX_DWORD_Ptr_EAX_Add(&H1C)

        Me.Mov_EDI_EAX()
        Me.Mov_ECX_EDI()
        '

        Me.Mov_EAX(&H404340)

        Me.Call_EAX()

        Me.Popad()
        Me.Ret()

        Me.RunAsm(OtherAllocMemory) 'адрес выделенной памяти

    End Sub
  Ответить с цитированием
Ответ


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

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

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[Информация] Читерим в CrossFire или методы инжекта Hummel Cross Fire 6 10.11.2010 20:36
[Программа] Память о базе Chipito Базы серверов и брут 2 30.08.2010 17:23
Оперативная память для ПВ. NikelR Общение и обсуждение Perfect World 4 25.05.2010 22:30

Заявление об ответственности / Список мошенников

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

Пишите нам: [email protected]
Copyright © 2024 vBulletin Solutions, Inc.
Translate: zCarot. Webdesign by DevArt (Fox)
G-gaMe! Team production | Since 2008
Hosted by GShost.net