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

Инъекция нужного значения в клиент

-

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

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

Ответ
 
Опции темы
Старый 15.07.2012, 03:38   #1
 Разведчик
Аватар для vladoscom93
 
vladoscom93 никому не известный тип
Регистрация: 23.02.2011
Сообщений: 19
Популярность: 18
Сказал(а) спасибо: 30
Поблагодарили 4 раз(а) в 2 сообщениях
 
По умолчанию Инъекция нужного значения в клиент

Доброй ночи... Я научился отправлять пакеты в клиент наконец-то) Теперь хочу узнать как можно записать свои данные... например мне надо в каком-то поле написать текст как мне посоветовали его(текст) надо перевести в массив байт(как это сделать?)... Собственно вот цепочка офсетов по которым надо записать нужный текст:
Код:
GA + 18 + 08 + 74 + 1C8 + 04 + 04 + 04 + 04 + 04 + 04 + 04 + 04 + 08 + 13FC + 0
Работаю я в Delphi
  Ответить с цитированием
Старый 15.07.2012, 09:05   #2
 Пехотинец
Аватар для dwa83
 
dwa83 определенно авторитетная личностьdwa83 определенно авторитетная личностьdwa83 определенно авторитетная личностьdwa83 определенно авторитетная личностьdwa83 определенно авторитетная личностьdwa83 определенно авторитетная личностьdwa83 определенно авторитетная личностьdwa83 определенно авторитетная личностьdwa83 определенно авторитетная личность
Регистрация: 21.03.2012
Сообщений: 83
Популярность: 1178
Сказал(а) спасибо: 18
Поблагодарили 101 раз(а) в 53 сообщениях
 
По умолчанию Re: Инъекция нужного значения в клиент

Не стоит так делать. Нужно действовать так, инжектить строчку не по этому оффсету а по адресу в дополнительно выделенной памяти. А затем в ...+ 13FC поместить адрес заинжекченой строки. Тогда ...+ 13FC + 0 будет наша строка. Почему так? Потому что указатель на строку, находящийся в 13FC, не проинициализирован, когда поле ввода пустое, и будет указывать на ту же область памяти, на которую ссылаются другие пустые поля ввода по умолчанию. Если напрямую туда писать, то мы будем записывать строку ВО ВСЕ поля ввода, которые пусты. Потому и нужно указать конкретно, для определённого поля ввода адрес его строки.

И ещё, лучше не использовать оффсет +74, так как это активное окно, а активное окно может измениться, если вдруг пользователь начал тыкать по окнам в игре. Потому лучше искать адрес конкретного нужного окна по его имени. Загляни сюда
________________
╔═╗
ˑ ˑ ╬ ╬
╚═╝

Последний раз редактировалось dwa83; 15.07.2012 в 09:09.
  Ответить с цитированием
2 пользователя(ей) сказали cпасибо:
Nek1t (15.07.2012), vladoscom93 (27.07.2012)
Старый 15.07.2012, 15:04   #3
 Разведчик
Аватар для vladoscom93
 
vladoscom93 никому не известный тип
Регистрация: 23.02.2011
Сообщений: 19
Популярность: 18
Сказал(а) спасибо: 30
Поблагодарили 4 раз(а) в 2 сообщениях
 
По умолчанию Re: Инъекция нужного значения в клиент

такс я ничего не понял) значит еще рано лезть мне в структуру окон

Добавлено через 54 минуты
Цитата:
Сообщение от dwa83Посмотреть сообщение
Не стоит так делать. Нужно действовать так, инжектить строчку не по этому оффсету а по адресу в дополнительно выделенной памяти.

как это осуществить?

Добавлено через 5 часов 21 минуту
меня интересует как по этим структурам перемещаться... например как будет выглядеть код для этой структуры
Код:
GA+18+08
и что такое контрол?

Последний раз редактировалось vladoscom93; 15.07.2012 в 20:26. Причина: Добавлено сообщение
  Ответить с цитированием
Старый 16.07.2012, 01:01   #4
 Пехотинец
Аватар для dwa83
 
