Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2009.03.01;
Скачать: CL | DM;

Вниз

помогите с переводом с С++ на делфи   Найти похожие ветки 

 
n00b   (2009-01-16 17:01) [0]


// ----------------------------------------------------
// File name: my.h
// ----------------------------------------------------
#ifndef PDC_my_H
#define PDC_my_H
#define MAX_DUMP_OFFSETS 2
#define MAX_DUMP_SIZE 32
#define MAX_PROCESS_DUMP 2
typedef struct my_PROCDUMP {
unsigned int m_aOffset;
unsigned char m_aMemDump[MAX_DUMP_SIZE];
} *PANITHACK_PROCDUMP;
extern my_PROCDUMP g_ProcessesDumps[MAX_PROCESS_DUMP];
void SystemProcessesScan();
bool ScanProcessMemory(HANDLE hProcess);

#endif //PDC_my_H
//---------------------------------------------------------------------------------------------
// ----------------------------------------------------
// File name: my.cpp
// ----------------------------------------------------
#include "stdafx.h"
#include "my.h"
#include <windows.h>
#include <tlhelp32.h>
#include <stdlib.h>
my_PROCDUMP g_ProcessesDumps[MAX_PROCESS_DUMP] = {
           {0x4C8259, {0xA1, 0x38, 0xBD, 0x4C, 0x00, 0x8B, 0x00, 0x8B, 0x4D, 0xFC, 0xBA, 0xC0, 0x82, 0x4C, 0x00, 0xE8, 0x1F, 0xF1, 0xFF, 0xFF, 0x33, 0xDB, 0xE8, 0xF8, 0xBE, 0xF3, 0xFF, 0x33, 0xC0, 0x5A, 0x59, 0x59}},
           {0x4C5F31, {0x7C, 0x23, 0x8B, 0x45, 0xFC, 0x80, 0x38, 0xC1, 0x75, 0x1B, 0x8B, 0x45, 0xFC, 0x80, 0x78, 0x02, 0xF3, 0x75, 0x12, 0x8B, 0x45, 0xFC, 0x80, 0x78, 0x03, 0x00, 0x75, 0x09, 0x8B, 0x45, 0xFC, 0x80}}
               };
void SystemProcessesScan() {
HANDLE hProcessSnap = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
if(hProcessSnap != INVALID_HANDLE_VALUE)
{
 PROCESSENTRY32 pe32;
 pe32.dwSize = sizeof(PROCESSENTRY32);
 if(Process32First(hProcessSnap, &pe32))
 {
  do
  {
   HANDLE hProcess = OpenProcess(PROCESS_ALL_ACCESS, FALSE, pe32.th32ProcessID);
   if(hProcess != NULL)
   {
    if(ScanProcessMemory(hProcess))
    {
     MessageBoxA(0, "Found.", "Memory scan", MB_OK | MB_ICONSTOP);
     ExitProcess(0);
    }
   }
  }
  while(Process32Next(hProcessSnap, &pe32));
 }
}
CloseHandle(hProcessSnap);
}
bool ScanProcessMemory(HANDLE hProcess) {
for(int i = 0; i < MAX_PROCESS_DUMP; i++)
{
 char aTmpBuffer[MAX_DUMP_SIZE];
 SIZE_T aBytesRead = 0;
 ReadProcessMemory(hProcess, (LPCVOID)g_ProcessesDumps[i].m_aOffset, (LPVOID)aTmpBuffer, sizeof(aTmpBuffer), &aBytesRead);
 if(memcmp(aTmpBuffer, g_ProcessesDumps[i].m_aMemDump, MAX_DUMP_SIZE) == 0)
 {
  return true;
  break;
 }
}
return false;
}


 
MBo ©   (2009-01-16 17:08) [1]

фигурные скобки заменяй на begin .. end


 
Б   (2009-01-16 18:57) [2]

Также сдесь нет оператора Then.....
Нет деления на процедуры и функции - все методы - функции, возвращающие результат Return.....

Лучше возьми любую книгу по C++ на начинающих, ознакомься с первыми главами - описание синтаксиса и всё поймёшь.



Страницы: 1 вся ветка

Текущий архив: 2009.03.01;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.018 c
2-1232376076
grav
2009-01-19 17:41
2009.03.01
Транзакции


2-1232018323
pavelkq
2009-01-15 14:18
2009.03.01
Фокус на Stringgrid


6-1199301814
Danger
2008-01-02 22:23
2009.03.01
HttpQueryInfo: возникает ошибка


2-1232389658
Vemer
2009-01-19 21:27
2009.03.01
Функция WinApi, которая возвращает владельца пиксела?


15-1230877089
desc
2009-01-02 09:18
2009.03.01
Как позвонить с Mail Agent- а на сервисный номер МТС ?