Hirdetés
- Sony Xperia 1 V - kizárólag igényeseknek
- Xiaomi Mi 9 - egy híján
- Google Pixel topik
- iOS alkalmazások
- iPhone topik
- Nothing Phone 2a - semmi nem drága
- Bemutatkozott a Snapdragon 8 Gen 5
- Samsung Galaxy S23 Ultra - non plus ultra
- Motorola Edge 50 Neo - az egyensúly gyengesége
- Motorola Edge 60 Fusion - nem csak a forma időtálló
Ú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!
- THE G-LAB Combo Tungsten Bolti ár:20k INGYEN FOXPOST
- ÚJ HP Business Slim Smartcard Bolti ár:17k INGYEN FOXPOST
- Új, bontatlan Kingston FURY 16GB DDR5 6000MHz CL36 Beast XMP/EXPO - 2 év bolti garival! -
- HP ProBook 430 G3, 13,3" HD kijelző, I5-6200U CPU, 8GB DDR3, 128GB SSD, W11, Számla, 1 év garancia (
- Lenovo Thinkpad T470S, 14" FHD kijelző, I5-6200U CPU, 8GB DDR4, 128GB SSD, W11, Magyar bill, Akku X,
- BESZÁMÍTÁS! Logitech G920 Driving Force Racing kormányszett
- LG 49WQ95X-W - 49" NANO IPS - 5120x1440 Dual QHD - 144Hz - USB Type-C - HDR 400 - G-Sync - FreeSync
- Új Asus 15 Expertbook FHD Nano i5-13420H 4.6Ghz 16GB DDR5 512GB SSD UHD Graphics XE Win11 Garancia
- Bontatlan iPhone 14 (128 GB) (rendelhető)
- Samsung Galaxy A52s 128GB, Kártyafüggetlen, 1 Év Garanciával
Állásajánlatok
Cég: ATW Internet Kft.
Város: Budapest
Cég: BroadBit Hungary Kft.
Város: Budakeszi


