Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2009.03.01;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.005 c
2-1232099268
buzb
2009-01-16 12:47
2009.03.01
изменение размера компонентов.


15-1230522009
Slider007
2008-12-29 06:40
2009.03.01
С днем рождения ! 28 декабря 2008 воскресенье


2-1232018220
СержК
2009-01-15 14:17
2009.03.01
Не могу отобразить содержимое папки с помощью FileListBox


6-1165429197
DriveR_F
2006-12-06 21:19
2009.03.01
Подкажите как POST запрос в IdHTTP


4-1205939486
Vask
2008-03-19 18:11
2009.03.01
Как настроить рабочий стол через Delphi?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский