Регистрация Главная Сообщество
Сообщения за день Справка Регистрация
Навигация
Zhyk.org LIVE! Реклама на Zhyk.org Правила Форума Награды и достижения Доска "почета"

"Поиск инжектов" или "Наш код в чужом процессе"

-

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

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

Ответ
 
Опции темы
Старый 29.07.2013, 10:29   #61
 Разведчик
Аватар для edyapd
 
edyapd никому не известный тип
Регистрация: 26.07.2013
Сообщений: 4
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
 
По умолчанию Re: "Поиск инжектов" или "Наш код в чужом процессе"

Dinmaite, Спасибо, смысл понял. Теперь бы разобраться как это засунуть в программу в виде указателя на Базовый адрес. Просто последний раз программировал на Паскале, когда Дельфи ещё не было в природе.

BritishColonist, Спасибо. Как константа идёт. Хотя конечно же хотелось бы на будущее запихивать эти значения в ini-файл.

Sorry, для "Спасибо" ещё не набил постов.
  Ответить с цитированием
Старый 27.09.2013, 19:53   #62
 Пехотинец
Аватар для Unheilig))
 
Unheilig)) на правильном путиUnheilig)) на правильном пути
Регистрация: 13.12.2012
Сообщений: 58
Популярность: 197
Сказал(а) спасибо: 23
Поблагодарили 31 раз(а) в 10 сообщениях
 
По умолчанию Re: "Поиск инжектов" или "Наш код в чужом процессе"

Народ, подскажите, пожалуйста, где я туплю, пытаясь повторить прмер автора статьи?

Дебаггер


Код


Заранее спасибо)
  Ответить с цитированием
Старый 28.09.2013, 19:34   #63
 Пехотинец
Аватар для sedrik1992
 
sedrik1992 никому не известный тип
Регистрация: 03.02.2013
Сообщений: 60
Популярность: 10
Сказал(а) спасибо: 12
Поблагодарили 25 раз(а) в 12 сообщениях
 
По умолчанию Re: "Поиск инжектов" или "Наш код в чужом процессе"

Unheilig)), у меня вот так работает:
Цитата:
procedure TForm1.Button1Click(Sender: TObject);
var
aParams: TParams;
PID, hProcess: DWord;
kWindow:HWND;
begin
kWindow:=FindWindow(nil,PChar('Perfect World'));
GetWindowThreadProcessId(kWindow, @PID);

hProcess:= OpenProcess(PROCESS_ALL_ACCESS, False, PID);
aParams.WID:= StrToInt('$' + Edit1.Text); // WID персонажа\моба\NPC
InjectFunc(hProcess, @TargetCall, @aParams, SizeOf(aParams ) ); // инжектим функцию
CloseHandle( hProcess); // закрываем хендл процесса
end;

и кусок asm кода:
Цитата:
MOV EDI, P1
MOV EBX, $006E8060
MOV EAX,DWORD PTR DS:[$C38B6C]
PUSH EDI
MOV ECX,DWORD PTR DS:[EAX+$20]
ADD ECX,$0F4
CALL EBX

Ты скорее всего неверно нашел функцию.
Если понадобится, написал мини-утилитку для определения ID Моба/NPC. World ID
________________
World ID | Кубометр

Последний раз редактировалось sedrik1992; 29.09.2013 в 01:32.
  Ответить с цитированием
Старый 29.09.2013, 06:35   #64
 Пехотинец
Аватар для Unheilig))
 
Unheilig)) на правильном путиUnheilig)) на правильном пути
Регистрация: 13.12.2012
Сообщений: 58
Популярность: 197
Сказал(а) спасибо: 23
Поблагодарили 31 раз(а) в 10 сообщениях
 
По умолчанию Re: "Поиск инжектов" или "Наш код в чужом процессе"

так светофорит и все
  Ответить с цитированием
Старый 29.09.2013, 14:39   #65
 Пехотинец
