谁帮我把下面这段代码译成delphi,谢谢!
谁帮我把下面这段代码译成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;
}
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;
}
...全文
相关推荐
delphi屏幕取词源代码(绝对可用!好用!)
标题中的"Delphi屏幕取词源代码"是一个关于使用Delphi编程语言开发的屏幕抓词工具的源代码。这个工具的特色在于它经过了作者的修改,无需安装过程,用户可以直接运行程序,实现屏幕上的文字识别功能。
DELPHI把FORM编译成DLL的写法.rar
在Delphi编程环境中,将一个FORM(用户界面)编译成DLL(动态链接库)是一项常见的任务,这有助于实现代码的复用和模块化。以下将详细介绍如何在Delphi中进行这一操作,以及相关的知识点。
如何将C/C++翻译成delphi
下面是将C/C++程序转换为Delphi的步骤:1. 分析C/C++程序的指针使用情况,确定需要使用类型指针或无类型指针。2. 将C/C++中的指针声明转换为Delphi中的指针声明。3.
delphi 将汉字翻译成拼音缩写的函数
本文将详细介绍一个用于将汉字翻译成拼音首字母的 Delphi 函数,并解释其实现原理。
大家帮我看看这个是Delphi 的什么版本的源码
在您提供的信息中,"大家帮我看看这个是Delphi的什么版本的源码"这个标题暗示了您可能拥有一个包含Delphi源代码的压缩包,而压缩包内的文件名为"top_code"。


语言基础/算法/系统设计
