|
You last visited: Today at 20:54
Advertisement
Rus. server
Discussion on Rus. server within the Perfect World forum part of the MMORPGs category.
12/26/2009, 14:51
|
#1141
|
elite*gold: 0
Join Date: Jan 2009
Posts: 137
Received Thanks: 19
|
Пока не известно о флайхаке. На серваках просто шок среди хаев. Теперь фарм 109 стал абсолютно невыгоден )
А геолетуна я как раз и пишу. Тока времени все нет доделать. И одной функции... Закрытия окна диалога с неписем  Что делать? Все пропало...
|
|
|
12/26/2009, 15:13
|
#1142
|
elite*gold: 0
Join Date: Nov 2009
Posts: 96
Received Thanks: 31
|
Quote:
Originally Posted by AlexGD
Все пропало...
|
Клавишу Escape - пошли и все ..
|
|
|
12/26/2009, 17:06
|
#1143
|
elite*gold: 0
Join Date: Nov 2009
Posts: 69
Received Thanks: 5
|
origmas, огромная просьба, объясни плиз в 2 словах как пристыковать фуллтаргет отсюда

к стартовому боту. Пытаюсь вставить это все в BotDlg.cpp Все остатки мозгов переломал - не получилось.
В боте более-менее разобрался. Основные принципы вроде как понял
|
|
|
12/26/2009, 18:13
|
#1144
|
elite*gold: 0
Join Date: Dec 2009
Posts: 57
Received Thanks: 24
|
друзья! помогите разобраться с проблемой. никак не могу прочитать имя моба.
ВА+8+36+24+(i+4)+4+572+0-имя моба. как понимаю храниться в unicode.
длина-64 байта. начинаю считывать: первые два символа нормально, потом непонятная чушь.(набор символов).
пишу на VB6. для перевода в ANSI использую ChrW. считываю по 2 байта. (по одной букве так как юникод использует 2 байта на символ) в чем и где я ошибаюсь?
|
|
|
12/26/2009, 18:33
|
#1145
|
elite*gold: 0
Join Date: Jun 2008
Posts: 142
Received Thanks: 13
|
Quote:
Originally Posted by muzhig
Правда еще многому нужно научить его и самому научиться)) Но основа заложена уже оочень масштабная.
|
Любопытно было бы взглянуть на логику, если это как-либо обобщено, а не тупо захардкожена последовательность действий.
Я тут хочу замахнуться на что-то типа goal-oriented аи, но пока не очень ясно, как это можно сделать.
|
|
|
12/26/2009, 18:48
|
#1146
|
elite*gold: 0
Join Date: Nov 2009
Posts: 96
Received Thanks: 31
|
Quote:
Originally Posted by Novohyd
...остатки мозгов...
|
Вставь в BotDlg.cpp где-нить внизу листинга 2 функции:
//---------------------------------------------------------------------------
static DWORD WINAPI SelectMonster(LPCVOID lpParam )
{
DWORD BaseAddress = 0x0098ADDC;
DWORD CallAddress = 0x005B7B70;
DWORD MonsterID = (DWORD)lpParam;
__asm
{
mov eax, BaseAddress;
mov eax, dword ptr[eax];
mov edi, MonsterID;
mov edi,[edi]
push edi;
mov ecx, dword ptr[eax+0x20];
add ecx, 0xEC;
mov edx, CallAddress;
call edx;
}
return 0;
}
//------------------------------------
bool CBotDlg::CallRemoteFunction(HANDLE hProcess, LPVOID lpParam)
{
HANDLE hThread = NULL;
LPVOID ThreadCodeAddr = NULL;
LPVOID Func = SelectMonster;
LPVOID ThreadDataAddr = NULL;
ThreadCodeAddr=VirtualAllocEx(hProcess, NULL, 4096, MEM_COMMIT, PAGE_READWRITE);
WriteProcessMemory (hProcess, ThreadCodeAddr, Func, 4096, NULL);
ThreadDataAddr=VirtualAllocEx(hProcess, NULL, 256, MEM_COMMIT, PAGE_READWRITE);
WriteProcessMemory (hProcess, ThreadDataAddr, lpParam, 256, NULL);
hThread = CreateRemoteThread(hProcess, NULL, NULL,(LPTHREAD_START_ROUTINE)ThreadCodeAddr, ThreadDataAddr, NULL, NULL);
if (!hThread)
{
//
}
else
WaitForSingleObject(hThread, INFINITE);
CloseHandle(hThread);
VirtualFreeEx(hProcess, ThreadCodeAddr, 4096, MEM_RELEASE);
VirtualFreeEx(hProcess, ThreadDataAddr, 256, MEM_RELEASE);
CloseHandle(hProcess);
return false;
}
//---------------------------------------------------------------------------
В том месте где определил PriorID, после while ...
закоментируй WriteProcessMemory.......
вставь вместо него -> CallRemoteFunction(Proc,(LPVOID)PriorID);
еще - в файле BotDlg.h - вставь после public -
// Construction
public:
CBotDlg(CWnd* pParent = NULL); // standard constructor
//**************************************
CBitmap m_bmOk;
bool Scaner();
bool Locator();
........
........
bool CallRemoteFunction(HANDLE hProcess, LPVOID lpParam);
//**************************************
Должно работать, я немного по др. делал, щас вообще еще .. по третьему варианту делаю .. - тоже от мозгов мало че осталось ..))
|
|
|
12/26/2009, 19:03
|
#1147
|
elite*gold: 0
Join Date: Nov 2009
Posts: 96
Received Thanks: 31
|
Quote:
Originally Posted by gen-ostr
друзья! помогите разобраться с проблемой. никак не могу прочитать имя моба.
ВА+8+36+24+(i+4)+4+572+0-имя моба. как понимаю храниться в unicode.
длина-64 байта. начинаю считывать: первые два символа нормально, потом непонятная чушь.(набор символов).
пишу на VB6. для перевода в ANSI использую ChrW. считываю по 2 байта. (по одной букве так как юникод использует 2 байта на символ) в чем и где я ошибаюсь?
|
на Автоите я его из памяти как тип данных - wchar[32] читал потом выводил на экран и в списки как String($mNAME) - нормально на русском ..
найди эти соответствия на VB ..
еще .. +0 после 572 - это ведь тоже смещение его надо учитывать ..
попробуй по 1-му байту через байт читать ..
|
|
|
12/26/2009, 19:16
|
#1148
|
elite*gold: 0
Join Date: Oct 2009
Posts: 20
Received Thanks: 2
|
Ребят, подскажите: делаю таргет инекцией. код такой:
MOV_EAX(Dec("0098ADDC"))
MOV_EAX_DWORD_PTR_EAX()
MOV_EDI(Dec("801050D6"))
MOV_EDI_DWORD_PTR_EDI()
PUSH_EDI()
MOV_ECX_DWORD_PTR_EAX_ADD(Dec("20"))
ADD_ECX(Dec("EC"))
MOV_EDX(Dec("005B7B70"))
CALL_EDX()
Но клиент завершается аварийно. В чём ошибка?
|
|
|
12/26/2009, 20:25
|
#1149
|
elite*gold: 0
Join Date: Nov 2009
Posts: 69
Received Thanks: 5
|
Quote:
Originally Posted by origmas
Вставь в BotDlg.cpp где-нить внизу листинга 2 функции:
.......
)
|
BotDlg.cpp(713) : error C2440: 'initializing' : cannot convert from 'unsigned long (__thiscall CBotDlg::*)(unsigned long)' to 'void *'
There is no context in which this conversion is possible
сама строка LPVOID Func = SelectMonster;
|
|
|
12/26/2009, 20:50
|
#1150
|
elite*gold: 0
Join Date: Nov 2009
Posts: 69
Received Thanks: 5
|
Quote:
Originally Posted by Shamanpovt
Ребят, подскажите: делаю таргет инекцией. код такой:
Но клиент завершается аварийно. В чём ошибка?
|
А сама функция инжекта какая? И что в аргумент ставишь у нее?
|
|
|
12/26/2009, 20:58
|
#1151
|
elite*gold: 0
Join Date: Nov 2009
Posts: 96
Received Thanks: 31
|
Quote:
Originally Posted by Novohyd
BotDlg.cpp(713) : error C2440: 'initializing' : cannot convert from 'unsigned long (__thiscall CBotDlg::*)(unsigned long)' to 'void *'
There is no context in which this conversion is possible
сама строка LPVOID Func = SelectMonster;
|
---- там в BotDlg.h - осталась старая запись функций - убери их.
красным цветом которые или закоментируй ..
// CBotDlg dialog
class CBotDlg : public CDialog
{
// Construction
public:
CBotDlg(CWnd* pParent = NULL); // standard constructor
//**************************************
CBitmap m_bmOk;
bool Scaner();
bool Locator();
void OnProperties();
void Init();
void LoadCfg();
bool OpenProc();
bool GetInfo();
bool GetCharInfo();
void CheckHeal();
void CheckPot();
bool PriorMob();
bool CallRemoteFunction(HANDLE hProcess, LPVOID lpParam);
//bool CallRemoteFunction();
//DWORD SelectMonster(DWORD lpParam);
//**************************************
// Dialog Data
//{{AFX_DATA(CBotDlg)
enum { IDD = IDD_BOT };
CButton m_cBtOpt;
CButton m_cBtMon;
CButton m_cOk;
CStatic m_cLabPrMp;
CStatic m_cLabPrHp;
CProgressCtrl m_cPrMp;
|
|
|
12/26/2009, 21:26
|
#1152
|
elite*gold: 0
Join Date: Oct 2009
Posts: 20
Received Thanks: 2
|
Это пока даже не функция, а так - наброски. По замыслу этот код при инекции должен выделить моба с ID=801050D6.
|
|
|
12/26/2009, 21:40
|
#1153
|
elite*gold: 0
Join Date: Nov 2009
Posts: 69
Received Thanks: 5
|
Quote:
Originally Posted by Shamanpovt
Это пока даже не функция, а так - наброски. По замыслу этот код при инекции должен выделить моба с ID=801050D6.
|
это понятно. сама функция инжекта а не то что инжектируешь как выглядит
|
|
|
12/27/2009, 07:58
|
#1154
|
elite*gold: 0
Join Date: Jan 2009
Posts: 137
Received Thanks: 19
|
Quote:
Originally Posted by origmas
Клавишу Escape - пошли и все ..
|
Не, ну так не интересно ) Если курсор в этот момент стоит в поле ввода чата, то там тупо все безвозвратно сотрется. Не комильфо!
|
|
|
12/27/2009, 08:08
|
#1155
|
elite*gold: 0
Join Date: Jan 2009
Posts: 137
Received Thanks: 19
|
Quote:
Originally Posted by gen-ostr
друзья! помогите разобраться с проблемой. никак не могу прочитать имя моба.
ВА+8+36+24+(i+4)+4+572+0-имя моба. как понимаю храниться в unicode.
длина-64 байта. начинаю считывать: первые два символа нормально, потом непонятная чушь.(набор символов).
пишу на VB6. для перевода в ANSI использую ChrW. считываю по 2 байта. (по одной букве так как юникод использует 2 байта на символ) в чем и где я ошибаюсь?
|
Проблема с длиной. Я читаю 64 ДВорда, а потом вынимаю из них zero-terminated строку. И только потом можно его в анси.
|
|
|
All times are GMT +1. The time now is 20:55.
|
|