Új hozzászólás Aktív témák
-
Bumbi0
csendes tag
válasz
ArchElf
#1161
üzenetére
Úgy néz ki elakadtam!
Ennek http://www.codeproject.com/KB/threads/winspy.aspx és a fentebb beszúrt linkeknek a segitségével próbálom megoldani, hogy más program memóriájában tudjak keresni.
A most linkelt linken a 3. módszer próbálom megvcalósitani, a kód injektálást a program memóriájába. Ott egy ilyen összegzés látható:
Now, we can summarize this technique in the following steps:
1, Retrieve a HANDLE to the remote process (OpenProces).
2, Allocate memory in the remote process's address space for injected data (VirtualAllocEx).3, Write a copy of the initialised INJDATA structure to the allocated memory (WriteProcessMemory).
4, Allocate memory in the remote process's address space for injected code.
5, Write a copy of ThreadFunc to the allocated memory.
6, Start the remote copy of ThreadFunc via CreateRemoteThread.
7, Wait until the remote thread terminates (WaitForSingleObject).
8, Retrieve the result from the remote process (ReadProcessMemory or GetExitCodeThread).
9, Free the memory allocated in Steps #2 and #4 (VirtualFreeEx).
10, Close the handles retrieved in Steps #6 and #1 (CloseHandle).Elvileg az első kettőt megcsináltam, de nem értem hogy milyen kódot kéne bejuttatnom a process memóriájába!
Az előző hozzászólásban emlitett linkenhez (http://www.codeproject.com/KB/threads/MDumpAll.aspx) hasonló dolog kellene, hogy csak simán a Process memóriában stringet keresni, az egész C-ben van megirva és nem sokat értek belőlle!
Sajnos nem tudom, hogy folytathatnám tovább. Azt nem értem, hogy a ProcDumpos linken nem is emlitenek DLL/kód injektálást és tud a memóriában olvasni, a másik módszernél akkor miért kell?
Előre is köszönöm szépen a segitségeteket!
Eddig igy néz ki a kód:
[DllImport("user32.dll", SetLastError=true)]
static extern uint GetWindowThreadProcessId(IntPtr hWnd, out uint lpdwProcessId);[DllImport("kernel32.dll")]
static extern IntPtr OpenProcess(ProcessAccessFlags dwDesiredAccess, [MarshalAs(UnmanagedType.Bool)] bool bInheritHandle, UInt32 dwProcessId);[Flags]
enum ProcessAccessFlags : uint
{
All = 0x001F0FFF,
Terminate = 0x00000001,
CreateThread = 0x00000002,
VMOperation = 0x00000008,
VMRead = 0x00000010,
VMWrite = 0x00000020,
DupHandle = 0x00000040,
SetInformation = 0x00000200,
QueryInformation = 0x00000400,
Synchronize = 0x00100000
}[DllImport("kernel32.dll", SetLastError = true, ExactSpelling = true)]
static extern IntPtr VirtualAllocEx(IntPtr hProcess, IntPtr lpAddress, UInt32 dwSize, AllocationType flAllocationType, MemoryProtection flProtect);[Flags]
public enum AllocationType : uint
{
Commit = 0x1000,
Reserve = 0x2000,
Decommit = 0x4000,
Release = 0x8000,
Reset = 0x80000,
Physical = 0x400000,
TopDown = 0x100000,
WriteWatch = 0x200000,
LargePages = 0x20000000
}[Flags]
public enum MemoryProtection : uint
{
Execute = 0x10,
ExecuteRead = 0x20,
ExecuteReadWrite = 0x40,
ExecuteWriteCopy = 0x80,
NoAccess = 0x01,
ReadOnly = 0x02,
ReadWrite = 0x04,
WriteCopy = 0x08,
GuardModifierflag = 0x100,
NoCacheModifierflag = 0x200,
WriteCombineModifierflag = 0x400
}void str_Hotkey()
{
IntPtr hwnd, processHandle, remoteBuffer;
uint threadID, procID = 0;
const uint bufferSize = 1024;hwnd = GetWindowUnderCursor(); // Window handle-jének az átadása
GetWindowThreadProcessId(hwnd, out procID); // Window handle-ből ProcessID-nek a visszakapása
processHandle = OpenProcess(ProcessAccessFlags.All, true, procID); // Elvileg a process megynitása
remoteBuffer = VirtualAllocEx(processHandle, IntPtr.Zero, bufferSize, AllocationType.Commit, MemoryProtection.ExecuteWriteCopy); // Elvileg a process memóriájában foglal le memóriát a kódnak.}
Új hozzászólás Aktív témák
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- Kávé kezdőknek - amatőr koffeinisták anonim klubja
- Linux kezdőknek
- Arc Raiders
- Menekül a HEVC licencdíja elől a HP és a Dell
- Luck Dragon: Asszociációs játék. :)
- Futás, futópályák
- Samsung LCD és LED TV-k
- Túra és kirándulás topic
- Jogász topik
- Mennyibe fog kerülni a Steam Machine?
- További aktív témák...
- Dobozos ÚJ Asus Vivobook 15 Intel Core 7 150U 16 GB RAM 1 TB SSD FHD Garancia
- Xbox Series S 512 GB, Minden tartozékával kiváló állapotban
- Eladó/Lenovo X240 Ultrabook/I5-4200U/8GB DDR3/Win 10Home/12,5" FHD/ !ÉRINTŐKÉP!/!!!
- Bomba ár! Lenovo ThinkPad T14s G2 - i7-11GEN I 16GB I 1TSSD I 14" FHD Touch I W11 I Cam I Gari!
- Bomba ár! Lenovo ThinkPad L460 - Intel 3955U I 8GB I 128GB SSD I 14" FHD I Cam I W10 I Garancia!
- Ikea Eilif Paraván, asztali elválasztó
- BESZÁMÍTÁS! ASRock B450M R5 2600X 16GB DDR4 512GB SSD GTX 1050Ti 4GB AIGO B352A Chieftec 400W
- ÁRGARANCIA!Épített KomPhone Ryzen 5 7600X 32/64GB RAM RTX 5060 Ti 8GB GAMER PC termékbeszámítással
- Apple iPhone XR 64GB, Kártyafüggetlen, 1 Év Garanciával
- ÚJ Parkside 10000 mAh powerbank 3 év garanciával.
Állásajánlatok
Cég: ATW Internet Kft.
Város: Budapest
Cég: Laptopműhely Bt.
Város: Budapest

