飘云阁

 找回密码
 加入我们

QQ登录

只需一步,快速开始

查看: 2305|回复: 0

[求助] 超级全能音频转换器loader

[复制链接]
  • TA的每日心情
    开心
    2021-10-9 09:15
  • 签到天数: 2 天

    [LV.1]初来乍到

    发表于 2010-6-2 17:57:25 | 显示全部楼层 |阅读模式
    尝试写loader,不知道为什么修改地址$004B82B6总是Bytes   don 't   match ,希望各老师指点
    1. var
    2.     i:   Integer;
    3.     cl:   PChar;
    4.     si:   TStartupInfo;
    5.     pi:   PROCESS_INFORMATION;
    6.     Buffer:   array[0..5]   of   Byte;
    7.     nByteRead,   nByteWrite:   Cardinal;
    8.     NewBytes:   array[0..5]   of   Byte;
    9. const
    10.     BaseAddress:   Pointer   =   Pointer($004B82B6);
    11.     Original:   array[0..5]   of   Byte = ($8B,$80,$C4,$04,$00,$00);
    12.     FName   =   'MP3.exe';
    13.     Err1   =   'Can ''t   CreateProcess';
    14.     Err2   =   'Can ''t   ReadProcessMemory';
    15.     Err3   =   'Bytes   don ''t   match ';
    16.     Err4   =   'Can ''t   WriteProcessMemory';
    17. begin
    18.   NewBytes[0] := $8B;
    19.   NewBytes[1] := $C2;
    20.     for   i   :=   2   to   5   do
    21.         NewBytes[i]   :=  $90;

    22.     ZeroMemory(@si,   SizeOf(si));
    23.     si.cb   :=   SizeOf(si);
    24.     cl   :=   GetCommandLine;
    25.     if   CreateProcess(FName,   cl,   nil,   nil,   False,   NORMAL_PRIORITY_CLASS,   nil,   nil,   si,   pi)   then
    26.     begin
    27.         WaitForInputIdle(pi.hProcess,INFINITE);
    28.         if   ReadProcessMemory(pi.hProcess, BaseAddress, @NewBytes, 6, nByteRead)   then
    29.         begin
    30.             for   i   :=   0   to   5   do
    31.                 if   Buffer[i]   <>   Original[i]   then   Break;
    32.             if   i   =   5   then
    33.             begin
    34.                 if   not   WriteProcessMemory(pi.hProcess, BaseAddress,  @NewBytes, 6,   nByteWrite)   then   ShowMessage(Err4)
    35.             end   else   ShowMessage(Err3);
    36.         end   else   ShowMessage(Err2);
    37.         CloseHandle(pi.hProcess);
    38.         CloseHandle(pi.hThread);
    39.     end   else   ShowMessage(Err1);
    40. end;
    复制代码
    PYG19周年生日快乐!
    您需要登录后才可以回帖 登录 | 加入我们

    本版积分规则

    快速回复 返回顶部 返回列表