谁帮我把下面这段代码译成delphi,谢谢!

jackie168 jackie168 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
谁帮我把下面这段代码译成delphi,谢谢!
bool InstallAntiAttach()
{
HMODULE ntdll; // ntdll handle
void* pDbgUiRemoteBreakin; // function handle
DWORD dwOldProtect; // just for fun
DWORD dwCodeSize; // Size of code to copy

// Get ntdll.dll handle
ntdll = GetModuleHandle("ntdll.dll");
if(ntdll)
{
// Get target function addr
pDbgUiRemoteBreakin = GetProcAddress(ntdll, "DbgUiRemoteBreakin");
if(pDbgUiRemoteBreakin)
{
__asm
{
// Get code size
lea eax, __CodeToCopyStart
lea ecx, __CodeToCopyEnd
sub ecx, eax
mov dwCodeSize, ecx
}
// Make sure that we have write rights ...
if(VirtualProtect(pDbgUiRemoteBreakin, dwCodeSize, PAGE_EXECUTE_READWRITE, &dwOldProtect))
{
__asm
{
// Copy code between __CodeToCopyStart and __CodeToCopyEnd
mov edi, pDbgUiRemoteBreakin
lea esi, __CodeToCopyStart
mov ecx, dwCodeSize
rep movsb
// Skip code
jmp __CodeEnd

__CodeToCopyStart:
lea eax, __CodeToCopyEnd
jmp eax
__CodeToCopyEnd:
}

// ***CODE*HERE***
__asm
{
// Clear registers
xor eax, eax
pushfd
mov [esp], eax
popfd
xor ebx, ebx
xor ecx, ecx
xor edx, edx
xor esi, esi
xor edi, edi
xor esp, esp
xor ebp, ebp
// Jump to address 0
jmp eax
}
// ***************

__CodeEnd:;
return true;
}
}
}
return false;
}
...全文

相关推荐

评论 8
收藏 已收藏
分享
返回顶部