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;));));))
Powered by vBulletin® Version 4.2.0 Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.