Merge remote-tracking branch 'BitBucket/dp0bugfix'

Conflicts:
	.gitignore
	TitanEngine/TitanEngine.cpp
This commit is contained in:
mr.exodia 2014-01-26 13:17:52 +01:00
commit 7f300831c1
2 changed files with 51 additions and 7 deletions

View File

@ -625,12 +625,20 @@ bool EngineIsPointedMemoryString(ULONG_PTR PossibleStringPtr)
{ {
i = MaxDisassmSize; i = MaxDisassmSize;
} }
else
{
MaxDisassmSize = 512;
}
}
else
{
MaxDisassmSize = 512;
} }
TestChar = *((BYTE*)PossibleStringPtr); TestChar = *((BYTE*)PossibleStringPtr);
while(i > NULL && StringIsValid == true && TestChar != 0x00) while(i > NULL && StringIsValid == true && TestChar != 0x00)
{ {
TestChar = *((BYTE*)PossibleStringPtr); TestChar = *((BYTE*)PossibleStringPtr);
if(TestChar < 32 || TestChar > 126) if(TestChar < 32 || TestChar > 126)
{ {
@ -3912,6 +3920,10 @@ __declspec(dllexport) bool TITCALL AddOverlayW(wchar_t* szFileName, wchar_t* szO
} }
else else
{ {
return false;
}
else
{
return false; return false;
} }
@ -18717,6 +18729,38 @@ __declspec(dllexport) long long TITCALL ImporterGetRemoteDLLBaseEx(HANDLE hProce
} }
return(NULL); return(NULL);
} }
__declspec(dllexport) bool TITCALL ImporterRelocateWriteLocation(ULONG_PTR AddValue)
{
unsigned int i;
ULONG_PTR RealignData = NULL;
if(impDLLNumber)
{
for(i = 0; i < impDLLNumber + 1; i++)
{
RtlMoveMemory(&RealignData, (LPVOID)impDLLDataList[i][0], sizeof ULONG_PTR);
RealignData = RealignData + AddValue;
RtlMoveMemory((LPVOID)impDLLDataList[i][0], &RealignData, sizeof ULONG_PTR);
RtlMoveMemory(&RealignData, (LPVOID)((ULONG_PTR)impDLLDataList[i][0] + sizeof ULONG_PTR), sizeof ULONG_PTR);
RealignData = RealignData + AddValue;
RtlMoveMemory((LPVOID)((ULONG_PTR)impDLLDataList[i][0] + sizeof ULONG_PTR), &RealignData, sizeof ULONG_PTR);
}
for(i = 0; i < 1000; i++)
{
if(impOrdinalList[i][0] != NULL && impOrdinalList[i][1] != NULL)
{
impOrdinalList[i][0] = impOrdinalList[i][0] + AddValue;
}
}
return(true);
}
else
{
return(false);
}
return(false);
}
__declspec(dllexport) bool TITCALL ImporterIsForwardedAPI(HANDLE hProcess, ULONG_PTR APIAddress) __declspec(dllexport) bool TITCALL ImporterIsForwardedAPI(HANDLE hProcess, ULONG_PTR APIAddress)
{ {
if((ULONG_PTR)EngineGlobalAPIHandler(hProcess, NULL, APIAddress, NULL, UE_OPTION_IMPORTER_RETURN_FORWARDER_DLLINDEX) > NULL) if((ULONG_PTR)EngineGlobalAPIHandler(hProcess, NULL, APIAddress, NULL, UE_OPTION_IMPORTER_RETURN_FORWARDER_DLLINDEX) > NULL)