Аватар для sedrik1992
 
sedrik1992 никому не известный тип
Регистрация: 03.02.2013
Сообщений: 60
Популярность: 10
Сказал(а) спасибо: 12
Поблагодарили 25 раз(а) в 12 сообщениях
 
По умолчанию Re: "Поиск инжектов" или "Наш код в чужом процессе"

Цитата:
Сообщение от Unheilig))Посмотреть сообщение
так светофорит и все

Если у тебя руофф, возьми переделанный исходник под текущую версию:
Вложения
Тип файла: rar Target.rar (6.4 Кб, 44 просмотров)
________________
World ID | Кубометр
  Ответить с цитированием
Пользователь сказал cпасибо:
Unheilig)) (30.09.2013)
Старый 30.09.2013, 05:21   #66
 Пехотинец
Аватар для Unheilig))
 
Unheilig)) на правильном путиUnheilig)) на правильном пути
Регистрация: 13.12.2012
Сообщений: 58
Популярность: 197
Сказал(а) спасибо: 23
Поблагодарили 31 раз(а) в 10 сообщениях
 
По умолчанию Re: "Поиск инжектов" или "Наш код в чужом процессе"

Спасибо, оказалось я просто не ту функцию нашел) похожую, но не ту)
  Ответить с цитированием
Старый 08.07.2014, 15:51   #67
 Разведчик
Аватар для bestbeer
 
bestbeer никому не известный тип
Регистрация: 06.10.2013
Сообщений: 27
Популярность: 10
Сказал(а) спасибо: 24
Поблагодарили 12 раз(а) в 8 сообщениях
 
По умолчанию Re: "Поиск инжектов" или "Наш код в чужом процессе"

Возник вопрос: возможно ли найти нужный инжект в x64 винде, используя OD и CE?
В CE при любом раскладе получаю адрес 0089DFAC, а дальше тупик
[Ссылки могут видеть только зарегистрированные пользователи. ] . Сор если что не так, пробую искать инжекты впервые.
  Ответить с цитированием
Старый 08.07.2014, 16:25   #68
 Пехотинец
Аватар для iGesha
 
iGesha скоро будет известенiGesha скоро будет известенiGesha скоро будет известен
Регистрация: 04.12.2013
Сообщений: 66
Популярность: 228
Сказал(а) спасибо: 36
Поблагодарили 43 раз(а) в 24 сообщениях
 
По умолчанию Re: "Поиск инжектов" или "Наш код в чужом процессе"

89DFAC - это базовый адрес в EXE-шнике. При запуске, в памяти к нему добавляется 0x400000 И получается уже С9DFAC.
А что, собственно, пытался найти?
У меня по алгоритму из первого поста этой темы ничего найти не получается, т.к. игра тупо виснет при попытке отловить все доступы к базовому адресу.
Сейчас пошёл с другого конца - искал всё, что пишет в ячейку текущего таргета в структуре персонажа. Сразу же вышел на искомую функцию взятия в таргет (730FD0)...
И, вроде бы, разрядность винды на поиск никак не влияет. Я и на 64х и на 32х находил что-то. Олькой почти не пользуюсь. Всё, что нужно, пока удаётся сделать через СЕ-шку...
________________
Кто к нам с чем зачем, тот от того и того...
[Ссылки могут видеть только зарегистрированные пользователи. ] [Ссылки могут видеть только зарегистрированные пользователи. ] [Ссылки могут видеть только зарегистрированные пользователи. ]

Последний раз редактировалось iGesha; 08.07.2014 в 16:30.
  Ответить с цитированием
Старый 08.07.2014, 17:33   #69
 Разведчик
Аватар для bestbeer
 
bestbeer никому не известный тип
Регистрация: 06.10.2013
Сообщений: 27
Популярность: 10
Сказал(а) спасибо: 24
Поблагодарили 12 раз(а) в 8 сообщениях
 
По умолчанию Re: "Поиск инжектов" или "Наш код в чужом процессе"

Искал инжект на скил.
  Ответить с цитированием
Старый 08.07.2014, 21:52   #70
 Пехотинец
Аватар для sedrik1992
 
sedrik1992 никому не известный тип
Регистрация: 03.02.2013
Сообщений: 60
Популярность: 10
Сказал(а) спасибо: 12
Поблагодарили 25 раз(а) в 12 сообщениях
 
По умолчанию Re: "Поиск инжектов" или "Наш код в чужом процессе"

Под эту версию руофа:
~Target~
Код:
    MOV ESI, P1                      // Вносим WID моба в регистр EDI
    MOV EBX, $730FD0                 // Вносим в свободный регистр адрес функции
    MOV EAX,DWORD PTR DS:[$C9DFAC]   //
    PUSH ESI                         // ; /Arg1
    MOV ECX,DWORD PTR DS:[EAX+$20]   // ; |
    ADD ECX,$0F4                     // ; |
    CALL EBX                         // ; \elementc.00730FD0
________________
World ID | Кубометр
  Ответить с цитированием
Старый 27.07.2014, 06:29   #71
 Разведчик
Аватар для bestbeer
 
bestbeer никому не известный тип
Регистрация: 06.10.2013
Сообщений: 27
Популярность: 10
Сказал(а) спасибо: 24
Поблагодарили 12 раз(а) в 8 сообщениях
 
По умолчанию Re: "Поиск инжектов" или "Наш код в чужом процессе"

Вроде нашел нужную функцию SkillCall:

[Ссылки могут видеть только зарегистрированные пользователи. ]

Но возникли вопросы насчет последней строки.
CALL DWORD PTR DS:[<&ElementSkill.?IsGoblinSkill@ElementSkill@GNET@@S A_NI@Z>]
Что это за адрес такой? Как реализовать в дельфиях?

