游戏脚本接品逆向
void *__thiscall sub_DB1A40(szFunctionName)
{
if (szFunctionName!=NULL&& strlen(szFunctionName)>0 )
{
if ( *this.UseFlag>1)
{
(*this.UseFlag)--;
pStringMem = AllocateMemoryAndSetHeader(nstrlen);
strcpy(pStringMem, szFunctionName, nstrlen);
this = pStringMem;
return this;
}
else
{
if(nstrlen<=*this.SpaceSize)
{
strcpy(*this.string, szFunctionName,nstrlen);
this.StringLen=nstrlen;
return this;
}
else
{
if(*this.UseFlag==1)
delete(*this);
else
*this.UseFlag=*this.UseFlag-1;
*this= ConstructStringObject(szFunctionName, nstrlen);
return this;
}
}
else
{
if (*this.UseFlag)
{
if(*this.UseFlag!= 1)
{
*this.UseFlag=*this.UseFlag-1;
*this = off_12D60B4;
return this;
}
delete(*this);
}
*this = off_12D60B4;
return this
}
}
int __cdecl sub_DB11C0(int pStringObject, int szString, int nSize)
{
int result; // eax@1
int v4; // ebx@1
int v5; // ecx@1
int v6; // ecx@4
int v7; // esi@5
result = nSize / 4;
v4 = 0;
v5 = szString;
if ( nSize / 4 > 0 )
{
do
{
*(_DWORD *)(pStringObject - szString + v5) = *(_DWORD *)v5;
v5 += 4;
--result;
}
while ( result );
v4 = nSize / 4;
}
v6 = 4 * v4;
if ( 4 * v4 < nSize )
{
v7 = nSize - v6;
result = v6 + pStringObject;
v6 = nSize;
do
{
*(_BYTE *)result = *(_BYTE *)(szString - pStringObject + result);
++result;
--v7;
}
while ( v7 );
}
*(_BYTE *)(v6 + pStringObject) = 0;
return result;
}
posted on 2013-07-11 22:48 findmehere 阅读(260) 评论(0) 编辑 收藏 举报