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

Не работает поиск сигнатуры - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Почему выдает ошибку в строке "for(Data::iterator p=stats.begin(); p!=stats.end(); ++p)" http://www.cyberforum.ru/cpp-beginners/thread520457.html
"Read a sequence of possibly whitespaceseparated (name,value) pairs, where the name is a single whitespaceseparated word and the value is an integer or a floatingpoint value. Compute and print the sum and mean for each name and the sum and mean for all names." Нашел решебник, там решение))) #include <iostream> #include <map> #include <string> struct Stat {
C++ Можете скомпилировать и сказать работает ли? Не хочу качать компилятор для 4-5 заданий, точнее занимали бы они меньше места как, например, Dev-CPP для С. Можете скомпилировать данный код и сказать работает он вообще или нет? Если нет то какие сообщения выдает. #include <iostream.h> #include <string.h> #include <cstring.h> #include <conio.h> class OverflowException { public: OverflowException() { http://www.cyberforum.ru/cpp-beginners/thread520443.html
Написать программу удаления букв «б» из введенного слова C++
Написать программу удаления букв «б» из введенного слова
C++ Найти наибольшую клику в заданном орграфе, используя алгоритм нахождения независимых множеств
Клика – полный подграф неориентированного графа. Другими словами, клика графа есть подмножество его вершин, такое, что между каждой парой вершин этого подмножества существует ребро и, кроме того, это подмножество не принадлежит никакому большому подмножеству с тем же свойством. Подграф графа — граф, содержащий некое подмножество вершин данного графа и некое подмножество инцидентных им рёбер. ...
C++ не компилируется http://www.cyberforum.ru/cpp-beginners/thread520424.html
Вот кусок кода class Game; class View { private: static int left;
C++ Компилятор выдает ошибку при объявлении массива. Не могу понять где соль Объясните пожалуйста в чем моя ошибка. Вот исходник #include <iostream> // cin, cout,endl #include <math.h> // Мат функции #include <iomanip> // формат вывода using namespace std; const int n=2; //Кол-во строк const int m=7; //Кол-во столбцов подробнее

Показать сообщение отдельно
Битл
0 / 0 / 0
Регистрация: 08.03.2012
Сообщений: 65
18.03.2012, 22:59  [ТС]     Не работает поиск сигнатуры
Цитата Сообщение от kravam Посмотреть сообщение
Искать сигнатуру, значения которой меняются динамически- ни разу эти мне занимался, но задача достойная.
Такое часто встречается при изменении кода игр... Т.е. есть участки сигнатуры с постоянными значениями, а некоторые байты могут изменяться... В таких случаях нужно использовать маску....

алг
Есть паттерн (строчка байт, которую нужно найти), маска (строчка байт вида "000xxx00xxx00xxx"), длина этой маски.

Берёшь адрес начала сканирования - StartAddress.
Адрес конца сканирования - EndAddress.

Читаешь кусочек памяти (через ReadProcessMemory, как я понимаю) длиной в паттерн, сравниваешь побайтно прочитанное с паттерном, наложив на него маску - т.е. в моём примере 0 - нужный байт, x - любой.
Как только нашёлся кусок данных, равный паттерну (с наложенной маской) - возвращаешь адрес сканирования, это и будет нужный адрес.

Паттерн: \x89\xBE\x0A\x02\x00\x00\xE9\x87\x00\x00\x00\x83\xE8\x00\x74\x12
Маска: "xxx0000x0000xxxx"
 
Текущее время: 22:58. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru