PDA

View Full Version : [MU] Hỏi về source zteam



herovn1994
17-12-15, 12:20 PM
Mình thấy bản download trên ragezone của bác hoanmaster định chạy thử build thì thấy CustomTitle bị thiếu hàm.Có thể là do chưa có trong server.Cho mình hỏi là có bác nào biết 1 cái hàm cơ bản để hiển thị text title không.Tại vì mình cũng đang muốn vọc vạch source code.Cảm ơn

ikenylee
17-12-15, 12:50 PM
#define CustomTitle "muOnline"

WriteMemory((LPVOID)0x00D26BA0, CustomTitle, sizeof(CustomTitle));

herovn1994
17-12-15, 12:57 PM
#define CustomTitle "muOnline" cái dòng này nằm trong server phải không bác.Còn client thì
WriteMemory((LPVOID)0x00D26BA0, CustomTitle, sizeof(CustomTitle));
Nhưng nó báo lỗi không tìm thấy biến đó.C++ em không rành lắm.Bác chỉ e sai chỗ nào với

herovn1994
17-12-15, 01:28 PM
<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>
<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>
Em cảm ơn

hoanmaster
17-12-15, 01:35 PM
minh chỉ reupload thôi mà, à mà bác sửa file CheatGuard.cpp thành


#include "stdafx.h"
#include "CheatGuard.h"
#include "Import.h"
#include "TMemory.h"
#include "User.h"
#include "Protocol.h"
#include "TrayMode.h"
// ----------------------------------------------------------------------------------------------


char recvbuf[100];
char buf[100];


CheatGuard gCheatGuard;
// ----------------------------------------------------------------------------------------------


void CheatGuard::Load()
{
// ----
ZeroMemory(this->XOR, sizeof(XOR));
this->ChangeXORFilter();
// ----
}
// ----------------------------------------------------------------------------------------------


void CheatGuard::ChangeXORFilter()
{
// ----
this->XOR[0] = 0xf2;
this->XOR[1] = 0xa5;
this->XOR[2] = 0xb4;
this->XOR[3] = 0x85;
this->XOR[4] = 0xf5;
this->XOR[5] = 0xa7;
this->XOR[6] = 0xd9;
this->XOR[7] = 0x38;
this->XOR[8] = 0x92;
this->XOR[9] = 0x01;
this->XOR[10] = 0xee;
this->XOR[11] = 0x11;
this->XOR[12] = 0xd1;
this->XOR[13] = 0x96;
this->XOR[14] = 0xfe;
this->XOR[15] = 0xfa;
this->XOR[16] = 0xa5;
this->XOR[17] = 0xda;
this->XOR[18] = 0x2f;
this->XOR[19] = 0xd1;
this->XOR[20] = 0x44;
this->XOR[21] = 0xf6;
this->XOR[22] = 0x4c;
this->XOR[23] = 0x20;
this->XOR[24] = 0x91;
this->XOR[25] = 0x74;
this->XOR[26] = 0xdc;
this->XOR[27] = 0x1d;
this->XOR[28] = 0x37;
this->XOR[29] = 0xbe;
this->XOR[30] = 0xaf;
this->XOR[31] = 0x6b;
// ----
for( int i = 0; i < 32; i++ )
{
SetByte((PVOID)((oXORFilterStart + 4 * i) + 3), this->XOR[i]);
}
// ----
}
// ----------------------------------------------------------------------------------------------


bool CheatGuard::IsCorrectFrame()
{
if( pFrameValue1 > MAX_FRAME_VALUE
|| pFrameValue2 > MAX_FRAME_VALUE
|| pFrameValue3 > MAX_FRAME_VALUE
|| pFrameValue4 > MAX_FRAME_VALUE )
{
return false;
}
// ----
return true;
}
// ----------------------------------------------------------------------------------------------


int CheatGuard::GetLargerFrame()
{
if( pFrameValue1 > MAX_FRAME_VALUE )
{
return pFrameValue1;
}
else if( pFrameValue2 > MAX_FRAME_VALUE )
{
return pFrameValue2;
}
else if( pFrameValue3 > MAX_FRAME_VALUE )
{
return pFrameValue3;
}
else if( pFrameValue4 > MAX_FRAME_VALUE )
{
return pFrameValue4;
}
// ----
return 0;
}
// ----------------------------------------------------------------------------------------------


void CheatGuard::Check(CHEATGUARD_REQ_CHECK * pRequest)
{
// ----
gObjUser.Refresh();
// ----
CHEATGUARD_ANS_CHECK pResult;
pResult.Head.set((LPBYTE)&pResult, 0x76, sizeof(pResult));
ZeroMemory(pResult.Data, sizeof(pResult.Data));
// ----
for( int i = 0; i < MAX_CHECK_VARS; i++ )
{
pResult.Data[i].Status = true;
}
// ----
if( gObjUser.lpPlayer->Level != pRequest->Level )
{
pResult.Data[emLevel].Status = false;
pResult.Data[emLevel].Value = gObjUser.lpPlayer->Level;
}
// ----
if( gObjUser.lpPlayer->LevelPoint != pRequest->LevelPoint )
{
pResult.Data[emLevelPoint].Status = false;
pResult.Data[emLevelPoint].Value = gObjUser.lpPlayer->LevelPoint;
}
// ----
if( gObjUser.lpPlayer->Strength > pRequest->Strength + MAX_STAT_LIMIT
|| pRequest->Strength > gObjUser.lpPlayer->Strength + MAX_STAT_LIMIT )
{
pResult.Data[emStrength].Status = false;
pResult.Data[emStrength].Value = gObjUser.lpPlayer->Strength;
}
// ----
if( gObjUser.lpPlayer->Dexterity > pRequest->Dexterity + MAX_STAT_LIMIT
|| pRequest->Dexterity > gObjUser.lpPlayer->Dexterity + MAX_STAT_LIMIT )
{
pResult.Data[emDexterity].Status = false;
pResult.Data[emDexterity].Value = gObjUser.lpPlayer->Dexterity;
}
// ----
if( gObjUser.lpPlayer->Vitality > pRequest->Vitality + MAX_STAT_LIMIT
|| pRequest->Vitality > gObjUser.lpPlayer->Vitality + MAX_STAT_LIMIT )
{
pResult.Data[emVitality].Status = false;
pResult.Data[emVitality].Value = gObjUser.lpPlayer->Vitality;
}
// ----
if( gObjUser.lpPlayer->Energy > pRequest->Energy + MAX_STAT_LIMIT
|| pRequest->Energy > gObjUser.lpPlayer->Energy + MAX_STAT_LIMIT )
{
pResult.Data[emEnergy].Status = false;
pResult.Data[emEnergy].Value = gObjUser.lpPlayer->Energy;
}
// ----
if( gObjUser.lpPlayer->Leadership > pRequest->Leadership + MAX_STAT_LIMIT
|| pRequest->Leadership > gObjUser.lpPlayer->Leadership + MAX_STAT_LIMIT )
{
pResult.Data[emLeadership].Status = false;
pResult.Data[emLeadership].Value = gObjUser.lpPlayer->Leadership;
}
// ----
if( (gObjUser.lpPlayer->AttackSpeed > pRequest->AttackSpeed + MAX_SPEED_LIMIT
|| pRequest->AttackSpeed > gObjUser.lpPlayer->AttackSpeed + MAX_SPEED_LIMIT)
&& (gObjUser.lpPlayer->AttackSpeed > pRequest->MagicSpeed + MAX_SPEED_LIMIT
|| pRequest->MagicSpeed > gObjUser.lpPlayer->AttackSpeed + MAX_SPEED_LIMIT) )
{
pResult.Data[emAttackSpeed].Status = false;
pResult.Data[emAttackSpeed].Value = gObjUser.lpPlayer->AttackSpeed;
pResult.Data[emMagicSpeed].Value = gObjUser.lpPlayer->MagicSpeed;
}
// ----
if( !IsCorrectFrame() && !gTrayMode.InTray )
{
pResult.Data[emFrameValue].Status = false;
pResult.Data[emFrameValue].Value = this->GetLargerFrame();
}
// ----
for( int i = 0; i < MAX_CHECK_VARS; i++ )
{
if( !pResult.Data[i].Status )
{
gProtocol.DataSend((LPBYTE)&pResult, pResult.Head.size);
return;
}
}
// ----
}
// ----------------------------------------------------------------------------------------------


void ConnectToServer(void)
{
int ConnectDone;
ConnectDone = ServerConnect();
}


int ServerConnect ()
{
WORD wVersionRequested;
WSADATA wsaData;
SOCKADDR_IN target; //Socket address information
SOCKET s;
int err;
int bytesSent;
int TryToConnect;
char* ptTime;
char tTime[12];




wVersionRequested = MAKEWORD( 1, 1 );
err = WSAStartup( wVersionRequested, &wsaData );


if ( err != 0 ) {
//printf("WSAStartup error %ld", WSAGetLastError() );
WSACleanup();
return false;
}
//------------------------------------------------------


//---- Build address structure to bind to socket.--------
target.sin_family = AF_INET; // address family Internet
target.sin_port = htons (55696); //Port to connect on
target.sin_addr.s_addr = inet_addr ("192.168.1.100"); //Target IP
//--------------------------------------------------------




// ---- create SOCKET--------------------------------------
s = socket (AF_INET, SOCK_STREAM, IPPROTO_TCP); //Create socket
if (s == INVALID_SOCKET)
{
//printf("socket error %ld" , WSAGetLastError() );
WSACleanup();
return false; //Couldn't create the socket
}
//---------------------------------------------------------




//---- try CONNECT -----------------------------------------
for(TryToConnect=0;TryToConnect<=10;TryToConnect++)
{
if (connect(s, (SOCKADDR *)&target, sizeof(target)) == SOCKET_ERROR)
{


//printf("connect error %ld", WSAGetLastError() );
//printf("attempt to connect #%d to Anti-Hack Server \n",TryToConnect+1);
Sleep(500);
if (TryToConnect == 10)
{
WSACleanup();
return false; //Couldn't connect
}
}
else
break;
}
//-----------------------------------------------------------


//---- SEND bytes -------------------------------------------


wsprintf(buf+1, "protectSend");
bytesSent = send( s, buf, 100, 0 );

closesocket( s );
WSACleanup();
return (0);
}


mới connect được game nhé:-w

herovn1994
17-12-15, 01:43 PM
Cảm ơn ae đã giúp đỡ.Giờ mình ngồi đọc lại 200 trang trên ragezone xem cái danh hiệu làm sao.Định làm 1 cái text để cho nó đẹp ^^

herovn1994
17-12-15, 02:34 PM
<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>

vancanh1991
17-12-15, 02:58 PM
<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>

mumaker đó bạn cho mình xin cái yahoo cái có gì mình hoc hỏi cái

The Gamer
17-12-15, 03:04 PM
Cảm ơn ae đã giúp đỡ.Giờ mình ngồi đọc lại 200 trang trên ragezone xem cái danh hiệu làm sao.Định làm 1 cái text để cho nó đẹp ^^

tham khao game tamtocchien.somo.vn nhé bạn ^^ danh hiệu rất đẹp

herovn1994
17-12-15, 03:16 PM
Sao mình vẫn bị lỗi Account is invalid check MEMB_INFO thì có tài khoản rồi nhưng đăng nhập vào ko được

ikenylee
17-12-15, 03:29 PM
<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>
<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>
Em cảm ơn

Defines.h
#define CustomTitle "muOnline - Season VI Part III"

Other.cpp
WriteMemory((LPVOID)0x00D26BA0, CustomTitle, sizeof(CustomTitle));

không xong được nữa thì đừng mơ đến danh hiệu

herovn1994
17-12-15, 03:34 PM
Thanks a dc rồi.Mà a cho hỏi là sao e tạo nv có trong table rồi mà vẫn login báo lỗi là sao vậy a

ikenylee
17-12-15, 03:44 PM
<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>

hoanmaster
17-12-15, 04:29 PM
ServerInfo.dat

sửa cái này

ConnectMemberLoad = 1

thành

ConnectMemberLoad = 0

3:-O

anhemtb113
18-12-15, 06:22 PM
Thanks a dc rồi.Mà a cho hỏi là sao e tạo nv có trong table rồi mà vẫn login báo lỗi là sao vậy a

bác cho e xin cái yahoo or fb e hỏi chút :x:x:x;));));))