dwa83 определенно авторитетная личностьdwa83 определенно авторитетная личностьdwa83 определенно авторитетная личностьdwa83 определенно авторитетная личностьdwa83 определенно авторитетная личностьdwa83 определенно авторитетная личностьdwa83 определенно авторитетная личностьdwa83 определенно авторитетная личностьdwa83 определенно авторитетная личность
Регистрация: 21.03.2012
Сообщений: 83
Популярность: 1178
Сказал(а) спасибо: 18
Поблагодарили 101 раз(а) в 53 сообщениях
 
По умолчанию Re: Инъекция нужного значения в клиент

Цитата:
Сообщение от vladoscom93Посмотреть сообщение
как это осуществить?

Открываем процесс игры для доступа к его памяти
Выделяем там дополнительно память для хранения нашей строки
В нашей проге обьявляем символьный массив
Копируем этот символьный массив в выделенную в процессе память
Храним у себя указатель на эту строчку, чтобы потом использовать
Можно закрыть процесс, а можно оставить открытым на всё время работы

Цитата:
Сообщение от vladoscom93Посмотреть сообщение
например как будет выглядеть код для этой структуры
Код:

GA+18+08

Чтото типа этого
Код:
DWORD addr = GA;
ReadProcessMemory(hProcess,addr,addr,4,0);
ReadProcessMemory(hProcess,addr+0x18,addr,4,0);
ReadProcessMemory(hProcess,addr+0x08,addr,4,0);

Цитата:
Сообщение от vladoscom93Посмотреть сообщение
меня интересует как по этим структурам перемещаться...

считываем по оффсетам win = GA+18+08+8C - указатель на начало массива окон верхнего уровня(на первый элемент)
в первом элементе по оффсету winstruct = win+8 считываем адрес структуры этого окна
в структуре окна по оффсету winstruct + 4C +0 считываем строку с именем окна
Сравниваем с именем нужного нам окна, например Win_Elf (окно джина)
Если это наше окно, и имя сходится то запоминаем адрес его структуры winstruct
Если это не то окно, то берём следующее окно из массива по оффсету win = win+0
и снова
winstruct = win+8 считываем адрес структуры этого окна
в структуре окна по оффсету winstruct + 4C +0 считываем строку с именем окна
и так в цыкле пока не найдём нужное окно или пока не кончатся окна(win+0 будет указывать на null а не на следующее окно)

Если ничего не нашли, повторяем то же самое с массивом окон нижнего уровня.

После того как мы нашли нужное окно и запомнили адрес его структуры, мы берём в его структуре по оффсету +1C8 массив контролов(кнопки, чекбоксы, поля ввода, лейблы - все в одном массиве), то есть адрес его первого контрола
Control = WinStruct+1C8

Далее можно по оффсету Control +4 - взять указатель на следующий контрол, и так несколько раз в цыкле, пока не доберёмся до нужного(они всегда в одном и том же порядке в отличае от массива окон, потому достаточно знать его положение в массиве а не проверять по имени).
А затем когда мы нужный контрол нашли, считываем адрес его структуры
ControlStruct = Control + 8
После чего например можно в структуре этого контрола считать текст его команды(или в твоём случае адрес его Caption или EditText и подменить на адрес нашей строчки) и заинжектить специальную функцию, которая эту команду выполнит в клиенте, например нажмёт на кнопочку.
________________
╔═╗
ˑ ˑ ╬ ╬
╚═╝

Последний раз редактировалось dwa83; 16.07.2012 в 01:12.
  Ответить с цитированием
Пользователь сказал cпасибо:
vladoscom93 (27.07.2012)
Старый 16.07.2012, 11:03   #5
 Пехотинец
Аватар для Nek1t
 
Nek1t на правильном путиNek1t на правильном пути
Регистрация: 31.08.2010
Сообщений: 64
Популярность: 129
Сказал(а) спасибо: 30
Поблагодарили 12 раз(а) в 7 сообщениях
 
По умолчанию Re: Инъекция нужного значения в клиент

Цитата:
Сообщение от dwa83Посмотреть сообщение
После чего например можно в структуре этого контрола считать текст его команды(или в твоём случае адрес его Caption или EditText и подменить на адрес нашей строчки) и заинжектить специальную функцию, которая эту команду выполнит в клиенте, например нажмёт на кнопочку.

