WanKapef Postado Julho 25, 2012 Denunciar Share Postado Julho 25, 2012 #include <stdio.h> #include <windows.h> #include <string.h> #include <stdlib.h> #pragma comment(lib, "user32.lib") int main() { HWND hWindow; DWORD dwPID; HANDLE hProcess; LPVOID lpAddress = (LPVOID)0xA6CF9C; //Pointer LPVOID lpBufferAddress = (LPVOID)0X0; //Address do pointer LPVOID lpNewAddress = (LPVOID)0x0; //Address+offset = address verdadeiro LPVOID Offset = (LPVOID)0x3F6; //Offset //Lê o address contido no pointer hWindow = FindWindow(0,"Point Blank"); GetWindowThreadProcessId(hWindow, &dwPID); hProcess = OpenProcess(PROCESS_ALL_ACCESS, FALSE, dwPID); ReadProcessMemory(hProcess, lpAddress, &lpBufferAddress, sizeof(lpBufferAddress), NULL); //Acha o novo address lpNewAddress = lpBufferAddress + Offset; //lpBufferAddress + 3F6 system("pause"); return 0; }Como fazer para somar o conteudo de lpBufferAddress com o offset? alguma solução? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Marcelo Utikawa da Fonseca Postado Julho 26, 2012 Denunciar Share Postado Julho 26, 2012 Um endereço é um número. Porém não é possível fazer a soma diretamente pois não é suportado por LPVOID.Assim, basta converter para um valor numérico, fazer a soma e converter novamente para LPVOID:lpNewAddress = (LPVOID)((unsigned int)lpBufferAddress + (unsigned int)Offset); Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
WanKapef
Como fazer para somar o conteudo de lpBufferAddress com o offset? alguma solução?
Link para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.