Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.56/25: Рейтинг темы: голосов - 25, средняя оценка - 4.56
26 / 26 / 4
Регистрация: 20.07.2012
Сообщений: 399
Записей в блоге: 1
.NET 3.x

Код, который должен как бы замораживать адрес на подобие CheatEngine

10.09.2012, 17:11. Показов 4843. Ответов 16
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
...Добрый день.

не знаю как справиться с проблемой..прогуглил вест интернет ,встречался подобный вопрос но так и не ответили на него...

Думаю стоит спросить у знатоков...

итак суть..

есть две кнопочки "вкл" и "выкл"

когда нажимаю вкл то срабатывает таймер2в самом таймере2 лежит чудо код который должен как бы замораживать адрес на подобе CheatEngine)
нажимаю кнопку "выкл" таймер останавливается

вопрос: как мне сделать подобие заморозки ЗНАЧЕНИЯ АДРЕСА как в CheatEngine..

и ещё допистим вот сам указатель на адрес "Play+426E8B" от него нужно и отталкиваться!

вот темка [Ссылка на форум]

если нарушил правила прошу удалить ссылку на сторонний сайт...просто там есть что то для Делфи

Добавлено через 16 минут
есть какието предложения7

Добавлено через 1 час 17 минут
хелп ми..
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
10.09.2012, 17:11
Ответы с готовыми решениями:

Преобразование HEX в адрес в CheatEngine
Привет всем! Дизассемблирую свою программку в CheatEngine. Там есть такая команда: 00690498 - E8 0B10C06F - call clr.dll+14A8 ...

Код который должен подсчитывать кол-во набранных баллов
То что пришло в голову. Где у меня нарушена логика? Синтаксических ошибок не выводит. <!DOCTYPE html> <html...

При нажатии кнопки работает код,который не должен работать
Всем привет. Суть такова: когда человек заходит на страницу проверяется существование переменной, если она есть - выполняется exit(); ...

16
Почетный модератор
Эксперт .NET
 Аватар для NickoTin
8729 / 3681 / 404
Регистрация: 14.06.2010
Сообщений: 4,513
Записей в блоге: 9
10.09.2012, 17:27
Цитата Сообщение от HPB Посмотреть сообщение
заморозки ЗНАЧЕНИЯ АДРЕСА
Откуда ж вы такие определения берете...
Цитата Сообщение от HPB Посмотреть сообщение
как в CheatEngine
Без понятия как в CheatEngine (что это такое знаю только из справки), но пока 2 варианта могу предложить:
  1. Найти нужное значение в памяти приложения и по таймеру его перезаписывать на нужное (Read/WriteProcessmemory);
  2. Занопить определенные инструкции в приложении которые меняют нужное значение (для этого может понадобится смещение, "Play+426E8B" очень на это похоже). Для этого нужно воспользоваться дизассемблером/отладчиком, и возможно придется использовать дизассемблер длин.
Цитата Сообщение от HPB Посмотреть сообщение
"Play+426E8B" от него нужно и отталкиваться!
Мне этот адрес совершенно ни о чем не говорит, что там - я без понятия, и что с ним делать тоже без понятия, поэтому дам только совет: ищите адрес по которому расположена функция Play и прибавляете к нему значение 426E8B.
0
26 / 26 / 4
Регистрация: 20.07.2012
Сообщений: 399
Записей в блоге: 1
10.09.2012, 17:34  [ТС]
Найти нужное значение в памяти приложения и по таймеру его перезаписывать на нужное (Read/WriteProcessmemory);


я и хотел использовать таймер для перезаписи значения в адрес..

пример можно?
C#
1
2
3
IntPtr hProcess = OpenProcess(0xf0fff, false, (int)this.GetProcess("Play.exe"));
            int Adress = 0x00436427;//адресс
            byte[] ByteF = new byte[] { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };//байты для замены
открытие процесса поиск адреса и замена байта но мне это ну нужно...мне нужно как я говорил перезапись значения
0
Почетный модератор
Эксперт .NET
 Аватар для NickoTin