По поводу нажатия на кнопку. Можете пожалуйста подсказать, как это осуществить?
  Ответить с цитированием
Старый 16.07.2012, 11:09   #6
-= Мастер Света =-
 Рыцарь-капитан
Аватар для krukovis
 
krukovis гордость нацииkrukovis гордость нацииkrukovis гордость нацииkrukovis гордость нацииkrukovis гордость нацииkrukovis гордость нацииkrukovis гордость нацииkrukovis гордость нацииkrukovis гордость нацииkrukovis гордость нацииkrukovis гордость нации
Регистрация: 07.10.2009
Сообщений: 496
Популярность: 2687
Сказал(а) спасибо: 64
Поблагодарили 324 раз(а) в 104 сообщениях
 
По умолчанию Re: Инъекция нужного значения в клиент

Цитата:
Сообщение от Nek1tПосмотреть сообщение
По поводу нажатия на кнопку. Можете пожалуйста подсказать, как это осуществить?

А давайте сначала сделаем все что выше, а потом, кто сделает, в виде бонуса получит волшебную функцию.
________________
--------------------------------------------
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 работающий с включенной игрой.
--------------------------------------------
  Ответить с цитированием
Пользователь сказал cпасибо:
vladoscom93 (27.07.2012)
Старый 16.07.2012, 11:31   #7
 Пехотинец
Аватар для Nek1t
 
Nek1t на правильном путиNek1t на правильном пути
Регистрация: 31.08.2010
Сообщений: 64
Популярность: 129
Сказал(а) спасибо: 30
Поблагодарили 12 раз(а) в 7 сообщениях
 
По умолчанию Re: Инъекция нужного значения в клиент

Цитата:
Сообщение от krukovisПосмотреть сообщение
А давайте сначала сделаем все что выше, а потом, кто сделает, в виде бонуса получит волшебную функцию.

В таком случаем не могли бы вы мне помочь?
Код:
WriteProcessMemory(hProcess,pString,(void*)login,1 8,NULL);
WriteProcessMemory(hProcess, (void*)buff, pString,4,NULL);

По идее в результате выполнения в поле логина должна оказаться строка, но этого не происходит. Тем не менее если вручную через СЕ записываю по нужному адресу pString то строка отображается.
  Ответить с цитированием
Старый 16.07.2012, 16:20   #8
-= Мастер Света =-
 Рыцарь-капитан
Аватар для krukovis
 
krukovis гордость нацииkrukovis гордость нацииkrukovis гордость нацииkrukovis гордость нацииkrukovis гордость нацииkrukovis гордость нацииkrukovis гордость нацииkrukovis гордость нацииkrukovis гордость нацииkrukovis гордость нацииkrukovis гордость нации
Регистрация: 07.10.2009
Сообщений: 496
Популярность: 2687
Сказал(а) спасибо: 64
Поблагодарили 324 раз(а) в 104 сообщениях
 
По умолчанию Re: Инъекция нужного значения в клиент

Nek1t, прочитайте еще раз все что написал dwa83.

Чтобы поместить строку в память нужно:
1) Выделить память с помощью функции VirtualAllocEx. Функция возвращает адрес выделенной области.
2) Преобразовать каждый символ строки в число = 1 байту, если это ASCII кодировка или = 2 байтам, если это UNICODE кодировка. Составить из этих байтов массив типа byte, где каждый член массива = 1 байту.
3) Записать этот массив в память с помощью WriteProcessMemory по адресу полученному с помощью VirtualAllocEx.

Вопросы?
________________
--------------------------------------------
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 работающий с включенной игрой.
--------------------------------------------
  Ответить с цитированием
Старый 16.07.2012, 16:23   #9
 Пехотинец
Аватар для Nek1t
 
Nek1t на правильном путиNek1t на правильном пути
Регистрация: 31.08.2010
Сообщений: 64
Популярность: 129
Сказал(а) спасибо: 30
Поблагодарили 12 раз(а) в 7 сообщениях
 
По умолчанию Re: Инъекция нужного значения в клиент

Цитата:
Сообщение от krukovisПосмотреть сообщение
Nek1t, прочитайте еще раз все что написал dwa83.

