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

Проблемы с SkillInjection (© Dinmaite)

-

Общение разработчиков

- Программирование для Perfect World, общение и обсуждене разработок

Ответ
 
Опции темы
Старый 08.04.2014, 21:04   #1
 Разведчик
Аватар для bestbeer
 
bestbeer никому не известный тип
Регистрация: 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
-= Мастер Света =-
 Рыцарь-лейтенант
Аватар для 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: Проблемы с 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
 Разведчик
Аватар для bestbeer
 
bestbeer никому не известный тип
Регистрация: 06.10.2013
Сообщений: 27
Популярность: 10
Сказал(а) спасибо: 24
Поблагодарили 12 раз(а) в 8 сообщениях
 
По умолчанию Re: Проблемы с SkillInjection (© Dinmaite)

Цитата:
Сообщение от SmertigПосмотреть сообщение
Настройка щитов. Пакет выглядит так:
2900 SKILL_ID 0101 TARGET_ID
(skill_id и target_id - little endian 4 byte)
Вот 0101 - это атака цели любой цели (как будто все щиты выкл). 0301 (или 0103, не помню) - бьёт только НЕсоклан. Поиграйся с щитами, полови пакеты и поймёшь

Спасибо за оперативность. Помогло.
  Ответить с цитированием
Старый 09.04.2014, 16:42   #4
 Разведчик
Аватар для bsbalex
 
bsbalex никому не известный тип
Регистрация: 14.10.2012
Сообщений: 6
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
 
По умолчанию Re: Проблемы с SkillInjection (© Dinmaite)

Цитата:
Сообщение от SmertigПосмотреть сообщение
Настройка щитов. Пакет выглядит так:
2900 SKILL_ID 0101 TARGET_ID

В догонку - встречал пакеты 5000 SKILL_ID....
  Ответить с цитированием
Ответ


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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Интервью с Dinmaite MaTEMAtika(2) Интервью и опросы 33 05.01.2012 19:54
Интервью с Dinmaite VortexWhy Интервью и опросы 17 12.12.2011 14:46
жалоба на Dinmaite Карикатуро PVP Room 16 23.07.2011 21:14

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

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

Пишите нам: forum@zhyk.ru
Copyright © 2025 vBulletin Solutions, Inc.
Translate: zCarot. Webdesign by DevArt (Fox)
G-gaMe! Team production | Since 2008
Hosted by GShost.net