Добавлено через 19 минут
Есть подозрение, что теперь этот адрес зависит от класса персонажа( и берется откуда-то.

Последний раз редактировалось bestbeer; 27.07.2014 в 06:48. Причина: Добавлено сообщение
  Ответить с цитированием
Старый 01.08.2014, 02:35   #72
 Разведчик
Аватар для bestbeer
 
bestbeer никому не известный тип
Регистрация: 06.10.2013
Сообщений: 27
Популярность: 10
Сказал(а) спасибо: 24
Поблагодарили 12 раз(а) в 8 сообщениях
 
По умолчанию Re: "Поиск инжектов" или "Наш код в чужом процессе"

Таки сумел разобраться.
Инжект на скил(как будто жмем на панели) под текущий руоф.
Код:
CallAddress:=Pointer($0047CBF0);
P1:=aPParams^.Param1;//DWord скил
Po1:=Pointer(P1);//pointer
 asm
 pushad

MOV ECX,DWORD PTR DS:[$0C9DFAC]
MOV EDX,DWORD PTR DS:[ECX+$1C]
MOV ESI,DWORD PTR DS:[EDX+$30]

push -1 // -1
push 0
push 0

mov ecx,Po1  // указатель на скил
push ecx

mov ecx,esi

CALL CallAddress

 popad
end;
  Ответить с цитированием
Старый 20.08.2014, 11:44   #73
 Разведчик
Аватар для scitelz
 
scitelz никому не известный тип
Регистрация: 25.01.2013
Сообщений: 13
Популярность: 10
Сказал(а) спасибо: 7
Поблагодарили 0 раз(а) в 0 сообщениях
 
По умолчанию Re: "Поиск инжектов" или "Наш код в чужом процессе"

del

Последний раз редактировалось scitelz; 21.08.2014 в 19:34.
  Ответить с цитированием
Старый 17.01.2015, 20:25   #74
 Разведчик
Аватар для Fess88
 
Fess88 никому не известный тип
Регистрация: 11.05.2014
Сообщений: 6
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
 
По умолчанию Re: "Поиск инжектов" или "Наш код в чужом процессе"

Пробую по примеру составить инжект таргета, нашел в Olly следующее ставил брейкпойнт на строке PUSH EDI:

[Ссылки могут видеть только зарегистрированные пользователи. ]

0048BD75 A1 ACEFCC00 MOV EAX,DWORD PTR DS:[CCEFAC]
0048BD7A 57 PUSH EDI
0048BD7B 8B48 20 MOV ECX,DWORD PTR DS:[EAX+20]
0048BD7E 81C1 F4000000 ADD ECX,0F4
0048BD84 E8 47AE2B00 CALL elementc.00746BD0

составил инжект:

Код:
MOV EDI 0x80108594;    // вносим WID моба в регистр EDI (переменная) 
MOV EBX,         0x00746bd0                    
MOV EAX,DWORD PTR DS:[0xCCEFAC]
PUSH EDI
MOV ECX,DWORD PTR DS:[EAX+0x20]
ADD ECX,0F4
CALL EBX
RETN
На основе него сделал сгенерировал код через Olly:
Код:
BF 11 11 11 11 BB D0 6B 74 00 A1 22 22 22 22 57 8B 48 20 81 C1 F4 00 00 00 FF D3 C3
сформировал из него массив:
Код:
char code[29] = "\xBF\x94\x85\x10\x80\xBB\xD0\x6B\x74\x00\xA1\xAC\xEF\xCC\x00\x57\x8B\x48\x20\x81\xC1\xF4\x00\x00\x00\xFF\xD3\xC3";
но при попытке инжекта вылетает клиент

Подскажите, структура на инжект таргета верная, или косяк не в ней?
  Ответить с цитированием
Старый 18.01.2015, 23:11   #75
 Пехотинец
Аватар для diagnost
 
diagnost блестящий пример для подражанияdiagnost блестящий пример для подражанияdiagnost блестящий пример для подражанияdiagnost блестящий пример для подражанияdiagnost блестящий пример для подражанияdiagnost блестящий пример для подражанияdiagnost блестящий пример для подражанияdiagnost блестящий пример для подражанияdiagnost блестящий пример для подражанияdiagnost блестящий пример для подражанияdiagnost блестящий пример для подражания
Регистрация: 02.01.2010
Сообщений: 95
Популярность: 1542
Сказал(а) спасибо: 110
Поблагодарили 460 раз(а) в 288 сообщениях
 
По умолчанию Re: "Поиск инжектов" или "Наш код в чужом процессе"

Выкладываю рабочую версию берет target NPC и открывает диалоговое окно! Как то можно оптимизировать?

var
P1: DWord;
begin
P1:=aPParams^.WID;
asm
MOV EDI, P1 // Вносим WID моба в регистр EDI
MOV EBX, $00746BD0 //Call Targeta
MOV EAX,DWORD PTR DS:[$CCEFAC]
PUSH EDI
MOV ECX,DWORD PTR DS:[EAX+$20]
ADD ECX,$0F4
CALL EBX
MOV EDI, P1
MOV EBX, $00747000 // Call открытия диалога
MOV EAX,DWORD PTR DS:[$CCEFAC]
PUSH EDI
MOV ECX,DWORD PTR DS:[EAX+$20]
ADD ECX,$0F4
CALL EBX
end;
end;
  Ответить с цитированием
Ответ


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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[Информация] """""""""""Лучшая тема по итогам голосования"""""""""" +ESEL- Общение и обсуждение, архив Point Blank 0 16.04.2011 09:12
"""МОЛОДЦЫ!!""" - обнова идет - читы фиксят! Zgystok Общение и обсуждение CrossFire 3 29.03.2011 17:32
[Руководство] "Воизбежание"-"Логин в прцессе подключения"+"Дисконект при выборе сервера" K.Rezonans Баги, читы и статьи по Point Blank 19 27.06.2010 02:24

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

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

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