跪求大神把这段C++代码转换成Delphi

ientium 2018-05-11 09:46:35
#include<Windows.h>
using namespace std;
int* lpBaseAddress = (int*)(0x88D298);
int* dst = (int*)(0xD7552C);
int main()
{
STARTUPINFOA StartupInfo;
PROCESS_INFORMATION ProcessInformation;
memset(&StartupInfo, 0, sizeof(StartupInfo));
StartupInfo.cb = 68;
char Buffer[255];
SIZE_T NumberOfBytesRead;
if (CreateProcessA("hello.exe", 0, 0, 0, 0, 0x24u, 0, 0, &StartupInfo, &ProcessInformation))
{
int v3 = 0x3a;
int v7 = v3 % 1337 + 1;
ReadProcessMemory(ProcessInformation.hProcess, lpBaseAddress, &Buffer, 0x20u, &NumberOfBytesRead);
if (!memcmp(&Buffer, "xiao zu pei qi", 0x1Fu))
{
WriteProcessMemory(ProcessInformation.hProcess, dst, &v7, 4u, &NumberOfBytesRead);
ResumeThread(ProcessInformation.hThread);
return 0;
}
}
return 0;
}
...全文
2315 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
hongss 2018-05-30
  • 打赏
  • 举报
回复
加上 uses Windows; 放到控制台下试试
esunzsq 2018-05-30
  • 打赏
  • 举报
回复
var
  lpBaseAddress : PInteger;
  dst : PInteger;

function main : Integer;
var
  startupInfo : STARTUPINFOA;
  ProcessInformation : PROCESS_INFORMATION;

  buffer : PAnsiChar;
  NumberOfBytesRead : SIZE_T;

  v3 : Integer;
  v7 : Integer;
begin
  ZeroMemory(@startupInfo, SizeOf(startupInfo));
  startupInfo.cb := 68;

  if CreateProcessA('hello.exe', nil, nil, nil, False, $24, nil, nil, startupInfo, ProcessInformation) then
  begin
    v3 := $3A;
    v7 := v3 mod 1337 + 1;
    GetMem(buffer, 255);
    ReadProcessMemory(ProcessInformation.hProcess, lpBaseAddress, buffer, $24, NumberOfBytesRead);
    if Pos('xiao zu pei qi', buffer) = 1 then
    begin
      WriteProcessMemory(ProcessInformation.hProcess, dst, @v7, 4, &NumberOfBytesRead);
      ResumeThread(ProcessInformation.hThread);
      Exit(0);
    end;

  end;

  Exit(0);
end;

1,183

社区成员

发帖
与我相关
我的任务
社区描述
Delphi Windows SDK/API
社区管理员
  • Windows SDK/API社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