Re: [Unity3D] 《降临》/Rise of Mana - Source code.
According FileMonitor...
it need a filename "UPGRADE.EXE or UPGRADE"
it's a file not found exception.
do u have any idea?
Exception throw from here
void __usercall CDbUpgrade:
oUpgrade(CDbUpgrade *this@<ecx>, int a2@<ebx>)
{
int v2; // eax@1
int v3; // eax@1
int v4; // eax@1
CGameDbMgr *v5; // eax@1
CMysql *v6; // eax@1
CGameDbMgr *v7; // eax@1
CMysql *v8; // eax@1
CGameDbMgr *v9; // eax@1
CMysql *v10; // eax@1
CGameDbMgr *v11; // eax@1
CMysql *v12; // eax@1
CGameDbMgr *v13; // eax@1
CMysql *v14; // eax@1
std::basic_string<char,std::char_traits<char>,std::allocator<char> > v15; // [sp-A4h] [bp-130h]@1
std::basic_string<char,std::char_traits<char>,std::allocator<char> > v16; // [sp-84h] [bp-110h]@1
std::basic_string<char,std::char_traits<char>,std::allocator<char> > v17; // [sp-64h] [bp-F0h]@1
std::basic_string<char,std::char_traits<char>,std::allocator<char> > v18; // [sp-44h] [bp-D0h]@1
std::basic_string<char,std::char_traits<char>,std::allocator<char> > v19; // [sp-40h] [bp-CCh]@1
unsigned int v20; // [sp-24h] [bp-B0h]@1
std::basic_string<char,std::char_traits<char>,std::allocator<char> > v21; // [sp-20h] [bp-ACh]@1
int v22; // [sp+0h] [bp-8Ch]@1
std::basic_string<char,std::char_traits<char>,std::allocator<char> > *v23; // [sp+8h] [bp-84h]@1
std::basic_string<char,std::char_traits<char>,std::allocator<char> > *v24; // [sp+Ch] [bp-80h]@1
std::basic_string<char,std::char_traits<char>,std::allocator<char> > *v25; // [sp+10h] [bp-7Ch]@1
std::basic_string<char,std::char_traits<char>,std::allocator<char> > *v26; // [sp+14h] [bp-78h]@1
std::basic_string<char,std::char_traits<char>,std::allocator<char> > *v27; // [sp+18h] [bp-74h]@1
std::basic_string<char,std::char_traits<char>,std::allocator<char> > *v28; // [sp+1Ch] [bp-70h]@1
std::basic_string<char,std::char_traits<char>,std::allocator<char> > *v29; // [sp+20h] [bp-6Ch]@1
int v30; // [sp+24h] [bp-68h]@1
int v31; // [sp+28h] [bp-64h]@1
int v32; // [sp+2Ch] [bp-60h]@1
int v33; // [sp+30h] [bp-5Ch]@1
int v34; // [sp+34h] [bp-58h]@1
std::basic_string<char,std::char_traits<char>,std::allocator<char> > *v35; // [sp+38h] [bp-54h]@1
std::basic_string<char,std::char_traits<char>,std::allocator<char> > *v36; // [sp+3Ch] [bp-50h]@1
std::basic_string<char,std::char_traits<char>,std::allocator<char> > *v37; // [sp+40h] [bp-4Ch]@1
std::basic_string<char,std::char_traits<char>,std::allocator<char> > *v38; // [sp+44h] [bp-48h]@1
std::basic_string<char,std::char_traits<char>,std::allocator<char> > *v39; // [sp+48h] [bp-44h]@1
std::basic_string<char,std::char_traits<char>,std::allocator<char> > *v40; // [sp+4Ch] [bp-40h]@1
std::basic_string<char,std::char_traits<char>,std::allocator<char> > *v41; // [sp+50h] [bp-3Ch]@1
std::basic_string<char,std::char_traits<char>,std::allocator<char> > findExtFile; // [sp+58h] [bp-34h]@1
CDbUpgrade *const thisa; // [sp+7Ch] [bp-10h]@1
int v44; // [sp+88h] [bp-4h]@1
memset(&v23, 0xCCu, 0x78u);
thisa = this;
_printf("execute db upgrade!\n");
thisa->upgradeType = 0;
CDbUpgrade:
oFree(thisa);
std::basic_string<char,std::char_traits<char>,std::allocator<char>>::basic_string<char,std::char_traits<char>,std::allocator<char>>(
&findExtFile,
"*.sql");
v44 = 0;
v41 = &v21;
std::basic_string<char,std::char_traits<char>,std::allocator<char>>::basic_string<char,std::char_traits<char>,std::allocator<char>>(
&v21,
&findExtFile);
v34 = v2;
v33 = v2;
LOBYTE(v44) = 1;
v40 = &v19;
std::basic_string<char,std::char_traits<char>,std::allocator<char>>::basic_string<char,std::char_traits<char>,std::allocator<char>>(
&v19,
&thisa->m_strUpgradePath);
v32 = v3;
LOBYTE(v44) = 0;
CDbUpgrade::ListFiles(thisa, v19, v21);
CDbUpgrade::LoadUpgraded(thisa, a2, (int)&v22);
CDbUpgrade::GetCanUpgred(thisa);
CDbUpgrade::SortUpgred(thisa);
v39 = &v21;
std::basic_string<char,std::char_traits<char>,std::allocator<char>>::basic_string<char,std::char_traits<char>,std::allocator<char>>(
&v21,
&thisa->m_strUpgradePath);
v31 = v4;
v30 = v4;
LOBYTE(v44) = 2;
v5 = CGameDbMgr::GetInstance(a2, (int)&v22);
v6 = CGameDbMgr::GetMysqlInstance(v5);
v20 = CMysql::getPort(v6);
v38 = &v18;
v7 = CGameDbMgr::GetInstance(a2, (int)&v22);
v8 = CGameDbMgr::GetMysqlInstance(v7);
v29 = CMysql::getName(v8, &v18);
v28 = v29;
LOBYTE(v44) = 3;
v37 = &v17;
v9 = CGameDbMgr::GetInstance(a2, (int)&v22);
v10 = CGameDbMgr::GetMysqlInstance(v9);
v27 = CMysql::getPassword(v10, &v17);
v26 = v27;
LOBYTE(v44) = 4;
v36 = &v16;
v11 = CGameDbMgr::GetInstance(a2, (int)&v22);
v12 = CGameDbMgr::GetMysqlInstance(v11);
v25 = CMysql::getUser(v12, &v16);
v24 = v25;
LOBYTE(v44) = 5;
v35 = &v15;
v13 = CGameDbMgr::GetInstance(a2, (int)&v22);
v14 = CGameDbMgr::GetMysqlInstance(v13);
v23 = CMysql::getHostName(v14, &v15);
LOBYTE(v44) = 0;
CDbUpgrade::Import(thisa, a2, v15, v16, v17, v18, v20, v21);
_printf("db upgrade done!\n");
v44 = -1;
std::basic_string<char,std::char_traits<char>,std::allocator<char>>::~basic_string<char,std::char_traits<char>,std::allocator<char>>(&findExtFile);
}
im trying to nop nop this DoUpgrade function and try again
success..
fixed
GUIDE FOR WINDOWS DEVELOPER
CLIENT DEVELOPMENT : UNITY 4.6.1 -> UNITY 5.1
SERVER ENVIROMENT : VISUAL STUDIO 2010
MYSQLPP 3.1 (DEBUG MODE)
DBSERVER.EXE
LOCATION FROM 5F83F VALUE E8 EC B1 FC FF CHANGE TO 90 90 90 90 90
LOCATION FROM 5F847 VALUE E8 04 B4 FC FF CHANGE TO 90 90 90 90 90
----------------------------------------------------------------------------------------------------------
NOW... NEED FIX SHACO 18200 PORT PROBLEM.