通过__WriteInfoAppLog 定位关键函数
void check_447BA0()
{
// [COLLAPSED LOCAL DECLARATIONS. PRESS KEYPAD CTRL-"+" TO EXPAND]
isactive_5252DC = sub_448470(dword_5251B0);//way1:patch sub_448470 ret 1
if ( !isactive_5252DC )
{
sub_474190((int)dword_524B70, 71, 0);
sub_474190((int)dword_524B70, 200, (void *)1);
sub_474190((int)dword_524B70, 56, 0);
sub_474190((int)dword_524B70, 213, (void *)1);
sub_474190((int)dword_524B70, 201, (void *)1);
sub_474190((int)dword_524B70, 2, (void *)1);
//way2: patch sub_4789D0 to ret 0
// xor eax,eax
// ret
v0 = sub_4789D0((int)dword_524B70, "Xshell", (int)"7.0", 1, 0, (int)&unk_524B78, 0x4000);
if ( v0 )
{
sub_474190((int)dword_524B70, 213, 0);
ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char>>>::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char>>>(&v4);
v5 = 0;
ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t>>>::Format(
&v4,
L"Borrow checkout failed. Error code = %d",
v0);
__WriteInfoAppLog(0, v4);
dword_525380 = v0;
CMFCRibbonInfo::XID::~XID(&v4);
isactive_5252DC = 0;
ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char>>>::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char>>>(v3);
v5 = 1;
if ( !NSACTIVATE_GetProductLocalServerAddress(1, 7, v3)
|| (!NSACTIVATE_IsProductUseConcurrent(1, 7) ? (v1 = sub_449170(dword_5251B0)) : (v1 = sub_448710(dword_5251B0)),
(isactive_5252DC = v1) == 0) )
{
if ( NSLICENSE_IsPeriodEvaluationLicense(1, 7) != 1 && NSACTIVATE_ActivateLicense(1, 7, 0) )
{
if ( NSACTIVATE_GetActivateMethod(1, 7) == 2 )
{
if ( NSACTIVATE_IsProductUseConcurrent(1, 7) )
{
isactive_5252DC = sub_448710(dword_5251B0);
CMFCRibbonInfo::XID::~XID(v3);
return;
}
if ( NSACTIVATE_GetProductLocalServerAddress(1, 7, v3) )
{
isactive_5252DC = sub_449170(dword_5251B0);
CMFCRibbonInfo::XID::~XID(v3);
return;
}
}
else
{
isactive_5252DC = sub_448470(dword_5251B0);
}
}
}
CMFCRibbonInfo::XID::~XID(v3);
}
else
{
dword_525380 = 0;
ATL::CSimpleStringT<char,1>::operator=(&unk_5252E4, "Xshell");
__WriteInfoAppLog(0, L"Borrow checkout succeeded\n");
dword_5252D8 = (int)CreateThread(0, 0, StartAddress, dword_5251B0, 0, &ThreadId);
isactive_5252DC = 1;
dword_5252E0 = 1;
}
}
}
标签:XID,sub,int,524B70,7.0,0122r,Xshell,dword,5252DC
From: https://www.cnblogs.com/DirWang/p/17233978.html