|
|
|
สอบถามการ compile ไฟล์ dll เข้ารหัส xor จาก vs2010 |
|
|
|
|
|
|
|
compile แล้วติดเออเร่อ ต้องแก้ยังไงครับ
โค้ด..
#include <windows.h>
#include <stdio.h>
#include <string.h>
#include "xorstr.h"
#include "detours.h"
#pragma comment(lib,"detours.lib")
#define ARRAYSIZE(x) sizeof(x)/sizeof(x[0])
DWORD g_ProtectAddress[] =
{
0x00403B23
};
DWORD RandomKey;
char* pszKey;
DWORD GetRandomValue()
{
DWORD value;
__asm
{
rdtsc
mov value ,eax
}
return value;
}
DWORD GetJmpAddr(PBYTE pJmp)
{
DWORD m_Addr;
__asm
{
mov eax,pJmp
add eax,[eax+1]
add eax,5
mov m_Addr,eax
}
return m_Addr;
}
__declspec(naked) void _protectme()
{
__asm
{
pushfd
push edx
push eax
mov eax,RandomKey
not eax
xor eax,pszKey
not eax
mov edx,[esp+0xC]
mov [esp+0xC],eax
mov eax, edx
pop edx
push eax
mov eax, dword ptr [esp+0x8]
push eax
popfd
mov eax, dword ptr [esp+0x4]
retn 0x8
}
}
void Initialize()
{
RandomKey = GetRandomValue();
pszKey = new char[20];
strcpy(pszKey,/*0x00403B23*/XorStr<0x36,11,0xBC2C6EF7>("\x06\x4F\x08\x09\x0E\x0B\x0F\x7F\x0C\x0C"+0xBC2C6EF7).s);
__asm
{
not pszKey
mov eax,RandomKey
not eax
xor pszKey,eax
}
DWORD oldProtect;
for(int i=0;i<ARRAYSIZE(g_ProtectAddress);i++)
{
DWORD oldAddress = g_ProtectAddress[i];
DetourTransactionBegin();
DetourUpdateThread(GetCurrentThread());
DetourAttach((void**)&g_ProtectAddress[i],&_protectme);
DetourTransactionCommit();
VirtualProtect((PVOID)oldAddress,4,PAGE_EXECUTE_READWRITE,&oldProtect);
((PBYTE)oldAddress)[0] = 0xE8;
}
}
BOOLEAN WINAPI DllMain(HINSTANCE hDllHandle,DWORD nReason,LPVOID Reserved )
{
switch(nReason)
{
case DLL_PROCESS_ATTACH:
Initialize();
break;
case DLL_PROCESS_DETACH:
break;
}
return TRUE;
}
เออเร่อ ...
Error 2 error C2440: '<function-style-cast>' : cannot convert from 'System::String ^' to 'XorStr<XORSTART,BUFLEN,XREFKILLER>'
Tag : VS 2010 (.NET 4.x), C, Windows
|
|
|
|
|
|
Date :
2017-10-09 11:09:55 |
By :
zeies |
View :
1048 |
Reply :
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ติดรูปแบบตรงนี้ ต้องแก้ยังไงครับ
เป็นโค้ด xor เพื่อเข้ารหัสป้องกันไฟล์
strcpy(pszKey,/*0x00403B23*/XorStr<0x36,11,0xBC2C6EF7>("\x06\x4F\x08\x09\x0E\x0B\x0F\x7F\x0C\x0C"+0xBC2C6EF7).s);
|
|
|
|
|
Date :
2017-10-09 11:13:16 |
By :
zeies |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 02
|