+ Reply to Thread
Results 1 to 9 of 9

Thread: Преобразование Delphi в C++

  1. #1

    Default Преобразование Delphi в C++

    Code:
    procedure FindPlayerInfo;
    begin
    PPointer(Cardinal(@PushAddrPattern) + 1)^ := Mem_FindPattern(CLBase, CLBase_End, @PlayerInfoString, StrLen(PlayerInfoString), 0);
    PlayerInfo := Mem_FindPattern(CLBase, CLBase_End, @PushAddrPattern, 5, 6);
    if FarProc(PlayerInfo, CLBase, CLBase_End) then
     MsgAPI.Error('Couldn''t find ^cs_player_info_t pointer.');
    PlayerInfo := Pointer(PCardinal(PlayerInfo)^ + 8 + Cardinal(Protocol = 47) * SizeOf(Cardinal));
    if FarProc(PlayerInfo, CLBase, CLBase_End) then
     MsgAPI.Error('Couldn''t find ^cs_player_info_t pointer.');
    end;
    MsgAPI.Error(inttohex(DWORD(PlayerInfo),8));
    end.
    Code:
    PushAddrPattern: array[0..4] of Byte = ($68, $00, $00, $00, $00);
    Code:
    PlayerInfoString: array[0..20] of Char = 'cl_career_difficulty';
    Объясните пожалуйста как работает эта структура? И как ее собсно реализовать на C++
    Если нужно больше информации, напишите - приложу.

  2. Пользователь сказал cпасибо:
    Dark Koder (20-02-2014)
  3. #2
    500mhz's Avatar

    Default Re: Преобразование Delphi в C++

    Это КонтерСтрайк бот а не дельфи )

  4. Пользователь сказал cпасибо:
    Dark Koder (20-02-2014)
  5. #3
    Dark Koder's Avatar

    Default Re: Преобразование Delphi в C++

    это кусок кода из Аима. Довольно старый и на новых версиях (почти) не рабочий..
    Magicus Technicus
    Магистр Кодерус


  6. #4

    Default Re: Преобразование Delphi в C++

    Quote Originally Posted by Dark Koder View Post
    это кусок кода из Аима. Довольно старый и на новых версиях (почти) не рабочий..
    Это кусок кода из базы от ratwayer, но это не суть, мне просто нужно понять как эта процедура работает, перекинуть на си я думаю смогу сам.

  7. #5
    500mhz's Avatar

    Default Re: Преобразование Delphi в C++

    char PlayerInfoString[20]="cl_career_difficulty";

  8. #6

    Default Re: Преобразование Delphi в C++

    Code:
    byte PushAddrPattern[] = {0x68, 0x00, 0x00, 0x00, 0x00};
      char PlayerInfoString[] = "cl_career_difficulty";
    
      *(DWORD *)((char *)&PushAddrPattern + 1) = MEM_FindPattern(ClBase, ClSize, (BYTE*)PlayerInfoString, (char*)strlen(PlayerInfoString));
    
    
      DWORD Result = MEM_FindPattern(ClBase,ClSize,(BYTE*)PlayerInfoString,(char*)sizeof(PlayerInfoString));
    
      if (!Result)
      {
       //Result = MEM_FindPattern(ClBase,ClSize,strold,0);
       if (!Result)
        MessageBox(0,"error...","msg", MB_OK);
      }
    
      return (HANDLE)Result;
    Вот кое что наговнокодил, но работать отказывается. Что думаете?
    Last edited by ximera; 20-02-2014 at 17:18. Reason: Мы говорим без мата.

  9. #7
    500mhz's Avatar

    Default Re: Преобразование Delphi в C++

    Телепаты в отпуске - MEM_FindPattern() как должна работать?

  10. #8

    Default Re: Преобразование Delphi в C++

    можно предположить, что примерно так:
    -базовый адрес для поиска(откуда)
    -размер памятки для поиска
    -байты, которые ищем
    -размер байтов, которые ищем

  11. #9
    Dark Koder's Avatar

    Default Re: Преобразование Delphi в C++

    500mhz, сабж [Delphi] BaseHook v2.01

    Magicus Technicus
    Магистр Кодерус


+ Reply to Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
All times are GMT. The time now is 01:30
vBulletin® Copyright ©2000 - 2018
www.reverse4you.org