 |
Помогите разобраться с инжектом - Общение разработчиков - Программирование для Perfect World, общение и обсуждене разработок |
03.01.2013, 22:00
|
#1
|
|
|
|
Разведчик
|
 Регистрация: 02.01.2013
 Сообщений: 0
 Популярность: 10
 Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
|
Помогите разобраться с инжектом
Доброго времени суток.
Пытаюсь написать простой бот по материалам
- Как написать бота с нуля [Borland C++ Builder 6]
- "Поиск инжектов" или "Наш код в чужом процессе"
Конкретно споткнулся на функции, подбирающел лут.
По аналогии со примером "Поиск инжектов" нашел функцию 00681EE0 которая совпала с Pick=00681EE0 из "РУОФФ Адреса и оффсеты".
Далее у меня получилось примерно следующее:
Код:
void Target_loot(DWORD* WID, DWORD *type)
{
DWORD Id = *WID;
DWORD tp = *type;
__asm
{
MOV EAX, Id
MOV ECX, tp
MOV EBX, 0x681EE0
MOV EDX,DWORD PTR DS:[0xB4EF34]
PUSH EAX //Arg1
PUSH ECX //Arg2
MOV ECX,DWORD PTR DS:[EAX+0x20]
ADD ECX,0x0EC
CALL EBX // elementc.00681EE0
}
}
функцию преобразовал к
Код:
void INJECTOR::GetLoot(DWORD wid, DWORD type)
{
char fdata[28]= "\xB8\x00\x00\x00\x00\xB9\x00\x00\x00\x00\xBB\xE0\x1E\x68\x00\x50\x51\x8B\x48\x20\x81\xC1\xEC\x00\x00\x00\xFF\xD3";
memcpy(fdata+1,&wid,4);
memcpy(fdata+6,&type,4);
InjectFunction(&fdata,28);
}
BYTE INJECTOR::InjectFunction(void *Func, int len)
{
HANDLE hProcThread;
HANDLE hProcess=OpenProcess(PROCESS_ALL_ACCESS,false,pid);
if (!hProcess) return 0;
WriteProcessMemory(hProcess,pFunction,Func,len,NULL);
hProcThread = CreateRemoteThread(hProcess,NULL,NULL,(LPTHREAD_START_ROUTINE)pFunction,NULL,NULL,NULL);
if(hProcThread==INVALID_HANDLE_VALUE) // не удалось создать поток
{
CloseHandle(hProcess);
return 0;
}
WaitForSingleObject(hProcThread,INFINITE); // ожидаем завершения работы потока
CloseHandle(hProcThread); // освобождаем память
CloseHandle(hProcess);
return 1; // успешная инъекция и выполнение кода
}
77C5000E B8 00000000 MOV EAX,0
77C50013 B9 00000000 MOV ECX,0
77C50018 BB E01E6800 MOV EBX,681EE0
77C5001D 8B15 34EFB400 MOV EDX,DWORD PTR DS:[B4EF34]
77C50023 50 PUSH EAX
77C50024 51 PUSH ECX
77C50025 8B48 20 MOV ECX,DWORD PTR DS:[EAX+20]
77C50028 81C1 EC000000 ADD ECX,0EC
77C5002E FFD3 CALL EBX
Бот благополучно прибил ближайшего моба и при появлении лута клиент тутже упал...
Помогите пожалуйста разобраться что я здесь сделал не так.
PS: хотелось бы также выяснить как переписать код с использованием пакетов.
Спасибо.
|
|
|
31.01.2013, 21:20
|
#2
|
|
|
|
Пехотинец
|
 Регистрация: 21.03.2012
 Сообщений: 83
 Популярность: 1178
 Сказал(а) спасибо: 18
Поблагодарили 101 раз(а) в 53 сообщениях
|
Re: Помогите разобраться с инжектом
________________
╔═╗
║ ˑ ˑ ╬ ╬
╚═╝
|
|
|
01.02.2013, 00:47
|
#3
|
|
|
|
Лейтенант-командор
|
 Регистрация: 12.08.2010
 Сообщений: 727
 Популярность: 30569
 Золото Zhyk.Ru: 1
 Сказал(а) спасибо: 57
Поблагодарили 645 раз(а) в 386 сообщениях
|
Re: Помогите разобраться с инжектом
popad, pushad где?
________________
Принимаются пожертвования любых размеров в фонд поддержки начинающих программистов Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
Кошельки: 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.
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Похожие темы
|
Тема |
Автор |
Раздел |
Ответов |
Последнее сообщение |
[Уязвимость] Помогите с инжектом!! =(
|
Игорь =) |
Общение и обсуждение, архив Point Blank |
0 |
22.01.2012 11:02 |
Помогите с инжектом
|
MyP3uKKoTe |
Общение и обсуждение, архив Point Blank |
0 |
10.08.2011 21:48 |
Заявление об ответственности / Список мошенников
Часовой пояс GMT +4, время: 15:31.
|
 |