


抄了好久,眼睛都有点痛了QAQ
本人能力有限,暂不对该代码进行解读,仅标明大意[]~( ̄▽ ̄)~*。
如果有错误,还请各位指出

1:15 爱莉右眼遭受侵蚀
//阻挡恶意活动
GRESULT IDS::BlockMailciousActivities(GDataSet *target){
GRESULT gr;
if ( !target || CurrentPos(target) != NULL)
return EXCEED_BDUNDARY;
SCAN_THREAD_PARAM *scanParam = new SCAN_THREAD_PARAM;
if (scanParam == NULL) return NOT_VALID_STATE;
scanParam->captureEvent = CreateEvent(g_CAPTURE, TRUE, TRUE, NULL);
if (scanParam->captureEvent == NULL){
gr = GLOBAL_SEARCH(LocateLastPos(target));
delete scanParam;
return gr;}
scanParam->threadHandle = CreateThread
(NULL, 0, &IDS::ScanThread, scanParam, FLAG_BLOCKING);
if (scanParam->threadHandle == NULL){
gr = GLOBAL_SEARCH(LocateLastPos(target));
BlockHandle(scanParm->captureEvent);
delete scanParam;
return gr;}
scanParam->enumurate = NULL;
scanParam->instance = this;
LocateOnTarget(&target)
ResultThread(scanParam->threadHandle);
return SUCCESS;
}

1:24 武器被侵蚀
//防御恶意攻击
GRESULT IPS::DefenseAgainstMalAttacks(GDataSet *target){
SetDefenseLevel(DEFENCE_LEVEL_10, true, kGlobal);
if (m_ObjExist(target))
AnalysePreference(target);
if(g_IDS->VDB????lwarcDetected){ //这里看不清
g_IDS->ScanForComponets();
g_AVDB->VerifySignature(target);
if (!g_AVDB->IsContain(target))
g_AVDB->UpdateToDatabase(target);
bool m_flags = EXECUTE_FLAG(g_BindFlags, tElimination);
if (m_flags){
FlagsAndAttributes |= tAttrIsolate;
m_handle = CreateEvent(m_flags, DesireAccess, ExecuteMode, NULL,
CreationDisposition,
FlagsAndAttributes, NULL);
if (m_handle == INVALID_HANDLE_VALUE)
gr = GLOBAL_SEARCH(LocateLastPos(target));
g_Operator->Add(target);
g_Operator->SetTargetHandle((void*)m_handle);}
else {
return NOT_VAILD_STATE;}}
return SUCCESS;
}

1:53 爱莉手臂被侵蚀
//移除依靠
GRESULT IPS::RemoveDependencies(GDataSet *target, ULONG const flags){
if( !target || CurrentPos(target) == NULL)
return EXCEED_BOUNDARY;
GCOORD pos;
if (g_tAttr){
g_tAttr->GetLocation(&pos);}
g_BindFlags = 0;
????? DesireAccess = 0, ExecuteMode = 0, FlagAndAttributes = 0;
g_BindFlags = flags;
gr = SUCCESS;
if (g_BindFlags > 0){
DesireAccess |= EXECUTE_FLAG
(g_BindFlags, t????) ? ??? : 0;
DesireAccess |= EXECUTE_FLAG
(g_BindFlags, t????) ? ??? : ???;
ExecuteMode |= EXECUTE_FLAG
(g_BindFlags, tExecute????) ? EXECUTE_DELETE_??? : 0;
ExecuteMode |= EXECUTE_FLAG
(g_BindFlags, tExecute????) ? EXECUTE_DELETE_??? : ???;
ExecuteMode |= EXECUTE_FLAG
(g_BindFlags, tExecute?????) ? EXECUTE_?????_???;
ExecuteMode |= EXECUTE_FLAG
(g_BindFlags, tExecuteTime) ? EXECUTE_DELETE_??? : 0;
FlagAndAttributes |= EXECUTE_FLAG
(g_BindFlags, tAttrNormal) ? OBJECT_ATTRIBUTE_NORMAL : 0;
FlagAndAttributes |= EXECUTE_FLAG
(g_BindFlags, tAttrReadonly) ? OBJECT_ATTRIBUTE_VALID : 0;
FlagAndAttributes |= EXECUTE_FLAG
(g_BindFlags, tAttrSystem) ? OBJECT_ATTRIBUTE_SYSTEM : 0;
FlagAndAttributes |= EXECUTE_FLAG;
(g_BindFlags, tAttrBidden) ? OBJECT_ATTRIBUTE_BIDDEN : 0;
FlagAndAttributes |= EXECUTE_FLAG;
(g_BindFlags, tAttrPersistent) ? OBJECT_ATTRIBUTE_PERSISTENT : 0;}
BreakRelatives(pos, DesireAccess, ExecuteMode, FlagAndAttributes);
g_arr = (ULONG)(gr & 0xffff);
return gr;
}

1:57 水晶盾被侵蚀
//清除对象
GRESULT IPS::EliminateObjective(GDataSet *target){
if( !target || CurrentPos(target) == NULL)
return EXCEED_BOUNDARY;
if (EXECUTE_FLAG(g_BindFlags, tExecNow)){
ExexAttr |= EXEC_NOW;}
else if (EXECUTE_FLAG(g_BindFlags, tExecPersistent)){
ExexAttr |= EXEC_PERSISTENT;}
else if (EXECUTE_FLAG(g_BindFlags, tExecForce)){
ExexAttr |= EXEC_FORCE;}
else if (EXECUTE_FLAG(g_BindFlags, tExecExist)){
ExexAttr |= EXEC_EXISTINE;}
else{
return G_INVALIDARG;}
while (g_IDS ???? (target)){
g_Operator->AddSchema("ELIMINATE");
g_Operator->Add(&target)
g_Operator->Execute();}
RestructuringResources();
return SUCCESS;
}


2:16 爱莉被捕获
//撤销往世乐土权限
GRESULT IDS::RevokeElysianRealmAuthorithy(GDataSet *target){?
GDB *conn;
conn = RealConnect(g_cfg.server, g_cfg.user, g_cfg_pw);
if(!conn){
return CONNECTED_FAILED;}
else {?
char buffer[100];
sprintf(buffer,
"REVOKE ElysianRealm ON *.* FROM '%s'&'%'",
"Elysia");
cmd = new SrvCommand(buffer, conn);
result = cmd.Execute();
if (!result){
return REMOVE_FAILD;}?}
return SUCCESS;
}
//撤销(爱莉的)往世乐土权限
g_IDS->RevokeElysianRealmAuthorithy(Elysia);
//2:20
//消除人性模拟
GRESULT IDS::EraseHumanitySimulation(GDataSet *target){?
GetSimData(target->id,
m_rows,
m_id,
m_max,
kGlobal);
for(size_t j = 0; j < m_date.size(); j++){
for(size_t k = cur_row + 1; k < m_rows; k++){
val = val * m_data[j][k];}}?
g_Operator->AddSchema("UNIT_ERASE")
g_Operator->AnalyseSimUnits(&target, val);
g_Operator->Execute();
return SUCCESS;
}
//消除(爱莉的)人性模拟
g_IDS->EraseHumanitySimulation(Elysia);


2:23爱莉被侵蚀
//擦除与“十三英桀”相关记忆
GRESULT IDS::EraseMemmeryOfTheMOTHs(GDataSet *target){
size_t cur_row = 0;
double val = 1.0;
size_t cur_index = 0;
for(size_t i = 0; i < m_rows; i++){
double m_max = m_data[cur_index][cur_row];
for(size_t j = cur_row + 1; j < m_rows; j++){
if(m_data[cur_index][j] > m_max){
m_max = m_data[cur_index][j];}}
if(i != m_id){
val = val * m_data[cur_index][cur_row];
cur_index++;}}
g_Operator->AddSchema("UNIT_ERASE");
g_Operator->AnalyseMemUnits(&target, val);
g_Operator->Execute();
return SUCCESS;
}
//擦除(爱莉的)与“十三英桀”相关记忆
g_IDS->EraseMemmeryOfTheMOTHs(Elysia);
//删除永恒轮回
GRESULT IDS::DeleteEternalReturn(GDataSet *target){
GStatus status;
GMedic medic(target);
GDependencyRes resIt;
DESTORY_CONTEXT(target->context);
GMessage::removeCallbacks(callbackIds);
Check_GSTATUS(medic.dereg(target->id));
CHECK_GSTATUS(medic.deregrCommand("EternalReturn"));
for(resIt.reset(Gloop::m_productionNode);
!resIt.isDone();
resIt.next()){
GObject pNode = resIt.item();
GDependencyRes resNode(pNode);
if(m_idExists(resNode.typeId())){
ProReset(resNode.typeId());}}
return SUCCESS;
}
g_IDS->DeleteEternalReturn(Elysia);

以上为侵蚀律的代码,下面为红屏电脑的代码(爱莉的自我修复)
//恢复自我
GRESULT RestoreEgo()
{
CONIT dim;
vector<GDATA>data_uint;
vector<GDATA>cache;
g_DB->RecoverNign->Initinalise();
g_DB->Rollback();
for(int i=0; i<sizeof(m_dim); i++){
dim = m_dim.pop_back();
data_unit.push_back(GetDataFromDim(dim));
}
block_size = max(1024 * 1024, GetSize(data_uint) / 1000);
g_DB->GetRecord(cache, "Elysia", "Ego")
for(GUNIT unit *cache.begin();
unit!=cache.end();
unit++)
{
GetCursorPos();
while(g_cursor < GetEndOf(*unit) - block_size - 4){
block_index = GetByteData(*unit, 4);
block_index %= (block_size / 1024);
if(Seek(g_cursor + block_size) = 1024){
data_uint.push_back(GetByteData(*unit, 1024));
} else {
return SEEK_FAILED;
}
}
int min_size;
min_size = min(GetEndOf(*unit) - g_cursor, 1024 * 10);
data_uint.push_back(GetByteData(min_size));
}
Connect(data_uint);
return SUCCESS;
}
//修复粉色纯真之心
GRESULT RestorePurePinkHeart(){
...
} 其实细看的话,侵蚀律的代码块末端花括号(})会缩到最后一行有意义的代码后面,而爱莉的代码块则不会,相比之下更加标准。