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

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

-

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

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

Ответ
 
Опции темы
Старый 31.01.2012, 18:31   #91
 Разведчик
Аватар для =Оленька=
 
=Оленька= никому не известный тип
Регистрация: 10.10.2011
Сообщений: 8
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
 
По умолчанию Re: [Руоф] Код для инжекта в память.

Цитата:
Сообщение от krukovisПосмотреть сообщение
Всегда можно ткнуть + (чуть выше и правее аватарки).

Уже разобралась)))) Сделала)

Цитата:
Сообщение от krukovisПосмотреть сообщение
Я полагаю имеется ввиду API- функция keybd_event
На VB.NET она выглядит так:
На твоем не знаю как, думаю нагуглишь .

Мне на Дельфине((
Пытаюсь сама неполучается(((

Цитата:
Сообщение от yeyebvzПосмотреть сообщение
Ребят, а помогите пожалуйста - как закрыть диалоговое окно нипа после разговора с ним. Я пробовал на телепортах - выбирался телепортёр, тпшился (пакетами), но диалоговое окно остаётся открытое (( Пробовал слушать что передётся после тп - добавлять такие же пакетики - не помогло.
Посоветовали закрывать инжектом, но пока не понял как его ловить можно((

Раньше было так и было здорово
Код:
procedure BtnPressAs(Btn: PParams); stdcall;
var
PW_Call: Pointer;
PW_BASE_ADDR: dword;
BT_ADDR: dword;
begin
PW_Call := Pointer($809A1F);
PW_BASE_ADDR :=$B27A04;
BT_ADDR := Btn^.Param1;
asm
pushad
mov eax, BT_ADDR
push eax
mov esi, PW_BASE_ADDR
mov esi, dword ptr [esi]
mov esi, dword ptr [esi+$4]                            
mov esi, dword ptr [esi+$8]
mov esi, dword ptr [esi+$70]
mov ecx, esi
call PW_Call
popad
end;
end;

procedure TForm1.Button10Click(Sender: TObject);
var
aParams: TParams;
aParamsSize: dword;
begin
aParams.Param1 := $ACB998; //00967E24
aParamsSize := SizeOf(aParams);
InjectFunc(hProcess, @BtnPressAs, @aParams, aParamsSize);
end;
только адреса устарели а я новые немогу найти нигде(((

Добавлено через 2 минуты
Цитата:
Сообщение от krukovisПосмотреть сообщение
Но чтобы ее использовать должно быть активно окно клиента - что не очень удобно.

антифриз должен помочь

Последний раз редактировалось =Оленька=; 31.01.2012 в 18:42. Причина: Добавлено сообщение
  Ответить с цитированием
Старый 01.02.2012, 15:15   #92
 Сержант
Аватар для gurin
 
gurin душа компанииgurin душа компанииgurin душа компанииgurin душа компанииgurin душа компанииgurin душа компанииgurin душа компанииgurin душа компании
Регистрация: 18.12.2009
Сообщений: 152
Популярность: 1075
Сказал(а) спасибо: 45
Поблагодарили 204 раз(а) в 67 сообщениях
Отправить сообщение для gurin с помощью Skype™
 
По умолчанию Re: [Руоф] Код для инжекта в память.

Код:
procedure SendKey(hWindow: dword; key: Word; const shift: TShiftState);
var
  lparam:dword;
Begin
 lParam := MakeLong(0, MapVirtualKey(key, 0)) or $20000000;
 if ssAlt in Shift then
   PostMessage(hWindow, WM_KEYDOWN, VK_MENU, MakeLong(0, MapVirtualKey(VK_MENU, 0)));
 if ssCtrl in Shift then
   PostMessage(hWindow, WM_KEYDOWN, VK_CONTROL, MakeLong(0, MapVirtualKey(VK_CONTROL, 0)));
 if ssShift in Shift then
   PostMessage(hWindow, WM_KEYDOWN, VK_SHIFT, MakeLong(0, MapVirtualKey(VK_SHIFT, 0)));
 PostMessage(hWindow, WM_KEYDOWN, key, lParam);
 Sleep(100);
 PostMessage(hWindow, WM_KEYUP, key, Longint(lParam or $C0000000));
 if ssShift in Shift then
   PostMessage(hWindow, WM_KEYUP, VK_SHIFT, MakeLong(0, MapVirtualKey(VK_SHIFT, 0)));
 if ssCtrl in Shift then
   PostMessage(hWindow, WM_KEYUP, VK_CONTROL, MakeLong(0, MapVirtualKey(VK_CONTROL, 0)));
 if ssAlt in Shift then
   PostMessage(hWindow, WM_KEYUP, VK_MENU, MakeLong(0, MapVirtualKey(VK_MENU, 0)));
end;
использовать

Код:
  SendKey(hWindow, VK_ESCAPE, []);
  Ответить с цитированием
Старый 01.02.2012, 16:40   #93
 Разведчик
Аватар для =Оленька=
 
=Оленька= никому не известный тип
Регистрация: 10.10.2011
Сообщений: 8
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
 
По умолчанию Re: [Руоф] Код для инжекта в память.

gurin, Спасибо ОГРОМНОЕ
Плюсик нажала
  Ответить с цитированием
Старый 01.02.2012, 22:10   #94
-= Мастер Света =-
 Рыцарь-капитан
Аватар для krukovis
 
krukovis гордость нацииkrukovis гордость нацииkrukovis гордость нацииkrukovis гордость нацииkrukovis гордость нацииkrukovis гордость нацииkrukovis гордость нацииkrukovis гордость нацииkrukovis гордость нацииkrukovis гордость нацииkrukovis гордость нации
Регистрация: 07.10.2009
Сообщений: 496
Популярность: 2687
Сказал(а) спасибо: 64
Поблагодарили 324 раз(а) в 104 сообщениях
 
По умолчанию Re: [Руоф] Код для инжекта в память.

Написал функцию закрытия любого окна:
Функция на VB.Net с использованием ASM'а. Ниже на Delphi.

Код:
 ''' <summary> Закрытие окна </summary> актуально на 01.02.2012
    Public Sub CloseWindow(ByVal windowOffset As Integer)
        Dim intProcID As Integer = PW_WINDOW.ProcessId
        Dim CallAddress As Integer = &H616EA0
        Dim asm As New ASM()

        asm.Pushad()

        asm.Mov_EAX(BaseAddress)
        asm.Mov_EAX_DWORD_Ptr_EAX()
        asm.Mov_EAX_DWORD_Ptr_EAX_Add(&H1C)
        asm.Mov_EAX_DWORD_Ptr_EAX_Add(&H18)
        asm.Mov_EAX_DWORD_Ptr_EAX_Add(&H8)
        asm.Mov_EAX_DWORD_Ptr_EAX_Add(windowOffset)
        asm.Push_EAX()

        asm.Push68(&HACC3BC) 'Btn_Close 

        asm.Mov_EBP(CallAddress)
        asm.Call_EBP()

        asm.Popad()
        asm.Ret()
        asm.RunAsm(intProcID, 0)

    End Sub
Принимает в качестве параметра смещение окна
Код:
0x2B8 Действия
0x2C0 Игроки и группы
0x2C4 Служба поддержки
0x314 Характеристики персонажа
0x32C Ремонт
0x36C Призыв духа
0x3E8 Помощь
0x40C Инвентарь и Окно Торговли и Ремонта
0x428 Диалог с NPC
0x438 Домашние животные
0x458 Окно алхимика
0x468 Панель 1-9
0x470 Горячие клавиши
0x4B0 Настройки
0x4C4 Умения
0x50C Системная панель
0x51C Задания
Добавлено через 25 минут
Вот на Delphi - если найдете синтаксические ошибки - скажите - поправлю. Delphi не установлен, писал в блокноте.

Код:
procedure WinClose(WinOffset: PParams); stdcall;
var
PW_Call: Pointer;
const
PW_BASE_ADDR=$B27A04;
PW_BTN_CLOSE=$ACC3BC;

begin
PW_Call := Pointer($616EA0);
WIN_OFFSET := WinOffset^.Param1;

asm
pushad

mov eax, PW_BASE_ADDR
mov eax, dword ptr [eax]
mov eax, dword ptr [eax+$1C]                            
mov eax, dword ptr [eax+$18]
mov eax, dword ptr [eax+$8]
mov eax, dword ptr [eax+WIN_OFFSET]
push eax

push PW_BTN_CLOSE

call PW_Call

popad
end;
end;

procedure CloseWindow(windowOffset:dword);
begin
  aParams.Param1 := windowOffset; 
  InjectFunc(aHandle,@WinClose,@aParams,SizeOf(aParams));
end;
________________
--------------------------------------------
PerfectAutoLogin v 7.4 - Совершенный автологин для Perfect World [RUOFF, PWI, Фришек 1.4.4 - 1.4.5]
--------------------------------------------
[for 1.4.6] PW Patcher 12.0 - Патч на Горны, Красный (да и любой) чат, Анфриз, Бесконечный зум, Моментальный разгон на полете для RUOFF, PWI и прочих 1.4.6 и фришек 1.4.4, 1.4.5.
--------------------------------------------
InGamePatcher 1.2 - патчер для серверов 1.4.5 и 1.4.4 работающий с включенной игрой.
--------------------------------------------

Последний раз редактировалось krukovis; 03.02.2012 в 22:39. Причина: Добавлено сообщение
  Ответить с цитированием
6 пользователя(ей) сказали cпасибо:
gurin (05.02.2012), HellD (20.02.2012), krysun (03.02.2012), lcd1232 (15.02.2012), pw.lancer (13.05.2012), yeyebvz (02.02.2012)
Старый 01.02.2012, 22:52   #95
Бандеровец
 Лейтенант-командор
Аватар для VeTaL_UA
 
VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(
Регистрация: 12.08.2010
Сообщений: 727
Популярность: 30569
Золото Zhyk.Ru: 1
Сказал(а) спасибо: 57
Поблагодарили 645 раз(а) в 386 сообщениях
Отправить сообщение для VeTaL_UA с помощью ICQ Отправить сообщение для VeTaL_UA с помощью Skype™
 
По умолчанию Re: [Руоф] Код для инжекта в память.

Цитата:
Сообщение от krukovisПосмотреть сообщение
PW_BASE_ADDR :=$B27A04;
PW_BTN_CLOSE :=&ACC3BC;

Щито за странный знак?
________________
Принимаются пожертвования любых размеров в фонд поддержки начинающих программистов
Кошельки: WMZ - Z276844220882; WMR - R231028582939; WMU - U394136909210; ЯД - 410011494605270.

Perfect World: PWDatabaseScanner, Client, PWNickRenamer, PWClientRenamer, База логинов PW, Гайд по варУ, Зарабатываем репутацию.
Delphi: Авторизация на сайте с помощью Indy, Загрузка изображений с интернета в TImage с помощью Indy, Автоматическая смена стандартной версии Indy в Delphi на Indy 10.0.76 / 10.1.5, Основы парсинга с помощью Indy, Делаем Updater до программы с помощью Indy.
Other: ShowIP, FFUUU смайлы в QIP, Как играть в Minecraft (видеокурс), Как мы захватили человечество :D, Энергия в Лицемер/TopFace, PasGen.


  Ответить с цитированием
Старый 01.02.2012, 23:34   #96
Бандеровец
 Лейтенант-командор
Аватар для VeTaL_UA
 
VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(
Регистрация: 12.08.2010
Сообщений: 727
Популярность: 30569
Золото Zhyk.Ru: 1
Сказал(а) спасибо: 57
Поблагодарили 645 раз(а) в 386 сообщениях
Отправить сообщение для VeTaL_UA с помощью ICQ Отправить сообщение для VeTaL_UA с помощью Skype™
 
По умолчанию Re: [Руоф] Код для инжекта в память.

Цитата:
Сообщение от krukovisПосмотреть сообщение
Еще есть что поправить?

Я не вижу больше ничего
________________
Принимаются пожертвования любых размеров в фонд поддержки начинающих программистов
Кошельки: WMZ - Z276844220882; WMR - R231028582939; WMU - U394136909210; ЯД - 410011494605270.

Perfect World: PWDatabaseScanner, Client, PWNickRenamer, PWClientRenamer, База логинов PW, Гайд по варУ, Зарабатываем репутацию.
Delphi: Авторизация на сайте с помощью Indy, Загрузка изображений с интернета в TImage с помощью Indy, Автоматическая смена стандартной версии Indy в Delphi на Indy 10.0.76 / 10.1.5, Основы парсинга с помощью Indy, Делаем Updater до программы с помощью Indy.
Other: ShowIP, FFUUU смайлы в QIP, Как играть в Minecraft (видеокурс), Как мы захватили человечество :D, Энергия в Лицемер/TopFace, PasGen.


  Ответить с цитированием
Старый 02.02.2012, 18:31   #97
 Разведчик
Аватар для yeyebvz
 
yeyebvz никому не известный тип
Регистрация: 04.09.2010
Сообщений: 20
Популярность: 10
Сказал(а) спасибо: 14
Поблагодарили 0 раз(а) в 0 сообщениях
 
По умолчанию Re: [Руоф] Код для инжекта в память.

krukovis, спасибо большое. Приду с работы - буду тестить. Кнопочный вариант очень не айс, т.к. и сами скилы можно было по f1-8 вызывать, париться с разморозкой окна...
  Ответить с цитированием
Старый 03.02.2012, 20:20   #98
 Разведчик
Аватар для =Оленька=
 
=Оленька= никому не известный тип
Регистрация: 10.10.2011
Сообщений: 8
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
 
По умолчанию Re: [Руоф] Код для инжекта в память.

Цитата:
Сообщение от krukovisПосмотреть сообщение
Написал функцию закрытия любого окна:
Функция на VB.Net с использованием ASM'а. Ниже на Delphi.

На Delphi несработал ;( вылетел клиент
Цитата:
Сообщение от krukovisПосмотреть сообщение
если найдете синтаксические ошибки - скажите - поправлю

PW_BTN_CLOSE - ??? на ето ругнулся

var
PW_Call: Pointer;
PW_BASE_ADDR: dword;
BT_ADDR: dword;
PW_BTN_CLOSE: dword; так наверно правильнее?
begin
PW_Call := Pointer($616EA0);
PW_BASE_ADDR :=$B27A04;
PW_BTN_CLOSE :=$ACC3BC;
WIN_OFFSET := WinOffset^.Param1;
asm......
ток всеравно несработал(((
  Ответить с цитированием
Старый 03.02.2012, 20:36   #99
Бандеровец
 Лейтенант-командор
Аватар для VeTaL_UA
 
VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(
Регистрация: 12.08.2010
Сообщений: 727
Популярность: 30569
Золото Zhyk.Ru: 1
Сказал(а) спасибо: 57
Поблагодарили 645 раз(а) в 386 сообщениях
Отправить сообщение для VeTaL_UA с помощью ICQ Отправить сообщение для VeTaL_UA с помощью Skype™
 
По умолчанию Re: [Руоф] Код для инжекта в память.

Цитата:
Сообщение от =Оленька=Посмотреть сообщение
ток всеравно несработал(((

Я бы так написал:
Код:
procedure WinClose(WinOffset: PParams); stdcall;
var
PW_Call: Pointer;
BT_ADDR: dword;
const
PW_BASE_ADDR=$B27A04;
PW_BTN_CLOSE=$ACC3BC;
begin
PW_Call := Pointer($616EA0);
WIN_OFFSET := WinOffset^.Param1;
asm
pushad

mov eax, PW_BASE_ADDR
mov eax, dword ptr [eax]
mov eax, dword ptr [eax+$1C]                            
mov eax, dword ptr [eax+$18]
mov eax, dword ptr [eax+$8]
mov eax, dword ptr [eax+WIN_OFFSET]
push eax

push PW_BTN_CLOSE

call PW_Call

popad
end;
end;
________________
Принимаются пожертвования любых размеров в фонд поддержки начинающих программистов
Кошельки: WMZ - Z276844220882; WMR - R231028582939; WMU - U394136909210; ЯД - 410011494605270.

Perfect World: PWDatabaseScanner, Client, PWNickRenamer, PWClientRenamer, База логинов PW, Гайд по варУ, Зарабатываем репутацию.
Delphi: Авторизация на сайте с помощью Indy, Загрузка изображений с интернета в TImage с помощью Indy, Автоматическая смена стандартной версии Indy в Delphi на Indy 10.0.76 / 10.1.5, Основы парсинга с помощью Indy, Делаем Updater до программы с помощью Indy.
Other: ShowIP, FFUUU смайлы в QIP, Как играть в Minecraft (видеокурс), Как мы захватили человечество :D, Энергия в Лицемер/TopFace, PasGen.


  Ответить с цитированием
Старый 03.02.2012, 22:16   #100
 Разведчик
Аватар для =Оленька=
 
=Оленька= никому не известный тип
Регистрация: 10.10.2011
Сообщений: 8
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
 
По умолчанию Re: [Руоф] Код для инжекта в память.


Все равно неработает
Подскажите ПОЖАЛУЙСТО что здесь нетак????
Код:
procedure WinClose(WinOffset: PParams); stdcall;
var
PW_Call: Pointer;
WIN_OFFSET: dword;
const
PW_BASE_ADDR=$B27A04;
PW_BTN_CLOSE=$ACC3BC;
begin
PW_Call := Pointer($616EA0);
WIN_OFFSET := WinOffset^.Param1;
asm
pushad
mov eax, PW_BASE_ADDR
mov eax, dword ptr [eax]
mov eax, dword ptr [eax+$1C]
mov eax, dword ptr [eax+$18]
mov eax, dword ptr [eax+$8]
mov eax, dword ptr [eax+WIN_OFFSET]
push eax
push PW_BTN_CLOSE
call PW_Call
popad
end;
end;

procedure TForm1.Button10Click(Sender: TObject);
var
aParams: TParams;
begin
  aParams.Param1 := $314;
  InjectFunc(hProcess,@WinClose,@aParams,SizeOf(aParams));
end;
  Ответить с цитированием
Старый 03.02.2012, 22:43   #101
-= Мастер Света =-
 Рыцарь-капитан
Аватар для krukovis
 
krukovis гордость нацииkrukovis гордость нацииkrukovis гордость нацииkrukovis гордость нацииkrukovis гордость нацииkrukovis гордость нацииkrukovis гордость нацииkrukovis гордость нацииkrukovis гордость нацииkrukovis гордость нацииkrukovis гордость нации
Регистрация: 07.10.2009
Сообщений: 496
Популярность: 2687
Сказал(а) спасибо: 64
Поблагодарили 324 раз(а) в 104 сообщениях
 
По умолчанию Re: [Руоф] Код для инжекта в память.

В своем посте выше все замечания учел. Должно заработать. Но я честно признаться делфи вообще не знаю - адаптировал под Делфи по аналогии. У меня на VB.NET все работает .

Добавлено через 3 минуты
Цитата:
Сообщение от =Оленька=Посмотреть сообщение
Все равно неработает

А "не работает" - это клиент вылетает с ошибкой или окно не закрывается?
А то я смотрю ты пытаешься окно 0x314 - Характеристики персонажа закрыть. А может у тебя другое окно открыто?
Если так, то попробуй сначала окно диалога с НПС или Инвентарь закрыть - эти точно работают. А остальные я не проверял. Вдруг там смещения поменялись.
________________
--------------------------------------------
PerfectAutoLogin v 7.4 - Совершенный автологин для Perfect World [RUOFF, PWI, Фришек 1.4.4 - 1.4.5]
--------------------------------------------
[for 1.4.6] PW Patcher 12.0 - Патч на Горны, Красный (да и любой) чат, Анфриз, Бесконечный зум, Моментальный разгон на полете для RUOFF, PWI и прочих 1.4.6 и фришек 1.4.4, 1.4.5.
--------------------------------------------
InGamePatcher 1.2 - патчер для серверов 1.4.5 и 1.4.4 работающий с включенной игрой.
--------------------------------------------

Последний раз редактировалось krukovis; 03.02.2012 в 22:46. Причина: Добавлено сообщение
  Ответить с цитированием
Старый 04.02.2012, 22:07   #102
 Разведчик
Аватар для =Оленька=
 
=Оленька= никому не известный тип
Регистрация: 10.10.2011
Сообщений: 8
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
 
По умолчанию Re: [Руоф] Код для инжекта в память.

Цитата:
Сообщение от krukovisПосмотреть сообщение
А "не работает" - это клиент вылетает с ошибкой или окно не закрывается?

Клиент с ошибкой вылетает ;(
Цитата:
Сообщение от krukovisПосмотреть сообщение
Если так, то попробуй сначала окно диалога с НПС или Инвентарь закрыть - эти точно работают. А остальные я не проверял. Вдруг там смещения поменялись.

Пробовала все смещения Клиент с ошибкой вылетает : памят неможет быть read...... ну и тадалее
ПОМОГИТЕ ПЛИЗЗ
а то уже истерика с этим инжектом
  Ответить с цитированием
Старый 11.02.2012, 18:34   #103
 Разведчик
Аватар для samosi
 
samosi на правильном путиsamosi на правильном пути
Регистрация: 23.12.2011
Сообщений: 42
Популярность: 192
Сказал(а) спасибо: 26
Поблагодарили 11 раз(а) в 9 сообщениях
 
По умолчанию Re: [Руоф] Код для инжекта в память.

хМ можете кто то дать программу инжект пакетов на делпше буду очень признателен.
P.S. соурс а то я уже не понимаю в чем проблема с ошибками.

Цитата:
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;

type
TForm1 = class(TForm)
private
{ Private declarations }
public
{ Public declarations }
end;

type
PParams = ^TParams;
TParams = packed record
Packet: array [0..100] of byte;
Param1,Param2,Param3: DWord;
Param4: array [1..100] of widechar;
end;

const
PW_BASE_ADDRESS = $00B27A04;
PW_GAMERUN_ADDR = $00B280C4;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure InjectFunc(ProcessID: Cardinal; Func, aParams: Pointer;
aParamsSize: DWord);
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 PacketCall(aPParams:PParams); stdcall;
var
CallAddress,pPacketointer;
LenWord;
begin
CallAddress:=Pointer($006737B0);
Len:=aPParams^.Param1;
pPacket:=@aPParams^.Packet;
asm
pushad
mov ecx, dword ptr [PW_BASE_ADDRESS]
mov ecx, dword ptr [ecx+$34]
push Len
push pPacket
call CallAddress
popad
end;
end;

procedure StrToByte(Packet:string; var aParams:TParams);
var
i:integer;
begin
i:=(length(Packet) div 2)-1;
aParams.Param1:=i+1;
for i:=0 to i do
aParams.Packet[i]:=strtoint('$'+bytecode[i*2+1]+bytecode[i*2+2]);//тут ощыбка
end;

procedure Packet(Packet: string);
var
aParams: TParams;
begin
StrToByte(Packet,aParams);
InjectFunc(ProcessID,@PacketCall,@aParams,sizeof(a Params));//тут ощыбка
end;

end.


Последний раз редактировалось samosi; 11.02.2012 в 18:50.
  Ответить с цитированием
Старый 11.02.2012, 18:59   #104
Бандеровец
 Лейтенант-командор
Аватар для VeTaL_UA
 
VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(
Регистрация: 12.08.2010
Сообщений: 727
Популярность: 30569
Золото Zhyk.Ru: 1
Сказал(а) спасибо: 57
Поблагодарили 645 раз(а) в 386 сообщениях
Отправить сообщение для VeTaL_UA с помощью ICQ Отправить сообщение для VeTaL_UA с помощью Skype™
 
По умолчанию Re: [Руоф] Код для инжекта в память.

Цитата:
Сообщение от samosiПосмотреть сообщение
соурс а то я уже не понимаю в чем проблема с ошибками.

Можно узнать, а где ты в своём исхонике пакеты посылаешь? Объясню: в твоём исходнике пакет посылает процедура Packet, если ты заметил.
Код:
procedure Packet(Packet: string);
Я не вижу, где ты эту процедуру вызываешь.
________________
Принимаются пожертвования любых размеров в фонд поддержки начинающих программистов
Кошельки: WMZ - Z276844220882; WMR - R231028582939; WMU - U394136909210; ЯД - 410011494605270.

Perfect World: PWDatabaseScanner, Client, PWNickRenamer, PWClientRenamer, База логинов PW, Гайд по варУ, Зарабатываем репутацию.
Delphi: Авторизация на сайте с помощью Indy, Загрузка изображений с интернета в TImage с помощью Indy, Автоматическая смена стандартной версии Indy в Delphi на Indy 10.0.76 / 10.1.5, Основы парсинга с помощью Indy, Делаем Updater до программы с помощью Indy.
Other: ShowIP, FFUUU смайлы в QIP, Как играть в Minecraft (видеокурс), Как мы захватили человечество :D, Энергия в Лицемер/TopFace, PasGen.


  Ответить с цитированием
Старый 11.02.2012, 19:46   #105
 Разведчик
Аватар для samosi
 
samosi на правильном путиsamosi на правильном пути
Регистрация: 23.12.2011
Сообщений: 42
Популярность: 192
Сказал(а) спасибо: 26
Поблагодарили 11 раз(а) в 9 сообщениях
 
По умолчанию Re: [Руоф] Код для инжекта в память.

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

Опции темы

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

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

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

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

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

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

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