谁懂C 代码的请进来一下
如果我有一段对文件解密的代码,我要怎么样才能解密文件?我要把FXB解密回N3FXBundle.请帮助我-----------------------------------------------------------------------------------------//
// decode script file..
// 胶农赋飘 颇老 佬绊 秦籍矫糯...
//
#ifdef _N3TOOL
bool CN3FXBundle::DecodeScriptFile(const char* lpPathName)
{
FILE* stream = fopen(lpPathName, "r");
if(!stream) return false;
char szGamePathName;
char szDrive, szDir, szFName, szExt;
_splitpath(lpPathName, szDrive, szDir, szFName, szExt);
_makepath(szGamePathName, szDrive, szDir, szFName, "fxb");
CN3BaseFileAccess::FileNameSet(szGamePathName);
char szLine = "", szCommand = "", szBuf = { "", "", "", ""};
char* pResult = fgets(szLine, 512, stream);
sscanf(szLine, "%s %s %s %s %s", szCommand, szBuf, szBuf, szBuf, szBuf);
if(lstrcmpi(szCommand, "<n3fxbundle>"))
{
fclose(stream);
return false;
}
while(!feof(stream))
{
char* pResult = fgets(szLine, 512, stream);
if(pResult == NULL) continue;
ZeroMemory(szCommand,80);
ZeroMemory(szBuf,80);
ZeroMemory(szBuf,80);
ZeroMemory(szBuf,80);
ZeroMemory(szBuf,80);
sscanf(szLine, "%s %s %s %s %s", szCommand, szBuf, szBuf, szBuf, szBuf);
if(lstrcmpi(szCommand, "<name>")==0)
{
m_strName = szBuf;
continue;
}
if(lstrcmpi(szCommand, "<part>")==0)
{
char szFullPath; //full path 父甸扁..
sprintf(szFullPath,"%s%s",CN3Base::PathGet().c_str(), szBuf);
FXPARTWITHSTARTTIME* pPart = new FXPARTWITHSTARTTIME;
pPart->fStartTime = atof(szBuf);
pPart->pPart = SetPart(szFullPath);
if(!(pPart->pPart)) { delete pPart; continue; }
for(int i=0;i<MAX_FX_PART;i++)
{
if(!m_pPart)
{
m_pPart = pPart;
break;
}
}
continue;
}
if(lstrcmpi(szCommand, "<velocity>")==0)
{
m_fVelocity = atof(szBuf);
continue;
}
if(lstrcmpi(szCommand, "<depend_scale>")==0)
{
if(lstrcmpi(szBuf, "true")==0) m_bDependScale = true;
else m_bDependScale = false;
continue;
}
if(lstrcmpi(szCommand, "<Static_Pos>")==0)
{
if(lstrcmpi(szBuf, "true")==0) m_bStatic = true;
else m_bStatic = false;
continue;
}
}
fclose(stream);
Init();
return true;
}
#endif // end of _N3TOOL
页:
[1]