READ_ADDRESS / READ_VALUE Pointer kullanımı / Offset Eklemek


C ve C++ Programlama    C ve C++ Programlama İle İlgili Paylaşım Kategorisi

Yazar: xonivion    1 Yorum    351 Görüntüleme
  • Derecelendirme: 0/5 - 0 oy

Paylaşım Tarihi: 03.07.2016, 04:09:45 #1
xonivion Cezalı Üye
Cezalı Üye
Status: Çevrimdışı Yorumları:217 Konuları:74 Kayıt Tarihi:03.07.2016

sycode tarafından bir hediye.


Kod:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#pragma once
#include <vector>
#include <Windows.h>
#include <stdint.h>

#define READ_VALUE 0x00
#define READ_ADDRESS 0x01

DWORD GetPointer(std::vector<DWORD>Pointer, uint8_t MODE)
{
DWORD Temp_Address = *reinterpret_cast<DWORD*>((DWORD)GetModuleHandle(0) + Pointer.at(0));
for (auto i = Pointer.begin() + 1; i != Pointer.end() ; i++)
{
if (i == Pointer.end() - 1 && MODE == READ_ADDRESS)
{
Temp_Address = Temp_Address + (*i);
return Temp_Address;
}

Temp_Address = *reinterpret_cast<DWORD*>(Temp_Address + (*i));
}

return Temp_Address;
}



Kullanımı oldukça basittir.
Header açıp bu source'u ekliyoruz.
Daha sonradan MemEdit yaparken veya ReadMem şöyle kullanıyoruz;


Kod:
1
2
3
4
5
6
std::vector<DWORD>Test_Pointer;
Test_Pointer.push_back(0x0ADDRESS); //Address
Test_Pointer.push_back(0x4); //1. offset
Test_Pointer.push_back(0x4); //2. offset
Test_Pointer.push_back(0x4); //3. offset
DWORD Local = GetPointer(Test_Pointer, READ_ADDRESS);

Son Düzenleme: 06.07.2016, 15:01:34, Düzenleyen: xonivion.

Paylaşım Tarihi: 03.07.2016, 13:43:24 #2
*Mstkmlnr Fortune's Fool
Co-Admin
Status: Çevrimdışı Yorumları:426 Konuları:77 Kayıt Tarihi:17.08.2015 Rep Puanı: 890

teşekkürler

Kullanıcı İmzası
Resim https://media.giphy.com/media/lRUVoM9JEd80E/giphy.gif










Aradığınızı Bulamadınız Mı ?

Konuyu Okuyanlar:
1 Ziyaretçi