Чтобы поместить строку в память нужно:
1) Выделить память с помощью функции VirtualAllocEx. Функция возвращает адрес выделенной области.
2) Преобразовать каждый символ строки в число = 1 байту, если это ASCII кодировка или = 2 байтам, если это UNICODE кодировка. Составить из этих байтов массив типа byte, где каждый член массива = 1 байту.
3) Записать этот массив в память с помощью WriteProcessMemory по адресу полученному с помощью VirtualAllocEx.

Вопросы?

Вообщем то я так и сделал.
  Ответить с цитированием
Старый 16.07.2012, 17:51   #10
 Пехотинец
Аватар для dwa83
 
dwa83 определенно авторитетная личностьdwa83 определенно авторитетная личностьdwa83 определенно авторитетная личностьdwa83 определенно авторитетная личностьdwa83 определенно авторитетная личностьdwa83 определенно авторитетная личностьdwa83 определенно авторитетная личностьdwa83 определенно авторитетная личностьdwa83 определенно авторитетная личность
Регистрация: 21.03.2012
Сообщений: 83
Популярность: 1178
Сказал(а) спасибо: 18
Поблагодарили 101 раз(а) в 53 сообщениях
 
По умолчанию Re: Инъекция нужного значения в клиент

а в buff у тебя - адрес оффсета 13FC? или 13FC+0?

берём адрес нашей строчки(указатель)
DWORD* pString;
//инжектим строку и помещаем сюда наш адрес, например
AnsiString login="login";
// переписываем в массив в виде юникода
char mass[30]={0};
for (int i=0; i<login.Length(); i++)
mass[i*2]=login[i+1];
// теперь инжектим(процесс уже открыт)
WriteProcessMemory(hProcess,pString,mass,30,NULL); // вместе с лишними нулями

//теперь считаем нужный оффсет в структуре нужного контрола
DWORD addr=GA;
ReadProcessMemory(hProcess, (void*)addr, &addr,4,0);
...
...
тут поиск нужного окна и нахождение адреса структуры winstruct нужного окна
...

// далее найдём нужный контрол по его порядковому номеру в массиве
// Read_32() - немного преобразованная ReadProcessMemory

addr = Read_32(winstruct+0x1C8);
for (int i=0; i<nomctrl; i++) // в цикле добираемся до нужного контрола
addr = Read_32(addr+0x04);
addr = Read_32(addr+0x08);// считываем адрес его структуры

ReadProcessMemory(hProcess, (void*)(addr+0x13FC), (DWORD)pString,4,0); // подменяем указатель на свой


Всё, строка появилась в поле ввода
________________
╔═╗
ˑ ˑ ╬ ╬
╚═╝

Последний раз редактировалось dwa83; 16.07.2012 в 18:37.
  Ответить с цитированием
Пользователь сказал cпасибо:
vladoscom93 (27.07.2012)
Старый 16.07.2012, 17:52   #11
-= Мастер Света =-
 Рыцарь-капитан
Аватар для krukovis
 
krukovis гордость нацииkrukovis гордость нацииkrukovis гордость нацииkrukovis гордость нацииkrukovis гордость нацииkrukovis гордость нацииkrukovis гордость нацииkrukovis гордость нацииkrukovis гордость нацииkrukovis гордость нацииkrukovis гордость нации
Регистрация: 07.10.2009
Сообщений: 496
Популярность: 2687
Сказал(а) спасибо: 64
Поблагодарили 324 раз(а) в 104 сообщениях
 
По умолчанию Re: Инъекция нужного значения в клиент

Цитата:
Сообщение от Nek1tПосмотреть сообщение
Вообщем то я так и сделал.

Нужно сделать функцию которая бы принимала текстовое значение и кодировку, а возвращала адрес записанного в память массива байт в соответствующей кодировке. Код покажешь?
________________
--------------------------------------------
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 работающий с включенной игрой.
--------------------------------------------
  Ответить с цитированием
Старый 16.07.2012, 18:11   #12
 Пехотинец
Аватар для Nek1t
 
Nek1t на правильном путиNek1t на правильном пути
Регистрация: 31.08.2010
Сообщений: 64
Популярность: 129
Сказал(а) спасибо: 30
Поблагодарили 12 раз(а) в 7 сообщениях
 
По умолчанию Re: Инъекция нужного значения в клиент

Цитата:
Сообщение от krukovisПосмотреть сообщение
Нужно сделать функцию которая бы принимала текстовое значение и кодировку, а возвращала адрес записанного в память массива байт в соответствующей кодировке. Код покажешь?

Код:
DWORD READER::setLogin(wchar_t* login)
{
	DWORD buff
	buff = Read_32(BA);
	buff = Read_32(buff+D_GA);
	buff = Read_32(buff+0x18);
	buff = Read_32(buff+0x8);
	buff = Read_32(buff+0xAC);
	buff = Read_32(buff+0x8);
	buff = Read_32(buff+0x1C8);
	buff = Read_32(buff+0x4);
	buff = Read_32(buff+0x4);
	buff = Read_32(buff+0x4);
	buff = Read_32(buff+0x4);
	buff = Read_32(buff+0x4);
	buff = Read_32(buff+0x4);
	buff = Read_32(buff+0x4);
	buff = Read_32(buff+0x4);
	buff = Read_32(buff+0x8);
	buff = Read_32(buff+0x13FC);
	HANDLE hProcess=OpenProcess(PROCESS_ALL_ACCESS,false,pid);
	WriteProcessMemory(hProcess,pString,(void*)login,18,NULL);
	WriteProcessMemory(hProcess, (void*)buff, pString,4,NULL);
	return (DWORD)pString;
}
  Ответить с цитированием
Старый 16.07.2012, 19:00   #13
 Пехотинец
Аватар для dwa83
 
dwa83 определенно авторитетная личностьdwa83 определенно авторитетная личностьdwa83 определенно авторитетная личностьdwa83 определенно авторитетная личностьdwa83 определенно авторитетная личностьdwa83 определенно авторитетная личностьdwa83 определенно авторитетная личностьdwa83 определенно авторитетная личностьdwa83 определенно авторитетная личность
Регистрация: 21.03.2012
Сообщений: 83
Популярность: 1178
Сказал(а) спасибо: 18
Поблагодарили 101 раз(а) в 53 сообщениях
 
По умолчанию Re: Инъекция нужного значения в клиент

buff = Read_32(buff+0x13FC); сюда уже записать надо а не считывать
________________
╔═╗
ˑ ˑ ╬ ╬
╚═╝
  Ответить с цитированием
Старый 16.07.2012, 23:58   #14
 Пехотинец
Аватар для Nek1t
 
Nek1t на правильном путиNek1t на правильном пути
Регистрация: 31.08.2010
Сообщений: 64
Популярность: 129
Сказал(а) спасибо: 30
Поблагодарили 12 раз(а) в 7 сообщениях
 
По умолчанию Re: Инъекция нужного значения в клиент

Цитата:
Сообщение от dwa83Посмотреть сообщение
buff = Read_32(buff+0x13FC); сюда уже записать надо а не считывать

Получается так?
Код:
	....
	buff = buff+0x13FC;
	HANDLE hProcess=OpenProcess(PROCESS_ALL_ACCESS,false,pid);
	WriteProcessMemory(hProcess,pString,(void*)login,18,NULL);
	WriteProcessMemory(hProcess, (void*)buff, pString,4,NULL);
  Ответить с цитированием
Старый 17.07.2012, 01:56   #15
 Пехотинец
Аватар для dwa83
 
dwa83 определенно авторитетная личностьdwa83 определенно авторитетная личностьdwa83 определенно авторитетная личностьdwa83 определенно авторитетная личностьdwa83 определенно авторитетная личностьdwa83 определенно авторитетная личностьdwa83 определенно авторитетная личностьdwa83 определенно авторитетная личностьdwa83 определенно авторитетная личность
Регистрация: 21.03.2012
Сообщений: 83
Популярность: 1178
Сказал(а) спасибо: 18
Поблагодарили 101 раз(а) в 53 сообщениях
 
По умолчанию Re: Инъекция нужного значения в клиент

да, по указателю пишем указатель, а не так как раньше ты показывал, уже в данные строки писал указатель
Если не получится, попробуй не pString а (void*)(&pString )

Добавлено через 36 минут
пользуйся
Код:
//_________________________________________________________________
//                         ОКНА
//__________________________________________________________________


// Получение адреса структуры окна
DWORD READER::WinStruct(AnsiString winname)
{
  DWORD arr = Read_32(GA);
  arr = Read_32(arr+0x18);
  arr = Read_32(arr+0x08);
  DWORD addr = Read_32(arr+0xAC);

  while (addr!=NULL)
  {
    DWORD next = Read_32(addr);
    addr = Read_32(addr+0x08);
    DWORD result = addr;
    addr = Read_32(addr+0x4C);

    char mass[20]={0};
    Read_Mass(addr,mass,20);
    AnsiString name=mass;
    if (name==winname) return result;
    addr = next;
  }

  addr = Read_32(arr+0x8C);
  while (addr!=NULL)
  {
    DWORD next = Read_32(addr);
    addr = Read_32(addr+0x08);
    DWORD result = addr;
    addr = Read_32(addr+0x4C);

    char mass[20]={0};
    Read_Mass(addr,mass,20);
    AnsiString name=mass;
    if (name==winname) return result;
    addr = next;
  }
  return 0;
}

// параметры окон
BYTE READER::WinVisible(AnsiString name){DWORD buff=WinStruct(name); if (buff) return Read_8(buff+0x90); return 0;}
void READER::WinVisible(AnsiString name, bool state){DWORD buff = WinStruct(name); if (buff) Write_8(buff+0x90,state);}

//_________________________________________________________________
//                         КОНТРОЛЫ
//__________________________________________________________________

DWORD READER::CtrlCommandAddr(DWORD winstruct, int nomctrl)
{
  DWORD addr = Read_32(winstruct+0x1C8);
  for (int i=0; i<nomctrl; i++)
  addr = Read_32(addr+0x04);
  addr = Read_32(addr+0x08);
  return Read_32(addr+0x1C);
}

void READER::CtrlCheck(DWORD winstruct, int nomctrl, bool state)
{
  DWORD addr = Read_32(winstruct+0x1C8);
  for (int i=0; i<nomctrl; i++)
  addr = Read_32(addr+0x04);
  addr = Read_32(addr+0x08);
  Write_8(addr+0x121,state);
}

DWORD READER::CtrlEditTextPtr(DWORD winstruct, int nomctrl)
{  
  DWORD addr = Read_32(winstruct+0x1C8);
  for (int i=0; i<nomctrl; i++)
  addr = Read_32(addr+0x04);
  addr = Read_32(addr+0x08);
  return addr+0x13FC;
}

//_________________________________________________________________
// Установка чекбокса "усиленно"
void READER::CheckHard(bool state)
{
  CtrlCheck(WinStruct("Win_Login"),6,state);
}

ввод логина пароля
Код:
client.mem.Write_32(client.mem.CtrlEditTextPtr(client.mem.WinStruct("Win_Login"),8),(DWORD)client.inject.pLogin);
client.mem.Write_32(client.mem.CtrlEditTextPtr(client.mem.WinStruct("Win_Login"),10),(DWORD)client.inject.pPass);

void* pLogin; // Память для строки логина
void* pPass; // Память для строки пароля

[Ссылки могут видеть только зарегистрированные пользователи. ]
Вложения
Тип файла: rar ControlScaner.rar (243.2 Кб, 287 просмотров)
________________
╔═╗
ˑ ˑ ╬ ╬
╚═╝

Последний раз редактировалось dwa83; 23.07.2012 в 00:24. Причина: Добавлено сообщение
  Ответить с цитированием
2 пользователя(ей) сказали cпасибо:
Nek1t (17.07.2012), vladoscom93 (27.07.2012)
Ответ

Опции темы

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Расчет нужного кол-ва побед rallySasha85 Общение и обсуждение по World of Tanks 2 30.05.2012 05:25
[Статья] SQL инъекция 6a4a Баги и читы Lineage 2 48 01.02.2011 16:44
[Уязвимость] [VIP] Инъекция некоторых птс Hummel Подполье Lineage 2 (0 уровень) 0 22.11.2008 20:01

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

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

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