8729 / 3681 / 404
Регистрация: 14.06.2010
Сообщений: 4,513
Записей в блоге: 9
10.09.2012, 17:48
C#
1
2
3
4
5
6
7
8
9
10
11
12
        [DllImport("kernel32.dll", SetLastError = true)]
        [return: MarshalAs(UnmanagedType.Bool)]
        static extern bool WriteProcessMemory(
            IntPtr hProcess,
            IntPtr lpBaseAddress,
            byte[] lpBuffer,
            int nSize, // для x86
            out int lpNumberOfBytesWritten
            );
            
        int writed;
        WriteProcessMemory( hProcess, (IntPtr)0x00436427, ByteF, ByteF.Length, out writed );

Не по теме:

Цитата Сообщение от HPB Посмотреть сообщение
мне нужно как я говорил перезапись значения
Цитата Сообщение от HPB Посмотреть сообщение
как мне сделать подобие заморозки ЗНАЧЕНИЯ АДРЕСА
...

0
26 / 26 / 4
Регистрация: 20.07.2012
Сообщений: 399
Записей в блоге: 1
10.09.2012, 17:53  [ТС]
ну так ЭТО И БУДЕТ ОДНО И ТОЖЕ....что если я буду перезаписывать значение адреса->значение адреса будет замороженное!!!!!!!


могли бы прокомментировать код.. некоторые строки чтоб понятнее стало и опять x32 битки гуляют чтоли
0
Почетный модератор
Эксперт .NET
 Аватар для NickoTin
8729 / 3681 / 404
Регистрация: 14.06.2010
Сообщений: 4,513
Записей в блоге: 9
10.09.2012, 17:58
HPB, что там комментировать? С 1 по 9 - описание прототипа функции WriteProcessMemory, 11 - объявление переменной, 12 - вызов WriteProcessMemory.
0
26 / 26 / 4
Регистрация: 20.07.2012
Сообщений: 399
Записей в блоге: 1
10.09.2012, 18:02  [ТС]
нужно ли открывать процесс?
C#
1
IntPtr hProcess = OpenProcess(0xf0fff, false, (int)this.GetProcess("Play.exe"));
или код который вы написали уже полный?
0
 Аватар для LeniumSoft
1454 / 847 / 150
Регистрация: 06.06.2012
Сообщений: 2,370
10.09.2012, 18:13
Цитата Сообщение от HPB Посмотреть сообщение
нужно ли открывать процесс?
Да перед тем кодом нужно открыть.
0
26 / 26 / 4
Регистрация: 20.07.2012
Сообщений: 399
Записей в блоге: 1
10.09.2012, 18:32  [ТС]
всё равно множество ошибок ..

