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

Знаю С, написать ничего толкового не могу, нужен совет опытных - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Составить блок-схему http://www.cyberforum.ru/cpp-beginners/thread1041844.html
Привет всем) Помогите нарисовать блок-схему к этой задачи, плиз) using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApplication8 { class Program
C++ Как наити суммы всех диагоналей выше главной Вопрос в названии, вроде элементарно но как то не догоняю http://www.cyberforum.ru/cpp-beginners/thread1041836.html
C++ Ошибка в программе (buffer is too small)
При написании нескольких слов, программа работает, но если написать чуть больше выдает эту ошибку "buffer is too small". Как ее исправить? И можно ли добавить в этот код: вывод количества букв максимального слова и вывод нескольких слов если они одинакового размера? void f (char str) { char smax; int max=0, a; char s; for (int i=0; i<strlen(str); i++) { ...
C++ Преобразить код в блок-схему
Помогите нарисовать блок-схему, завтра сдавать, времени в обрез. Проблема не в знании, а в нехватке времени, по написанной программке надо ещё сделать отчёт большой. А завтра сдавать. Помогите, пожалуйста, ускорьте процесс. #include<iostream> using namespace std; int main(){ int n; cout<<"Enter size of array > "; cin>>n;
C++ Определить длины кратчайшего и самого длинного слова http://www.cyberforum.ru/cpp-beginners/thread1041800.html
Здраствуйте. Кто может сделать такое вот задание на лабараторку? Заранье спасибо! В заданой символьной строке, которая заканчивается точкой, определить длины кратчайшего и самого длинного слова.
C++ Даны два вектора X(20) и Y(20), найти длины векторов X, Y, X+Y, X-Y Помогите найти ошибку, пишет "vector subscript out of range". #include "stdafx.h" #include <iostream> #include <math.h> #include <vector> using namespace std; int _tmain(int argc, _TCHAR* argv) подробнее

Показать сообщение отдельно
_lunar_
1254 / 1180 / 86
Регистрация: 03.05.2011
Сообщений: 2,847
Записей в блоге: 6
Завершенные тесты: 1
15.12.2013, 16:03
освежу немного тему, наконец-то добрался до компьютера с IDE, просили про трейнер рассказать
Цитата Сообщение от FreeLanceHelp Посмотреть сообщение
Не подскажите с чего начать для написания трейнера для игры. как вклинится в процесс игры? и тому подобное...
на примере игры I Am Alive
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
#include <Windows.h>
 
using namespace std;
 
int main()
{
    HWND hWnd = FindWindow(nullptr, "IAmAlive");
    DWORD pID;
    GetWindowThreadProcessId(hWnd, &pID);
    HANDLE handle = OpenProcess(PROCESS_ALL_ACCESS, FALSE, pID);
    cout << "Process ID - " << pID << endl;
    cout << "Handle - " << handle << endl;
    DWORD addr_1 = 0x10BE20FE;
    DWORD addr_2 = 0x10BE2099;
    byte Bytes[] = { 0x90, 0x90, 0x90, 0x90, 0x90 };
    WriteProcessMemory(handle, (LPVOID)addr_1, Bytes, 5, 0);
    WriteProcessMemory(handle, (LPVOID)addr_2, Bytes, 5, 0);
    CloseHandle(handle);
 
    cin.get();
    return 0;
}
смысл в трейнере - переписать некоторые байты по определённому смещению исполняемого файла, загруженного в память. Чтобы это сделать необходимо воспользоваться функцией WriteProcessMemory. Посмотрев её структуру, можно увидеть что для этого требуется: во-первых хендл, адрес смещения (базовый адрес, не динамический) и байты, которые будем писать в память. Чтобы узнать хендл нужно узнать идентификатор запущенного процесса. Для этого можно воспользоваться функциями FindWindow (1 параметр - имя класса, 2 - имя окна) и GetWindowThreadProcessId, которая вернёт в переменную pID идентификатор процесса. Для получения хендла можно воспользоваться функцией OpenProcess, передадим в неё полный доступ к процессу и идентификатор. С помощью CheatEngine я узнал базовые адреса, по которым происходит изменение значения выносливости (их может быть 1, 2 и более для одного параметра, CheatEngine даёт такую возможность). Чтобы это значение не изменялось нужно его "занулить" ассемблерной инструкцией nop (или 0х90 в 16-ричной). CheatEngine показывает количество байт по найденному смещению - их 5. Заполняем WriteProcessMemory и закрываем хендл.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru