 |
Проблемы с SkillInjection (© Dinmaite) - Общение разработчиков - Программирование для Perfect World, общение и обсуждене разработок |
08.04.2014, 21:04
|
#1
|
|
|
|
|
|
Разведчик
|
 Регистрация: 06.10.2013
 Сообщений: 27
 Популярность: 10
 Сказал(а) спасибо: 24
Поблагодарили 12 раз(а) в 8 сообщениях
|
Проблемы с SkillInjection (© Dinmaite)
Компилирую dll Код:
Код:
library Project2;
{$R *.res}
uses
Sysutils,
Windows,
strutils;
Type
PParams = ^TParams;
TParams = packed record
Packet: array [0..100] of byte;
Param1,Param2,Param3: DWord;
Param4: array [1..100] of widechar;
end;
const
BaseAdress = $00C38B6C;
AutoPathAdress = $00C392CC;
procedure InjectFunc(ProcessID: Cardinal; Func, aParams: Pointer; aParamsSize: DWord);stdcall;export;
var
hThread: THandle;
lpNumberOfBytes: DWord;
ThreadAddr, ParamAddr: Pointer;
begin
if ProcessID<>0 then
begin
// ---- Выделяем место в памяти процесса, и записываем туда нашу функцию
ThreadAddr := VirtualAllocEx(ProcessID, nil, 256, MEM_COMMIT, PAGE_READWRITE);
WriteProcessMemory(ProcessID, ThreadAddr, Func, 256, lpNumberOfBytes);
// ---- Также запишем параметры к ней
ParamAddr := VirtualAllocEx(ProcessID, nil, aParamsSize, MEM_COMMIT, PAGE_READWRITE);
WriteProcessMemory(ProcessID, ParamAddr, aParams, aParamsSize, lpNumberOfBytes);
// ---- Создаем поток, в котором все это будет выполняться.
hThread := CreateRemoteThread(ProcessID, nil, 0, ThreadAddr, ParamAddr, 0, lpNumberOfBytes);
// ---- Ожидаем завершения функции
WaitForSingleObject(hThread, INFINITE);
// ---- подчищаем за собой
CloseHandle(hThread);
VirtualFreeEx(ProcessID, ParamAddr, 0, MEM_RELEASE);
VirtualFreeEx(ProcessID, ThreadAddr, 0, MEM_RELEASE);
end
end;
procedure SkillCall(aPParams:PParams);stdcall;export;
var CallAddress:pointer;
P1:DWord;
begin
CallAddress:=Pointer($0045DCD0);
P1:=aPParams^.Param1;
asm
pushad
mov ecx, dword ptr [$009C0E6C]
mov ecx, dword ptr [ecx+$1C]
mov ecx, dword ptr [ecx+$20]
push $FFFFFFFF
push $00
push $00
mov edx, P1
push edx
call CallAddress
popad
end;
end;
Procedure SkillUse(ProcID,SkillID,WID:Cardinal);stdcall;export;
var
aParam: PParams;
begin
aParam.Param1:=SkillID;
InjectFunc(ProcID,@SkillCall,@aParam,SizeOf(aParam));
end;
Exports SkillUse;
begin
end.
При создании длл она сразуже стирается авирой как троян.
Пробовал делать на пакетах. Все вродебы хорошо, анимация от стана идет, но сам стан на цель не проходит.
Что я делаю не так?
Последний раз редактировалось Smertig; 08.04.2014 в 21:59.
Причина: [quote]->[code]
|
|
|
|
08.04.2014, 21:58
|
#2
|
|
|
|
|
|
Рыцарь-лейтенант
|
 Регистрация: 31.01.2011
 Сообщений: 413
 Популярность: 14489
 Золото Zhyk.Ru: 300
 Сказал(а) спасибо: 77
Поблагодарили 361 раз(а) в 145 сообщениях
|
Re: Проблемы с SkillInjection (© Dinmaite)
 |
Цитата: |
 |
|
|
|
|
|
|
|
|
|
Пробовал делать на пакетах. Все вродебы хорошо, анимация от стана идет, но сам стан на цель не проходит.
Что я делаю не так? |
|
 |
|
 |
|
Настройка щитов. Пакет выглядит так:
2900 SKILL_ID 0101 TARGET_ID
(skill_id и target_id - little endian 4 byte)
Вот 0101 - это атака цели любой цели (как будто все щиты выкл). 0301 (или 0103, не помню) - бьёт только НЕсоклан. Поиграйся с щитами, полови пакеты и поймёшь
________________
Больше не занимаюсь читами, ушёл в серверную часть. Новый ник - int 3.
P.S. Но я всё такой же добрый модератор раздела PW.
|
|
|
|
08.04.2014, 22:46
|
#3
|
|
|
|
|
|
Разведчик
|
 Регистрация: 06.10.2013
 Сообщений: 27
 Популярность: 10
 Сказал(а) спасибо: 24
Поблагодарили 12 раз(а) в 8 сообщениях
|
Re: Проблемы с SkillInjection (© Dinmaite)
|
|
|
|
09.04.2014, 16:42
|
#4
|
|
|
|
|
|
Разведчик
|
 Регистрация: 14.10.2012
 Сообщений: 6
 Популярность: 10
 Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
|
Re: Проблемы с SkillInjection (© Dinmaite)
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Заявление об ответственности / Список мошенников
Часовой пояс GMT +4, время: 16:34.
|
 |