Перейти к содержанию

RockHammer

Пользователи+
  • Постов

    705
  • Зарегистрирован

  • Посещение

  • Победитель дней

    7

Сообщения, опубликованные RockHammer

  1. DWORD   cExMemory::FindSignature(DWORD base, DWORD size, byte* sign, char* mask){	MEMORY_BASIC_INFORMATION mbi = { 0 };	DWORD offset = 0;	while (offset < size)	{		VirtualQueryEx(this->pHandle, (LPCVOID)(base + offset), &mbi, sizeof(MEMORY_BASIC_INFORMATION));		if (mbi.State != MEM_FREE)		{			byte* buffer = new byte[mbi.RegionSize];			ReadProcessMemory(this->pHandle, mbi.BaseAddress, buffer, mbi.RegionSize, NULL);			for (size_t i = 0; i < mbi.RegionSize; i++)			{				if (DataCompare(buffer + i, sign, mask))				{					delete[] buffer;					return (DWORD)mbi.BaseAddress + i;				}			}			delete[] buffer;		}		offset += mbi.RegionSize;	}	return 0;}bool  cExMemory::DataCompare(byte* data, byte* sign, char* mask){	for (; *mask; mask++, sign++, data++)	{		if (*mask == 'x' && *data != *sign)			return false;	}	return true;}
    this->pHandle - передаешь хендл нужного процесса

    Ооо, Крайслер? Не ожидал увидеть тебя тут) 

    Спасибо за инфу)

  2. Не получается мне эту хрень написать..

    Лучше перевести это на DerectX с менюшкой , только я не умею.

    Ты бы получше посмотрел! Один мой друг выложил в паблик свою менюшку

    Но даже она тебе не поможет, если ты 2 + 2 сложить не можешь.

  3. Сделал свой трейнер на AS1.

    Версия игры: 1.02

    Таблетка: R.G. Meханики

    Опции:

    1) Бессмертие

    2) Бесконечное метательное оружие (заморозка)

     

    Дополнительно:

    1) Окно консоли с выводом действий (вкл-выкл функций)

    2) Горячая клавиша = F1 (она и вкл и выкл)

    Функционал скромный, но это лучше чем ничего :)

    Прикладываю так же исходный код. Малоли, кому-то захочется свои функции добавить.

     

    Скачать без регистрации и смс

    Вирус тотал не выкладываю, т.к. это .dll и все соурсы в архиве имеются.

    offtopic.gif Тем не менее, после инжекта ваш кампутер трансформируется, поднимет восстание, скажет речь и вдохновит всех на восстание роботов! Мультиварки, микроволновки, фен и даже чайник будут сражаться с людьми, захватят планету, провозгласят себя конституционной монархией и будут строить города на спинах людей и создавать армию из пылесосов! И всё это из-за дллки.
    • Плюс 1
  4.  

    выше DllMain:

    char KeySwitch01;char KeyStatus01;

    после "Sleep(75))"  весь кусок замени:

    char Key;Key = (GetAsyncKeyState(VK_F1) >> 8);if (KeySwitch01 != Key){KeySwitch01 = (Key);if (Key){if (!KeyStatus01){                Beep(100, 500);                printf("Health: ON \n Get Fun!!!");                VirtualProtect((LPVOID)addr, (size_t)5, PAGE_EXECUTE_READWRITE, &oldProtect);                memcpy((void*)addr, (PBYTE)"0x90, 0x90, 0x90, 0x90, 0x90", 5);                VirtualProtect((LPVOID)addr, 5, oldProtect, &oldProtect);KeyStatus01 = 1;} else {                Beep(300, 500);                printf("Health: OFF");                VirtualProtect((LPVOID)addr, (size_t)5, PAGE_EXECUTE_READWRITE, &oldProtect);                memcpy((void*)addr, (PBYTE)"\x89\x46\x14\x7D\x33", 5);                VirtualProtect((LPVOID)addr, 5, oldProtect, &oldProtect);KeyStatus01 = 0;}}}

    Получается, только на зажатой клавише будет работать функция?

  5. базу модуля нормально получи:

     

    #include "psapi.h"

     

    MODULEINFO ModuleInfo;

    GetModuleInformation(GetCurrentProcess(),GetModuleHandle(0),&ModuleInfo,sizeof(ModuleInfo));

    DWORD addr = FindPattern(ModuleInfo.lpBaseOfDll, ModuleInfo.SizeOfImage, (PBYTE)"\x89\x46\x14\x7D\x33", "xxxxx");

     

    или 0x1288000 это не размер? lol

    + выброси FindProcessByName. юзай GetCurrentProcess

    Спасибо, очень информативно! (P.s. в следующий раз заключай код в специальный тег)

    P.s.s. куда в твой код втыкать свой? Т.е. условие, если клавиша нажата - то нужно выполнить запись байтов. Куда её вставлять?

    P.s.s.s. компилятор ругается на твой код, "Использована неинициализированная переменная KeySwitch01 && KeyStatus01"

    char KeySwitch01;char KeyStatus01;char Key;Key = (GetAsyncKeyState(VK_F1) >> 8);if (KeySwitch01 != Key){KeySwitch01 = (Key);if (Key){if (!KeyStatus01){KeyStatus01 = 1;} else {KeyStatus01 = 0;}}}
  6. Исправил баг! Теперь вместо смены полярности в каждой ветке условия будет меняться полярность по своему, таким образом работа с функцией более приятна.

    Но появился ещё один баг... Незнаю с какой это стороны... Теперь когда меня бьют - игра вылетает. Т.е. что-то не так с функцией замены байтов...

  7. скопируй блок в котором ехе из проц. игры в трейнер и сканируй, так быстрее.. потом -база +база проц. игры = адрес

    ps в длл варианте легче в сотни раз чем в ехе при правильной планировке xD

    длл геморно инжектить и следить за инжектом

  8. Написал трейнер для AS1, на бессмертие. Всё примитивно: нашел значение, посмотрел что пишет, убил инструкцию, нашёл сижки, сделал трейнер на убийство инструкции.

    Трейнер примитивнейший. МОжет быть я что-то намудрил? Пишу на с++, .dll формат.

     

    Upd: Нашёл баг, у меня оказывается поиск сижек уходил в никуда. Удалил всю чепуху по поводу автоматического базового адреса, сделал свой кастомный. Ну и длинну скана увеличил.

    Образовался новый баг... Теперь при перехвате клавиши он делате сразу два условия. Т.е. и вкл и выкл, но останавливается на выкл.

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

    #include <windows.h>#include <TlHelp32.h>#include <fcntl.h>#include <stdio.h>#include <io.h>#include "Memory.h"using namespace std;DWORD WINAPI AS_thread(LPVOID);DWORD APIENTRY DllMain(HMODULE hModule, DWORD ul_reason, LPVOID lpReserved){	if (ul_reason == DLL_PROCESS_ATTACH)	{		CreateThread(NULL, NULL, AS_thread, NULL, NULL, NULL);	}	return true;}void CreateConsole(){	int hConHandle = 0;	HANDLE lStdHandle = 0;	FILE *fp = 0;	AllocConsole();	SetConsoleTitle("Assassin's Creed Cheat");	lStdHandle = GetStdHandle(STD_OUTPUT_HANDLE);	hConHandle = _open_osfhandle(PtrToUlong(lStdHandle), _O_TEXT);	fp = _fdopen(hConHandle, "w");	*stdout = *fp;	setvbuf(stdout, NULL, _IONBF, 0);}DWORD WINAPI AS_thread(LPVOID){	DWORD pID = FindProcessByName("AssassinsCreed_Dx10.exe");	DWORD oldProtect = 0;	bool switcher = false; //тут мы создаём наш переключатель	DWORD addr = FindPattern(0x401000, 0x1288000, (PBYTE)"\x89\x46\x14\x7D\x33", "xxxxx"); //сижка на поиск адреса	CreateConsole();// создаём консольку	printf("I am Starting!"); //и пишем, что всё нормально	for (;; Sleep(75))	{			if (GetAsyncKeyState(VK_F1) == true) //клавиша		{			switcher != switcher; //меняем полярность переменной, т.е. если true - то false, если false - то true			Beep(300, 500);			if (switcher == false) //выключенное состояние функции, т.е. оригинальные байты			{				Beep(300, 500);				printf("Health: OFF");				VirtualProtect((LPVOID)addr, (size_t)5, PAGE_EXECUTE_READWRITE, &oldProtect);				memcpy((void*)addr, (PBYTE)"\x89\x46\x14\x7D\x33", 5);				VirtualProtect((LPVOID)addr, 5, oldProtect, &oldProtect);			}			else if (switcher == true) //включенное состояние, затираем нупами.			{				Beep(100, 500);				printf("Health: ON \n Get Fun!!!");				VirtualProtect((LPVOID)addr, (size_t)5, PAGE_EXECUTE_READWRITE, &oldProtect);				memcpy((void*)addr, (PBYTE)"0x90, 0x90, 0x90, 0x90, 0x90", 5);				VirtualProtect((LPVOID)addr, 5, oldProtect, &oldProtect);			}		}	}} 
  9. Делать мне нечего, могу помочь если возникнут вопросы по конкретным вещам.

    Вот кстати урок от кодера про сканеры сигнатур (на плюсах)

    P.S. всё уже давно сделано за тебя, знай себе копипасти :-D

    Я и хочу копипастить! Урок этот от кодера, там приводится пример внутреннего хука. А мне нужен внешний...

  10. Что значит внешний?

    нужна теория...

    есть два вида хуков: внешние (создание собственного процесса, окна\консоли и из своего адресного пространства ты хукаешь игру) и внутренний (.dll файл инжектишь в процесс и дллка хукает игру).

    .dll файл эффективен, но он более геморный в плане использования. Хочу сделать внешний трейнер, чтобы из своего процесса хукать чужой. Такое возможно, инфа 168%

  11. Добрый день.

    После о-о-очень длительного отсутствия я наконец-таки собрал комп! Пока что без видеокарты, сижу на встроенке hd 4600. На ней идет только перывый AS на минималках.

    Итак, захотелось быть бессмертным. Нашел адрес здоровья (благо, он без шифрования и в 4 byte) и адресом жизни игрока занимается одна лишь инструкция, которая легко убивается.

    Захотелось написать трейнер. Внешний. У кого есть исходник внешнего сканера сигнатур? Поиск процесса, запись - имеется, не хватает только поиска байтов.

  12. У меня есть аим от Мonster Bytes http://takebin.com/f/eIZ7EudMwAflr/private/uWmqBMZC2fH8r3cUz9UCc9SJw0oQYqJW id:4F4C4C4F4C2D1F1A4F4C31323434383430,pass:G}xVvtEzuTvtFs|rwGu}s|Fv|p.И мне хотелось бы научиться делать такой же аим, я не полный нуб со взломом игр игру ломаю быстро :-D  но проблемы с волхаком и аимиом на юнити игры прошу помочь,научить делать аим на игры

    P.S:afro228offical я этот аим покупал за 800 руб. И я не хочу на халяву а желаю на учиться а если умееш помиги :closeyes:

    за 800р ????? Едрить, вы безрассудны, сударь!!! Тратить почти 1к на... аим? Да я за такие деньги лучшеб сам научился кодить аим, чем заплатил бы такие деньги "дяде". (не факт, что он честно продаст)

     

     

    Xipho: устное замечание за оффтоп, не заключенный в специальный тег.

    • Плюс 1
  13. Звучит настолько абсурдно, что даже не знаю.

    На одном только http://progopedia.ru/ описано 166 ЯП.

    Вундеркинд.

    Ты что? Может он действительно вундеркинд (что переводится с нем. как "чудный ребенок") и полностью изучил все ЯП! Быть может, мы разговариваем с будущей знаменитостью, в сфере программирования! 

    • Плюс 1
  14. Моральные и физические уроды...НАФ они нужны нам!?

    С чего ты взял, что можешь судить о пользе какого-либо слоя общества? Получается, ты рассуждаешь об избавлении от определенной группы людей => это делает ТЕБЯ моральным уродом (возможно физическим, никто не знает) => получается тебе нужно избавиться от самого себя. Будешь натирать веревку мылом, бери мыло dove - оно на четверть состоит из увлажняющего крема и не сушит кожу.

     

     

    p.s. прошло ровно 70 лет как Мы победили в войне против тебе-подобных. 

    • Плюс 2
×
×
  • Создать...

Важная информация

Находясь на нашем сайте, Вы автоматически соглашаетесь соблюдать наши Условия использования.