стоило бы сказать чтоб я уж отстал : (
0
Master of Orion
Эксперт .NET
 Аватар для Psilon
6102 / 4958 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
10.09.2012, 19:12
стоило бы сказать чтоб я уж отстал : (

Не по теме:

Это вам стоило бы хоть что-то самому сделать или быть по крайней мере благодарным, что помогают, учитывая, что вы не поймете большую часть советов, а просите готовый код, который вам нужен, причем нахаляву.

0
26 / 26 / 4
Регистрация: 20.07.2012
Сообщений: 399
Записей в блоге: 1
10.09.2012, 19:20  [ТС]
C#
1
 WriteProcessMemory( hProcess, (IntPtr)0x00436427, ByteF, ByteF.Length, out writed );
на этот кусочек кода ругается..мол индефекаторы типы и множества using..

C#
1
 //DllImport("kernel32.dll", SetLastError = true)]
это я закоментировал

Добавлено через 37 секунд
Цитата Сообщение от Psilon Посмотреть сообщение

Не по теме:

Это вам стоило бы хоть что-то самому сделать или быть по крайней мере благодарным, что помогают, учитывая, что вы не поймете большую часть советов, а просите готовый код, который вам нужен, причем нахаляву.

возможно это так : (
0
 Аватар для LeniumSoft
1454 / 847 / 150
Регистрация: 06.06.2012
Сообщений: 2,370
10.09.2012, 19:44
Цитата Сообщение от HPB Посмотреть сообщение
это я закоментировал
Зачем? Это необходимый импорт функции из библиотеки. Чтоб у вас всё заработало не надо ничего комментировать!

Добавлено через 1 минуту
А кавычка перед DllImport у вас была?
0
10.09.2012, 21:31

Не по теме:

веселят меня такие темы, вроде задают такие вопросы умные - указатели, память, замораживать адрес и т.д
а на деле через 10 постов автору темы начинают объяснять как расставить скобки и точки с запятой в коде :D

0
 Аватар для LeniumSoft
1454 / 847 / 150
Регистрация: 06.06.2012
Сообщений: 2,370
10.09.2012, 23:40
Цитата Сообщение от m0nax Посмотреть сообщение
как расставить скобки и точки с запятой в коде
Согласен! Народу впадлу книжки читать! Сразу надо читы для игр писать и хп себе замораживать!
0
26 / 26 / 4
Регистрация: 20.07.2012
Сообщений: 399
Записей в блоге: 1
12.09.2012, 21:02  [ТС]
какие хп.. о чём речь....да может я что то понимаю роясь в клиенте игры.. но и сеть я прорыскивал в поиске ответа

Добавлено через 26 минут
C#
1
2
3
4
5
IntPtr hProcess = OpenProcess(0xf0fff, false, (int)this.GetProcess("Play.exe"));
            int Adress = 0x11D0EA0;//адресс 011D6EE0
            byte[] ByteF = new byte[] { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };//байты для замены
            UIntPtr uIntPtrF;
            WriteProcessMemory(hProcess, (IntPtr)0x11D0EA0, ByteF, 6, out uIntPtrF);
вот так ошибок нет но не работает : (

Добавлено через 14 минут
что означает "6"?
и мне просто нужно открыть процесс найти адрес в виду Play+022DFEF0+30 затем каким то образом узнать значение и потом постоянно его держать тобишь морозить тобишь перезаписывать!

Добавлено через 25 минут
0x - ' это 16чная система? ведь так тоесть мне нужно открыть калькулятор выбрать там инженерный потом тип HEX затем вставить адрес 022DFEF0 но как быть с +30?

Добавлено через 2 часа 1 минуту
есть варианты?

Добавлено через 2 часа 2 минуты
тему прошу закрыть т.к решил проблему использую библиотеку "VAMemory"
0
Эксперт С++
 Аватар для _lunar_
3701 / 2836 / 451
Регистрация: 03.05.2011
Сообщений: 5,193
Записей в блоге: 21
13.09.2012, 08:21
Цитата Сообщение от HPB Посмотреть сообщение
что означает "6"?
переменная типа uint - количество ваших байтов для замены.

Цитата Сообщение от HPB Посмотреть сообщение
0x - ' это 16чная система? как быть с +30?
да.
+30 это смещение (тоже в 16-ричной) и скорее всего не одно. Вы ведь пишете про CheatEngine, вот и ищите в нём базовый адрес и все смещения.
0
26 / 26 / 4
Регистрация: 20.07.2012
Сообщений: 399
Записей в блоге: 1
13.09.2012, 20:58  [ТС]
отвечу что странным образом.. может кто работал с СЕ есть такая функция у него как поиск указателей или же инструкции не больно сильно отличается ...так вот если найти то адрес как бы будет зеленый намикая на то что адрес у нас "стат." тобишь постоянный даже после перезапуска игры но когда отобрадаеся в виде 0101584 затем чтобы скопировать нужно нажать на него жму открывается уже в виде "Game.exe"+584 чудо чудо.. и решил тут попробовать поиграть с сапёром и о чудо я утсановил постоянное кол-во флажков неизменным!


ТЕМУ ОФ Я РЕШИЛ ПРОБЛЕМУ
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
13.09.2012, 20:58
Помогаю со студенческими работами здесь

написал алгоритм который должен переворачивать число,(например вводим 321 должен вывести 123) но он не работает
#include <iostream> using namespace std; int main() { int x,a,k=1,y=0,t; cin>>x; t=x; ...

Куда "воткнуть" код, который должен исполняться постоянно?
Привет всем! Куда "воткнуть" код, который должен исполняться постоянно. "Втыкаю" в Form1() конструктор, код исполняется один раз...

Прокомментируйте, пожалуйста, код, который получает адрес до "LoadLibrary"
Здравствуйте, я нашёл в интернете такой код, который супер магическим способом получает адрес до "LoadLibrary" O_o и мне очень...

У меня есть код на WinApi , который должен выводить "Hello world", но тут что то не так! помогте найти пожалуйста
#include <windows.h> HWND MainWindowHandle =0; bool InitWindowsApp(HINSTANCE instanceHandle, int show); int...

Как создать контрол, который при конструировании не должен отображаться на форме?
Может кто подскажет, как создать контрол, который при конструировании не должен отображаться на форме, а должен находиться внизу в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru