Newbie Spellweaver
- Joined
- Apr 23, 2023
- Messages
- 33
- Reaction score
- 0
Do somebody know, what type of encryption it is, for the database password?
Example: NTbWM+m5EV3L0biNcrQlSQ==
Example: NTbWM+m5EV3L0biNcrQlSQ==
Join our community of MMO enthusiasts and game developers! By registering, you'll gain access to discussions on the latest developments in MMO server files and collaborate with like-minded individuals. Join us today and unlock the potential of MMO server development!
Join Today!base64Do somebody know, what type of encryption it is, for the database password?
Example: NTbWM+m5EV3L0biNcrQlSQ==
base64
True. The generated Passwd dosnt work with Base64 and the Encrypted one, which is already in the Config is not known.The encryption algorithm is defined in LibSrc(Which is not released in this thread, only pre-built lib shared). It delared in ODBCInterface class. There are 3 functions there: DecryptPassword() and EncryptPassword() to and PwdEncryptKey().
View attachment 243249
And it is not base64 dude.
So you know whats the Password for the Database?I need to read the documentation, but I got the server up and running
Did someone run the game ? If yes, please tell me in which file to change the ip of the client
How did you connect to the database?I managed to connect for a short time, but the disconnections continue.
I don't know what this problem is, but I'm sure it's server-related problems.
View attachment 243150
The encryption algorithm is defined in LibSrc(Which is not released in this thread, only pre-built lib shared). It delared in ODBCInterface class. There are 3 functions there: DecryptPassword() and EncryptPassword() to and PwdEncryptKey().
View attachment 243249
And it is not base64 dude.
char *__fastcall DecryptPassword(char *a1, int a2, const unsigned __int8 *a3, const unsigned __int8 *a4)
{
char *v4; // rdi
__int64 i; // rcx
const void *v6; // rax
char v8; // [rsp+0h] [rbp-20h] BYREF
char v9[516]; // [rsp+30h] [rbp+10h] BYREF
int v10; // [rsp+234h] [rbp+214h]
void *Block; // [rsp+258h] [rbp+238h]
char *Source; // [rsp+278h] [rbp+258h]
int v13; // [rsp+294h] [rbp+274h]
char v14[256]; // [rsp+2B8h] [rbp+298h] BYREF
char v15[64]; // [rsp+3B8h] [rbp+398h] BYREF
char *v16; // [rsp+3F8h] [rbp+3D8h]
__int64 v17; // [rsp+418h] [rbp+3F8h]
size_t Size; // [rsp+428h] [rbp+408h]
size_t v19; // [rsp+430h] [rbp+410h]
__int64 v21; // [rsp+468h] [rbp+448h]
LODWORD(v21) = a2;
v4 = &v8;
for ( i = 274i64; i; --i )
{
*(_DWORD *)v4 = -858993460;
v4 += 4;
}
v17 = -2i64;
if ( !boInited )
{
boInited = 1;
gen_tabs(v21);
}
aes_set_key(v9, a4, 16i64);
v10 = strlen((const char *)a3);
Block = malloc(8 * v10 + 1028);
Source = (char *)Block + 2 * v10;
Size = std::string::string(v15, a3);
v19 = Size;
base64_decode(v14, Size);
std::string::~string(v15);
v13 = std::string::length(v14);
Size = std::string::length(v14) + 1;
v6 = (const void *)std::string::c_str(v14);
memcpy(Block, v6, Size);
AESDecrypt(v9, Source, Block, v13);
Source[v13] = 0;
strncpy(a1, Source, (int)v21 - 1);
a1[(int)v21 - 1] = 0;
free(Block);
v16 = a1;
std::string::~string(v14);
return v16;
}
True. The generated Passwd dosnt work with Base64 and the Encrypted one, which is already in the Config is not known.
The password uses AES and Base 64. A simple look at the library would reveal it. Next time, do better research before posting.
C-like:char *__fastcall DecryptPassword(char *a1, int a2, const unsigned __int8 *a3, const unsigned __int8 *a4) { char *v4; // rdi __int64 i; // rcx const void *v6; // rax char v8; // [rsp+0h] [rbp-20h] BYREF char v9[516]; // [rsp+30h] [rbp+10h] BYREF int v10; // [rsp+234h] [rbp+214h] void *Block; // [rsp+258h] [rbp+238h] char *Source; // [rsp+278h] [rbp+258h] int v13; // [rsp+294h] [rbp+274h] char v14[256]; // [rsp+2B8h] [rbp+298h] BYREF char v15[64]; // [rsp+3B8h] [rbp+398h] BYREF char *v16; // [rsp+3F8h] [rbp+3D8h] __int64 v17; // [rsp+418h] [rbp+3F8h] size_t Size; // [rsp+428h] [rbp+408h] size_t v19; // [rsp+430h] [rbp+410h] __int64 v21; // [rsp+468h] [rbp+448h] LODWORD(v21) = a2; v4 = &v8; for ( i = 274i64; i; --i ) { *(_DWORD *)v4 = -858993460; v4 += 4; } v17 = -2i64; if ( !boInited ) { boInited = 1; gen_tabs(v21); } aes_set_key(v9, a4, 16i64); v10 = strlen((const char *)a3); Block = malloc(8 * v10 + 1028); Source = (char *)Block + 2 * v10; Size = std::string::string(v15, a3); v19 = Size; base64_decode(v14, Size); std::string::~string(v15); v13 = std::string::length(v14); Size = std::string::length(v14) + 1; v6 = (const void *)std::string::c_str(v14); memcpy(Block, v6, Size); AESDecrypt(v9, Source, Block, v13); Source[v13] = 0; strncpy(a1, Source, (int)v21 - 1); a1[(int)v21 - 1] = 0; free(Block); v16 = a1; std::string::~string(v14); return v16; }
Maybe you don't know how to read.lol, did you just say it was base64? So can you decode it with base64?
I deleted this game the first day I downloaded it because it had an incomplete source code library.
If you disassemble the library's source code, don't other people know? What is the need for showboating like that?
So what is the AES decrypt key? If you don't have it, let someone else do it, you don't have to pretend you're better than anyone else. Because you are almost better than others in this area, in other areas you will be much worse than them. Friend. I don't mean anything. Please do not take this as a challenge. If you know, please help others. If you don't want to help, then don't, thank you.
[21:42:54]__show__ Assert:[d:\workspace\jjbb_new\server\srvlib\src\odbcinterface.cpp][454][ODBCInterface::GetFieldEx][false]: ColIndex 1, fc 1 !!
(21668)(T=1794169469)
[21:42:54]__show__ Assert:[d:\workspace\jjbb_new\server\srvlib\src\odbcinterface.cpp][454][ODBCInterface::GetFieldEx][false]: ColIndex 2, fc 1 !!
(21668)(T=1794169469)
[21:42:54]__show__ Assert:[d:\workspace\jjbb_new\server\srvlib\src\odbcinterface.cpp][303][ODBCInterface::GetIntEx][false]: ColIndex 3, fc 1 !!
(21668)(T=1794169469)
[21:42:54]__show__ Assert:[d:\workspace\jjbb_new\server\srvlib\src\odbcinterface.cpp][240][ODBCInterface::Execute][false]: sql len 17 failed error code 1046, error No database selected, sql call loadguid(1);!
(21668)(T=1794169485)
[21:42:54]__show__ Assert:[Base\GuidLoader.cpp][69][LoadGUIDFromDB][pFace->Execute()]: [GuidLoader]Execute Fail!
(21668)(T=1794169485)
[21:42:54]__show__ Assert:[Base\GuidLoader.cpp][74][LoadGUIDFromDB][nResultCount == nLen]: [GuidLoader]ArrayCount != AffectCount
(21668)(T=1794169485)
[21:42:54]__show__ Assert:[Base\GuidDefine.cpp][32][InitGuidModule][guidinfo[i].m_Carry != 0xff]:
(21668)(T=1794169485)
[21:42:54]__show__ Assert:[Base\GuidDefine.cpp][33][InitGuidModule][guidinfo[i].m_Serial != 0xffffffff]:
no one is able to rewrite serverlib because of missing source code ..rewrite serverlib ,please...and share for me
default db pass: 123456
EncryptPassword : qAY1TlT8Sucfq1UuXqK1sg==
ODBCInterface::Initial(this, rHost, dataBaseName, port, rUser, szPwd);
//----- (0000000003138412) ----------------------------------------------------
bool __cdecl ODBCInterface::Connect(ODBCInterface_0 *const this, const tchar *rHost, const tchar *dataBaseName, tint32 port, const tchar *rUser, const tchar *rPasswd)
{
tchar *v6; // rax
char szPwd[128]; // [rsp+30h] [rbp-90h] BYREF
memset(szPwd, 0, sizeof(szPwd));
DecryptPassword(szPwd, 128, rPasswd, PwdEncryptKey);
ODBCInterface::Initial(this, rHost, dataBaseName, port, rUser, szPwd);
if ( ODBCInterface::Connect(this) )
return 1;
v6 = SQLInterface::GetErrorMsg(this);
__assertex__(
"/root/mmo/lib/CoreCode/SrvLib/Src/ODBCInterface.cpp",
0xD7u,
"bool ODBCInterface::Connect(const tchar*, const tchar*, tint32, const tchar*, const tchar*)",
"false",
"host %s, db %s, port %d, user %s, pw %s, resean: %s!",
rHost,
dataBaseName,
port,
rUser,
rPasswd,
v6);
return 0;
}
assert: [2022-5-12 20:18:22]
[/root/mmo/lib/CoreCode/SrvLib/Src/ODBCInterface.cpp][215][bool ODBCInterface::Connect(const tchar*, const tchar*, tint32, const tchar*, const tchar*)][false]: host 127.0.0.1, db global_data, port 3306, user root, pw cHTA8ymSkTb8FPEW, resean: can not connect to mysql: Can't connect to MySQL server on '127.0.0.1' (111)!
assert: [2022-5-12 20:18:22]
[/root/Server/Server/Server/Base/Config.cpp][2548][void InitServerMerge()][pFace->IsConnected()]: [InitServerMerge] Connect to DB Fail ! [127.0.0.1][global_data][3306][root][cHTA8ymSkTb8FPEW]
assert: [2022-5-12 20:18:22]
[/root/Server/Server/Server/Base/Config.cpp][2557][void InitServerMerge()][pFace->IsPrepare()]: [InitServerMerge] Query Fail!
PwdEncryptKey = "zhangyou123_pwd_key"
Any new link to download
date -s "2022-05-12 18:39:40"