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

РУОФФ Адреса и оффсеты

-

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

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

Ответ
 
Опции темы
Старый 07.07.2013, 21:29   #946
 Сержант
Аватар для BritishColonist
 
BritishColonist излучает ауруBritishColonist излучает ауруBritishColonist излучает ауруBritishColonist излучает ауруBritishColonist излучает ауруBritishColonist излучает ауру
Регистрация: 11.12.2010
Сообщений: 110
Популярность: 541
Сказал(а) спасибо: 5
Поблагодарили 66 раз(а) в 39 сообщениях
 
По умолчанию Re: РУОФФ Адреса и оффсеты

Цитата:
Сообщение от tiandduПосмотреть сообщение
Цитата:
Сообщение от BritishColonist

есть функция, которая, принимая WID игрока/моба/NPC, возвращает адрес начала его структуры (а если не находит, возвращает 0)


поделитесь у кого есть


Да без проблем. Функция поиска адреса структуры (персонажа/монстра/NPC) по WId:

Код:
MOV ECX,DWORD PTR DS:[0B8FBCC] // BA
PUSH 0                        
PUSH EDI                      // WId цели
MOV EDX,DWORD PTR DS:[ECX+1C] 
MOV ECX,DWORD PTR DS:[EDX+1C] 
CALL 004337A0                 
TEST EAX,EAX               // результат в EAX, если 0, то адрес не найден
Просто выдрал это из клиента игры. Думаю, с составлением инжекта проблем не будет.
________________
Принимаю реквесты на статьи, программы. Всё будет запилено в лучшем виде :3
  Ответить с цитированием
Старый 08.07.2013, 13:48   #947
 Разведчик
Аватар для mazytus
 
mazytus на правильном путиmazytus на правильном пути
Регистрация: 24.07.2011
Сообщений: 17
Популярность: 140
Сказал(а) спасибо: 1
Поблагодарили 3 раз(а) в 3 сообщениях
 
По умолчанию Re: РУОФФ Адреса и оффсеты

1.4.7 +12E4 - количество голда в шопе
  Ответить с цитированием
Старый 08.07.2013, 19:46   #948
 Разведчик
Аватар для grain12
 
grain12 никому не известный тип
Регистрация: 23.02.2011
Сообщений: 1
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
 
По умолчанию Re: РУОФФ Адреса и оффсеты

люди нужен оффсет на офф версию для FlyWQ
  Ответить с цитированием
Старый 10.07.2013, 23:49   #949
 Пехотинец
Аватар для tianddu
 
tianddu на правильном путиtianddu на правильном пути
Регистрация: 20.08.2009
Сообщений: 90
Популярность: 173
Сказал(а) спасибо: 14
Поблагодарили 26 раз(а) в 8 сообщениях
 
По умолчанию Re: РУОФФ Адреса и оффсеты

Цитата:
Сообщение от BritishColonistПосмотреть сообщение
Да без проблем. Функция поиска адреса структуры (персонажа/монстра/NPC) по WId:

Код:
MOV ECX,DWORD PTR DS:[0B8FBCC] // BA
PUSH 0                        
PUSH EDI                      // WId цели
MOV EDX,DWORD PTR DS:[ECX+1C] 
MOV ECX,DWORD PTR DS:[EDX+1C] 
CALL 004337A0                 
TEST EAX,EAX               // результат в EAX, если 0, то адрес не найден
Просто выдрал это из клиента игры. Думаю, с составлением инжекта проблем не будет.

чее то не идет... крашится клиент..
procedure TargetCall(aPParams:PParams);Stdcall; //StdCall - îáÿçàòåëüíî, óêàçûâàåò ÷òî àðãóìåíòû ïîïàäàþò â ñòåê â îáðàòíîì (ñòàíäàðòíîì) ïîðÿäêå
var //
P1,P2: DWord;
CallAddress1:Pointer; //
begin //
P1:=aPParams^.WID; //
P2 := 1;
CallAddress1:=Pointer($004337A0);
asm
pushad
MOV EDI, P1 // Âíîñèì WID ìîáà/÷àðà â ðåãèñòð EDI
mov ecx, dword ptr [$0B8FBCC] //
PUSH 0
PUSH EDI // ; /Arg1
mov edx, dword ptr [ECX+$1C]
mov ecx, dword ptr [EDX+$1C] // ; |
CALL CallAddress1
TEST EAX,EAX
MOV P2, EDI
popad
end;
ShowMessage(string(P2));
end;

procedure TForm1.btn1Click(Sender: TObject);
var aParams: TParams;
begin
aParams.Param1 := 8273745;
InjectFunc(hProcess,@TargetCall,@aParams,sizeof(aP arams));
end;
не в той теме конешно нужно в инжект переехать...
  Ответить с цитированием
Старый 11.07.2013, 16:40   #950
 Сержант
Аватар для BritishColonist
 
BritishColonist излучает ауруBritishColonist излучает ауруBritishColonist излучает ауруBritishColonist излучает ауруBritishColonist излучает ауруBritishColonist излучает ауру
Регистрация: 11.12.2010
Сообщений: 110
Популярность: 541
Сказал(а) спасибо: 5
Поблагодарили 66 раз(а) в 39 сообщениях
 
По умолчанию Re: РУОФФ Адреса и оффсеты

tianddu, я уверен на 146% в том, что причина краша - ShowMessage.
Адрес функции берётся из основного приложения, а вызов происходит из клиента игры. Соответственно, в клиенте игры по этому адресу функции ShowMessage нет.
И ещё. test eax,eax служит для проверки. Если вы проверку осуществляете после инжекта, то её надо делать в самой программе, а не в ассемблерной вставке.
И ещё. Как возвратить результат из заинжектенного кода - я не знаю. Возможно, с помощью GetExitCodeThread (функция возвращает 4-байтовое значение, которое по идее означает результат выполнения функции-потока). Однако, насчёт данного случая я не уверен.
И вообще, если хотите стопроцентно правильно выполнить этот код с получением результата, то гораздо проще будет просто внедрить DLL, откуда и выполнить код (без инжекта кода).
________________
Принимаю реквесты на статьи, программы. Всё будет запилено в лучшем виде :3

Последний раз редактировалось BritishColonist; 11.07.2013 в 16:44.
  Ответить с цитированием
Старый 12.07.2013, 22:07   #951
 Пехотинец
Аватар для tianddu
 
tianddu на правильном путиtianddu на правильном пути
Регистрация: 20.08.2009
Сообщений: 90
Популярность: 173
Сказал(а) спасибо: 14
Поблагодарили 26 раз(а) в 8 сообщениях
 
По умолчанию Re: РУОФФ Адреса и оффсеты

BritishColonist, ну я с асемблером не знаком особо...по этому не знаю как считывать данные из асемблера.. DLL для меня вообще лес дремучий(
  Ответить с цитированием
Старый 20.07.2013, 11:09   #952
-= Мастер Света =-
 Рыцарь-капитан
Аватар для Ginrey
 
Ginrey троюродный дядя Чака НоррисаGinrey троюродный дядя Чака НоррисаGinrey троюродный дядя Чака НоррисаGinrey троюродный дядя Чака НоррисаGinrey троюродный дядя Чака НоррисаGinrey троюродный дядя Чака НоррисаGinrey троюродный дядя Чака НоррисаGinrey троюродный дядя Чака НоррисаGinrey троюродный дядя Чака НоррисаGinrey троюродный дядя Чака НоррисаGinrey троюродный дядя Чака Норриса
Регистрация: 14.06.2012
Сообщений: 511
Популярность: 7566
Сказал(а) спасибо: 4
Поблагодарили 181 раз(а) в 88 сообщениях
 
По умолчанию Re: РУОФФ Адреса и оффсеты

Цитата:
Сообщение от tiandduПосмотреть сообщение
BritishColonist, ну я с асемблером не знаком особо...по этому не знаю как считывать данные из асемблера.. DLL для меня вообще лес дремучий(

тогда вам трудно придется
________________
Хотите как то отблагодарить за помощь?
Не стесняйтесь нажимайте "Спасибо"

Делаю программы на заказ, по всем вопросам в скайп: Ginrey2
  Ответить с цитированием
Старый 20.07.2013, 11:37   #953
 Разведчик
Аватар для Siroko
 
Siroko никому не известный тип
Регистрация: 03.10.2012
Сообщений: 5
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
 
По умолчанию Re: РУОФФ Адреса и оффсеты

Тут упоминался FlySpeedStart/Быстрый взлет. Подскажите пжлста, в какую сторону копать, чтобы понять принцип работы.
  Ответить с цитированием
Старый 20.07.2013, 16:46   #954
 Разведчик
Аватар для fds255
 
fds255 скоро будет известенfds255 скоро будет известенfds255 скоро будет известенfds255 скоро будет известенfds255 скоро будет известен
Регистрация: 23.06.2012
Сообщений: 43
Популярность: 427
Сказал(а) спасибо: 18
Поблагодарили 59 раз(а) в 35 сообщениях
 
По умолчанию Re: РУОФФ Адреса и оффсеты

sumikot, подредактируй немного:
...
+1154 ActiveSkillArray /Массив умений/
+1158 ActiveSkillCnt
+116С PassiveSkillArray
+1170 PassiveSkillCnt
...
________________
MultiXBot
MultiX_POT
  Ответить с цитированием
Старый 20.07.2013, 17:25   #955
-= Мастер Света =-
 Рыцарь-лейтенант
Аватар для 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: РУОФФ Адреса и оффсеты

Цитата:
Сообщение от SirokoПосмотреть сообщение
Тут упоминался FlySpeedStart/Быстрый взлет. Подскажите пжлста, в какую сторону копать, чтобы понять принцип работы.

Могу помочь только оффсетом скорости перса на земле и в полете (правда на версию 1.3.6)
Код:
+86С, float (в метрах/с)
Аналогично можно найти для 1.4.4-1.4.6+.
________________
Больше не занимаюсь читами, ушёл в серверную часть. Новый ник - int 3.
P.S. Но я всё такой же добрый модератор раздела PW.
  Ответить с цитированием
Старый 06.08.2013, 06:32   #956
 Разведчик
Аватар для foradey83
 
foradey83 никому не известный тип
Регистрация: 01.08.2013
Сообщений: 6
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
 
По умолчанию Re: РУОФФ Адреса и оффсеты

ReadProcessMemory(Local_hProc,ptr($00B9029C),@data ,sizeof(data),rw);
ReadProcessMemory(Local_hProc,ptr(data+$34),@data, sizeof(data),rw);
ReadProcessMemory(Local_hProc,ptr(data+$0670),@dat a,sizeof(data),rw);
ReadProcessMemory(Local_hProc,ptr(data),@str,32,rw );
Result:=str;
Label2.Caption := String(str);

Подскажите в чем ошибка сделала согласно ответа на стр6 но выводится моментально меняющиеся знаение из цифр.
  Ответить с цитированием
Старый 06.08.2013, 12:22   #957
Бандеровец
 Лейтенант-командор
Аватар для 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: РУОФФ Адреса и оффсеты

foradey83, смотри тут.
________________
Принимаются пожертвования любых размеров в фонд поддержки начинающих программистов
Кошельки: 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.


  Ответить с цитированием
Старый 08.08.2013, 00:09   #958
 Разведчик
Аватар для Alekill
 
Alekill на правильном пути
Регистрация: 02.10.2009
Сообщений: 10
Популярность: 28
Сказал(а) спасибо: 22
Поблагодарили 9 раз(а) в 5 сообщениях
 
По умолчанию Re: РУОФФ Адреса и оффсеты

Пробую на C++ написать, получить ХП, что не так? Выводит бред, а не ХП. Base адресс и смещение HP правильные, а вот насчет остальных смещений я не уверен, запутался маленько.

Код:
#include <iostream>
#include <Windows.h>
#pragma  comment(lib, "user32.lib")
using namespace std;

int main()
{
	HWND hwnd = FindWindow(0, L"Free-PW");
	DWORD proc_id;
	GetWindowThreadProcessId(hwnd, &proc_id);
	HANDLE handle = OpenProcess(PROCESS_ALL_ACCESS, FALSE, proc_id);

	DWORD base = 0x00B8FBCC;
	DWORD hpoffset = 0x494;

	int hp = 0;
	ReadProcessMemory(handle, (LPCVOID)(base + 0x1C + 0x34 + hpoffset), &hp, 4, NULL);

	cout << "HP = " << hp;
	cin.get();
}
________________
Подпись нарушает п.28 правил.

Последний раз редактировалось Alekill; 08.08.2013 в 01:12.
  Ответить с цитированием
Старый 08.08.2013, 01:18   #959
 Сержант
Аватар для BritishColonist
 
BritishColonist излучает ауруBritishColonist излучает ауруBritishColonist излучает ауруBritishColonist излучает ауруBritishColonist излучает ауруBritishColonist излучает ауру
Регистрация: 11.12.2010
Сообщений: 110
Популярность: 541
Сказал(а) спасибо: 5
Поблагодарили 66 раз(а) в 39 сообщениях
 
По умолчанию Re: РУОФФ Адреса и оффсеты

Alekill, лучше писать по таким вопросам в разделе "обсуждения".
А если по существу: вы по ходу дела совершенно не в курсе, как обстоят дела с динамической памятью.
У нас есть базовый адрес BA, мы читаем из него значение. К значению добавляем смещение, читаем из нового значения. К новому - добавляем следующее смещение и так вплоть до конечного значения.
________________
Принимаю реквесты на статьи, программы. Всё будет запилено в лучшем виде :3
  Ответить с цитированием
Старый 08.08.2013, 01:32   #960
 Разведчик
Аватар для Alekill
 
Alekill на правильном пути
Регистрация: 02.10.2009
Сообщений: 10
Популярность: 28
Сказал(а) спасибо: 22
Поблагодарили 9 раз(а) в 5 сообщениях
 
По умолчанию Re: РУОФФ Адреса и оффсеты

Разобрался. Получение ХП и координат на C++, если кому-то нужно:
Код:
#include <iostream>
#include <Windows.h>
#pragma  comment(lib, "user32.lib")
using namespace std;

int main()
{
	HWND hwnd = FindWindow(0, L"Perfect World);  // Название окна
	DWORD proc_id;
	GetWindowThreadProcessId(hwnd, &proc_id);
	HANDLE handle = OpenProcess(PROCESS_ALL_ACCESS, FALSE, proc_id);

	DWORD base = 0x00B8FBCC;
	DWORD pointed;
	DWORD pointer = 0;

	DWORD hpoffset = 0x494;
	DWORD xoffset = 0x03C;
        DWORD yoffset = 0x044;
	DWORD zoffset = 0x040;

	int hp = 0;
	float x = 0;
	float y = 0;
	float z = 0;

	ReadProcessMemory(handle, (LPCVOID)(base), &pointed, 4, NULL);
	pointed+= 0x1C;
	ReadProcessMemory(handle, (LPCVOID)(pointed), &pointed, 4, NULL);
	pointed += 0x34;
	ReadProcessMemory(handle, (LPCVOID)(pointed), &pointer, 4, NULL);

	ReadProcessMemory(handle, (LPCVOID)(pointer + hpoffset), &hp, 4, NULL);
	ReadProcessMemory(handle, (LPCVOID)(pointer + xoffset), &x, 4, NULL);
	ReadProcessMemory(handle, (LPCVOID)(pointer + yoffset), &y, 4, NULL);
	ReadProcessMemory(handle, (LPCVOID)(pointer + zoffset), &z, 4, NULL);

	cout << "HP = " << hp << endl;
	cout << "X = " << x << endl;
	cout << "Y = " << y << endl;
	cout << "Z = " << z << endl;
	cin.get();
}
Только моба выделенного не могу прочитать, что-то с смещениям не-то наверно. Подскажите, если кто найдет ошибку. Пытаюсь получить его уровень.
Код:
#include <iostream>
#include <Windows.h>
#pragma  comment(lib, "user32.lib")
using namespace std;

int main()
{
	HWND hwnd = FindWindow(0, L"Perfect World");  // Название окна
	DWORD proc_id;
	GetWindowThreadProcessId(hwnd, &proc_id);
	HANDLE handle = OpenProcess(PROCESS_ALL_ACCESS, FALSE, proc_id);

	DWORD base = 0x00B8FBCC;
	DWORD pointed;
	DWORD pointer = 0;

	  DWORD mobpointed;
	  DWORD mobpointer = 0;

	DWORD hpoffset = 0x494;
	DWORD xoffset = 0x03C;
        DWORD yoffset = 0x044;
	DWORD zoffset = 0x040;
	DWORD lvloffset = 0x48C;
	DWORD moneyoffset = 0x560;

          DWORD moblvloffset = 0x128;

	// character
	int hp = 0;
	float x = 0;
	float y = 0;
	float z = 0;
	int lvl = 0;
	int money = 0;

	// mob
	  int moblvl = 0;

	// character
	ReadProcessMemory(handle, (LPCVOID)(base), &pointed, 4, NULL);
	pointed+= 0x1C;
	ReadProcessMemory(handle, (LPCVOID)(pointed), &pointed, 4, NULL);
	pointed += 0x34;
	ReadProcessMemory(handle, (LPCVOID)(pointed), &pointer, 4, NULL);

	// mob
	  ReadProcessMemory(handle, (LPCVOID)(base), &mobpointed, 4, NULL);
	  mobpointed+= 0x1C;
	  ReadProcessMemory(handle, (LPCVOID)(mobpointed), &mobpointed, 4, NULL);
	  mobpointed += 0x1C;
	  ReadProcessMemory(handle, (LPCVOID)(mobpointed), &mobpointed, 4, NULL);
	  mobpointed += 0x24;
	  ReadProcessMemory(handle, (LPCVOID)(mobpointed), &mobpointed, 4, NULL);
	  mobpointed += 0x14;
	  ReadProcessMemory(handle, (LPCVOID)(mobpointed), &mobpointer, 4, NULL);
	
	while(true) // Цикл, чтобы постоянно выводить новые значения
	{
		// character
	ReadProcessMemory(handle, (LPCVOID)(pointer + hpoffset), &hp, 4, NULL);
	ReadProcessMemory(handle, (LPCVOID)(pointer + xoffset), &x, 4, NULL);
	ReadProcessMemory(handle, (LPCVOID)(pointer + yoffset), &y, 4, NULL);
	ReadProcessMemory(handle, (LPCVOID)(pointer + zoffset), &z, 4, NULL);
	ReadProcessMemory(handle, (LPCVOID)(pointer + lvloffset), &lvl, 4, NULL);
	ReadProcessMemory(handle, (LPCVOID)(pointer + moneyoffset), &money, 4, NULL);
	
	cout << "Character: \n";
	cout << "HP = " << hp << endl;
	cout << "X = " << x << endl;
	cout << "Y = " << y << endl;
	cout << "Z = " << z << endl;
	cout << "Lvl = " << lvl << endl;
	cout << "Money = " << money << endl;

	   // mob
	  ReadProcessMemory(handle, (LPCVOID)(mobpointer + moblvloffset), &moblvl, 4, NULL);
	  cout << "\nMob: \n";
	  cout << "Mob lvl = " << moblvl << endl;	

	//money = 999999; // Эксперименты
	//WriteProcessMemory(handle, (LPVOID)(pointer + moneyoffset), &money, 4, NULL); // Эксперименты
	Sleep(100);
	system("cls");
	}
	cin.get();
}
________________
Подпись нарушает п.28 правил.

Последний раз редактировалось Alekill; 08.08.2013 в 16:55.
  Ответить с цитированием
Ответ


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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[Руоф] Адреса и оффсеты Kitsune Разработка ПО для Perfect World 200 27.06.2014 22:34
оффсеты Maty Общение разработчиков 8 14.03.2012 21:00
Нужны адреса и оффсеты PWI Mr_R@NDOM Общение разработчиков 8 14.09.2011 23:01
[Помогите!] Адреса и Оффсеты для клиента 1.3.4 - 1.4.1 _Wolf_ Общение разработчиков 1 23.08.2011 17:34

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

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

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