Giriş yap
En iyi yollayıcılar
Hello EMO | ||||
EMO | ||||
eMoStyLe | ||||
BesimBICER | ||||
GameKinG | ||||
Crysis | ||||
~>!.DεvιLρяιεsт.!<~ | ||||
MeTaL | ||||
TrueCrime | ||||
djhayal3t |
Istatistikler
Toplam 203 kayıtlı kullanıcımız varSon kaydolan kullanıcımız: crayzboy76
Kullanıcılarımız toplam 1186 mesaj attılar bunda 862 konu
Arama
Sosyal yer imi
Sosyal bookmarking sitesinde Emo, Emo nedir, Emo resimleri, Emo Kıyafetleri, Emo Sözleri, Emo Oyunları, EmoTurkey, Emo Nickler, Emo Avatarları, Punk, Punk Resimleri, Punk Avatarları, Rock, Rock Resimleri, Rock Avatarları, Msn Nickleri, Msn Avatarları, Müzik adresi saklayın ve paylaşın
Sosyal bookmarking sitesinde EMO Style ForumPro - Hos Geldiniz adresi saklayın ve paylaşın
Kimler hatta?
Toplam 2 kullanıcı online :: 0 Kayıtlı, 0 Gizli ve 2 Misafir Yok
Sitede bugüne kadar en çok 217 kişi C.tesi Tem. 29, 2017 1:46 am tarihinde online oldu.
En son konular
Reklam
InterProcess Communication with Shared Memory
1 sayfadaki 1 sayfası
InterProcess Communication with Shared Memory
Reference: Board Message
Help me build this tool! Please download the libraries and or the test project and provide some feedback. I'm open to ideas, comments, or health discussion !
I modified some things to my original shared memory project. Before the structure of communication was baked into the libs which make it difficult for uses to modify to suit their own needs. I have since pulled them out of the core lib so that the user can define them as they see fit. (keep in mind this has nothing to do with my IPC_API which uses the communication structure built into the API itself.)
Downloads:
(files were built with VC2008)
Working Binaries [here]
Compiled Libraries [here]
Test Project [here]
Under the hood...
The IPC class holds two sub classes called cIPCClient and cIPCServer which gives it the ability to be a client or server depending on how the end users utilizes it. The IPC class does nothing more then manage the shared memory between client and server.
IPC class
The shared memory is type LPVOID as the core class knows nothing about what information is being passed between applications. Because we are using a client server model I have added the ability to structure two different "packet" message types to be passed between applications, a command packet and a response packet. Communication goes as followed: The server receives some command packet from the client, the server processes the command server side, then returns a response packet back to the client and waits for the next message. Fairly simple and straight forward but not completely useful... yet!
IPC_API
IPC is responsible for managing the communication... but whats being communicated? That's where IPC_API comes in. the IPC_API class is responsible for managing the CONTENT of the communication and the responsibilities of the server. It is nothing more then a class object which contains structured functions to be used between client and server.
Let's take a quick look at the image above and determine whats going on. The server was run first then the client. Both applications print out ther PID for reference before any communication takes place. Once the connection is established, the client sends a series of requests using IPC_API. The first request it makes is to read 6 bytes of memory at location 0x6b000 (the server has a base of 50000) using the following code.
The server reads the command and executes the function. It this case its function #7 which is read memory. The server reads 6 bytes from the SERVERS process prints it to the screen and sends them back to the client. The client receives the response of the server and prints it to the screen. Using IPC and the IPC_API, the client can read the servers memory without opening the process and using ReadProcessMemory() which many games can detect!
Below is the complete list of the transactions between the client and the server in the above image
Current the IPC_API can perform the following:
GetCurrentProcessID()GetPRocAddress()CallFunction( ) (function must be within the server process and only pass words)Read a DWORDWrite a DWORDReadMemory (any length)WriteMemory (any length)SearchMemory (any size)
Board Message
http://www.gamereversal.com/index.php?showtopic=609
Help me build this tool! Please download the libraries and or the test project and provide some feedback. I'm open to ideas, comments, or health discussion !
I modified some things to my original shared memory project. Before the structure of communication was baked into the libs which make it difficult for uses to modify to suit their own needs. I have since pulled them out of the core lib so that the user can define them as they see fit. (keep in mind this has nothing to do with my IPC_API which uses the communication structure built into the API itself.)
Downloads:
(files were built with VC2008)
Working Binaries [here]
Compiled Libraries [here]
Test Project [here]
Under the hood...
The IPC class holds two sub classes called cIPCClient and cIPCServer which gives it the ability to be a client or server depending on how the end users utilizes it. The IPC class does nothing more then manage the shared memory between client and server.
IPC class
The shared memory is type LPVOID as the core class knows nothing about what information is being passed between applications. Because we are using a client server model I have added the ability to structure two different "packet" message types to be passed between applications, a command packet and a response packet. Communication goes as followed: The server receives some command packet from the client, the server processes the command server side, then returns a response packet back to the client and waits for the next message. Fairly simple and straight forward but not completely useful... yet!
IPC_API
IPC is responsible for managing the communication... but whats being communicated? That's where IPC_API comes in. the IPC_API class is responsible for managing the CONTENT of the communication and the responsibilities of the server. It is nothing more then a class object which contains structured functions to be used between client and server.
Let's take a quick look at the image above and determine whats going on. The server was run first then the client. Both applications print out ther PID for reference before any communication takes place. Once the connection is established, the client sends a series of requests using IPC_API. The first request it makes is to read 6 bytes of memory at location 0x6b000 (the server has a base of 50000) using the following code.
- Kod:
x = api.ReadMemory(0x6b000,(BYTE *)return, length);
The server reads the command and executes the function. It this case its function #7 which is read memory. The server reads 6 bytes from the SERVERS process prints it to the screen and sends them back to the client. The client receives the response of the server and prints it to the screen. Using IPC and the IPC_API, the client can read the servers memory without opening the process and using ReadProcessMemory() which many games can detect!
Below is the complete list of the transactions between the client and the server in the above image
- Kod:
x = api.ReadMemory(0x6b000,(BYTE *)junk, length);
x = api.WriteMemory(0x6b000,(BYTE *)"x01x02x03x04x05x06",(BYTE *)junk,length);
x = api.ReadMemory(0x6b000,(BYTE *)junk, length);
x = api.GetCurrentProcessId();
x = api.GetProcAddress("kernel32.dll","OpenProcess");
x = api.ReadDWORD(0x6B002); //Example Server base at 0x50000,.data at 0x6B000 =0x01
x = api.WriteDWORD(0x6B002,10);
printf("verify by Reading againn");
x = api.ReadDWORD(0x6B002);
x = api.CallFunction((DWORD)GetProcAddress(GetModuleHandle("kernel32.dll"),"GetCurrentProcessId"));
x = api.Search(0x50000,0x20000,(BYTE *)"GetProcAddress",14);
Current the IPC_API can perform the following:
GetCurrentProcessID()GetPRocAddress()CallFunction( ) (function must be within the server process and only pass words)Read a DWORDWrite a DWORDReadMemory (any length)WriteMemory (any length)SearchMemory (any size)
Board Message
http://www.gamereversal.com/index.php?showtopic=609
EMO- EMO Team
- Cinsiyet :
Burçlar :
Mesaj Sayısı : 184
Puan : 237693
Rep Puanı : 5
Doğum tarihi : 28/11/89
Kayıt tarihi : 18/05/11
Yaş : 34
Nerden : EMO world
İş/Hobiler : RCE Student / Game Hacking / Learn Beginner C#,C++,Delphi
Lakap : EMO
Similar topics
» C# Memory Scanning
» Memory Hacks
» Changing a memory value. C#
» C# Memory Library
» Read Process Memory C#
» Memory Hacks
» Changing a memory value. C#
» C# Memory Library
» Read Process Memory C#
1 sayfadaki 1 sayfası
Bu forumun müsaadesi var:
Bu forumdaki mesajlara cevap veremezsiniz
Cuma Ağus. 29, 2014 8:33 am tarafından Hello EMO
» goldenchase.net maden yaparak para kazanma
Cuma Ağus. 29, 2014 8:18 am tarafından Hello EMO
» etichal hacker görsel egitim seti
Çarş. Ağus. 06, 2014 4:57 am tarafından Hello EMO
» KO TBL Source C#
Ptsi Ara. 09, 2013 6:36 am tarafından Hello EMO
» x86 Registers
C.tesi Ağus. 24, 2013 5:02 am tarafından Hello EMO
» [Tutorial] Pegando Address, Pointers de WYD
Çarş. Tem. 10, 2013 7:25 am tarafından Hello EMO
» [Tutorial] Pegando Address, Pointers de CS Metodo²
Çarş. Tem. 10, 2013 7:23 am tarafından Hello EMO
» [Tutorial] Aprendendo basico deASM OLLYDBG
Çarş. Tem. 10, 2013 7:22 am tarafından Hello EMO
» Basic C# DLL injector
Ptsi Tem. 08, 2013 7:48 am tarafından Hello EMO