Форум программистов, компьютерный форум CyberForum.ru

WriteAccesMemory - C++

Восстановить пароль Регистрация
 
instagib
122 / 85 / 3
Регистрация: 14.02.2011
Сообщений: 341
04.06.2011, 21:26     WriteAccesMemory #1
Добрый вечер.
вопрос возник.
как правильно использовать writeaccesmemory?

вот пример
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#include <windows.h>
#include <stdio.h>
int main()
 
{
    HWND hwar3=::FindWindow(NULL,"Warcraft III");
    HANDLE hcurrent = GetCurrentProcess();
    HANDLE hToken;
    BOOL bret=OpenProcessToken(hcurrent,40,&hToken);
    LUID luid;
    bret=LookupPrivilegeValue(NULL,"SeDebugPrivilege",&luid);
    TOKEN_PRIVILEGES NewState,PreviousState;
    DWORD ReturnLenght;
    NewState.PrivilegeCount=1;
    NewState.Privileges[0].Luid=luid;
    NewState.Privileges[0].Attributes=2;
    bret=AdjustTokenPrivileges(hToken,FALSE,&NewState,28,&PreviousState,&ReturnLenght);
    DWORD PID, TID;
    TID=::GetWindowThreadProcessId(hwar3,&PID);
    HANDLE hopen=OpenProcess(PROCESS_TERMINATE|PROCESS_VM_OPERATION|PROCESS_VM_READ|PROCESS_VM_WRITE,FALSE,PID);
    int number;
    printf("Vvedite zoloto: ");
    scanf("%d",&number);
    DWORD data=0xBF;
   [B] bret=WriteProcessMemory(hopen,(LPVOID)0x09DE0108,&number,1,0);[/B]
    
    bret=CloseHandle(hopen);
    printf("Instagib's closing threading to wc3.exe..\n");
    
    system("pause");
    return 0;
    
}
строка 25 очень подозрительна.. вообщем мне надо в адресс 0x09DE0108 поместить значение number

Добавлено через 28 минут
и что никто не подскажет?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
OstapBender
 Аватар для OstapBender
581 / 519 / 35
Регистрация: 22.03.2011
Сообщений: 1,585
04.06.2011, 21:29     WriteAccesMemory #2
тебе надо в раздел win api обратиться

Цитата Сообщение от instagib Посмотреть сообщение
вообщем мне надо в адресс 0x09DE0108 поместить значение number
хз
C
1
2
int *ptr=(int*)0x09DE0108;
*ptr=number;
?
instagib
122 / 85 / 3
Регистрация: 14.02.2011
Сообщений: 341
04.06.2011, 21:45  [ТС]     WriteAccesMemory #3
OstapBender, нет не это...
Deviaphan
Делаю внезапно и красиво
Эксперт C++
 Аватар для Deviaphan
1283 / 1217 / 50
Регистрация: 22.03.2011
Сообщений: 3,744
05.06.2011, 06:48     WriteAccesMemory #4
Если адрес указан правильно (лучше его вычислять динамически, практически никто не обещает грузиться по одним и тем же адресам. А т.к. Варкрафт не драйвер, то я оч сомневаюсь, что он грузится по фиксированному адресу), то ты забыл указать размер и параметр для возвращаемого размера (количество записанных байт).
Читай MSDN.

И конкретно по твоей проблеме: ArtMoney.)
instagib
122 / 85 / 3
Регистрация: 14.02.2011
Сообщений: 341
25.02.2012, 00:28  [ТС]     WriteAccesMemory #5
Deviaphan, могли бы Вы дать информацию об этом "лучше его вычислять динамически", или поделиться опытом.?
Yandex
Объявления
25.02.2012, 00:28     WriteAccesMemory
Ответ Создать тему
Опции темы

Текущее время: 13:26. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru