Pull to refresh
103
0

User

Send message
>вешать постоянно висящий в памяти процесс-хукер

Не совсем понял, а произвести инъекцию dll во время выполнения приложения, или, например, прописать ее в секции импорта исследуемого процесса было неприемлимо?
Не слышал. Можете пример привести? Ну, и не исключено, что я усложняю.
Зато лягушки хороши в качестве наглядного пособия. Это вам любой учитель биологии скажет.
Мне ollydbg нравится для этих дел: можно писать ассемблером, не нужно внешних утилит, результат сразу виден
Тогда лучше будет исправить ситуацию, забив эти строки nop-ами:

.text:0044D19E push edx; lParam
.text:0044D19F push offset EnumFunc; lpEnumFunc
.text:0044D1B0 call ds:EnumWindows

.text:0047E804 push edx; lParam
.text:0047E805 push offset EnumFunc; lpEnumFunc
.text:0047E816 call ds:EnumWindows

ведь когда мы исправляем инструкцию and edx, 0FFh на or edx, 0FFh, то всё равно продолжаем лезть к чужим окнам, хоть это и не так сильно проявляется
support.microsoft.com/kb/226359/en-us
видимо не такой и грязный, просто рассчитано на ранние версии Windows
Хорошие у вас чиновники, у меня все никак руки не дойдут написать что-нибудь эдакое.

По существу: если EnumFunc является функцией обратного вызова для EnumWindows, и единственное что делает — пытается блокировать ALt-tab (я правильно вас понял?), то почему не отключить вызов EnumWindows?
Скачал, значит, это кино. Смотрю и не пойму, почему все разработчики которые в нем выступают — выглядят как дауны. Может, думаю, отпечаток профессии. Типа хикки, в реальной жизни не общаются, а тут сидят — слова подбирают. Оказалось что я колесиком на плеере дернул и оно на скорости 0.67x показывает. А минут двадцать пролетело, не заметил и как.

Это я к чему… Фильм отличный. Даже в таком виде смотрится так, что не оторваться прямо.
Тогда, чтобы быть совсем молодцом отпишитесь выше: что же вы патчили код или данные?
вы уверены что смотрели видео/код в видео показано как код
mov cx, [eax+edx*2] меняют на код mov ecx, 0xFF
Тут был еще список по каким адресам какие значения записывать, так в нем явно опкоды менялись. Переменные абсолютно не при чем.
О! И почему минусуют. Я бы минусовал за то, что статья которая, видимо, задумывалась как техническая, по обыкновению превратилась в холивар об аморальности мошенничества в играх.
Не стоит так бурно реагировать. Если подобный чит (а его, как показал автор, при должном желании, может реализовать практически каждый, не имея особо больших знаний либо умений), может нарушить основную механику игры, то есть большое подозрение, что проблемы или с механикой, или с ее реализацией. И массовое применение читов является своеобразным индикатором этого. Задуматься над причинами, по которым возможно подобное мошенничество всяко полезнее, чем угрожать СБ или переломом пальцев (что вообще свинство, как по мне).

Но, наверное, вы правы в одном: публиковать результаты исследований многопользовательских игр, не совсем честно по отношению к другим игрокам. Куда как безобиднее и не менее интересно, было бы рассказывать о том же самом, только в однопользовательских играх.
Ну как же структуры, если именно что код? вот например здесь показано как запись в регистр значения из памяти заменяют на запись константы.
www.youtube.com/watch?v=OxU5XpC5hWM&t=196s
Ну и все остальные адреса — из секции кода game.dll

Или я вас не правильно понял?
А вам не кажется что код патчить как-то не очень круто, и что лучше сделать подобно тому, как вы делали в статье про CS: изучить структуры данных, найти где они обрабатываются, произвести туда инъекцию DLL и вносить изменения уже в данные. И уж совсем, наверное, вредно патчить код по абсолютным адресам.
И непонятно, что такое микро сбой? Точка останова с условием? Видео смотрел, оттуда непонятно.
*какие изменения вносят разработчики
Использую что-то подобное для одного достаточно часто (раз в две недели) обновляемого приложения. Шаблон менять не надо, проблемы, в основном, возникают со структурами данных. То vftable поменялся, добавили функцию. То поле добавили, такое, в общем. Код меняется редко. Хотя, конечно, это зависит от того какие разработчики вносят изменения. Еще очень помогает в автоматическом поиске дизассемблерный движок, чтобы пройтись по коду от места которое можно однозначно найти.
да и rentacoder уже vworker-ом стал
Насколько я понимаю, софт о котором рассказывается в статье, тоже такого не может.
Каким образом формируются запросы в TestReqest? Перебираются все адреса устройств или шлют запросы на определенный адрес (например 1)? Я бы предложил сделать функцию полностью автоматического опроса.

Предусмотрена возможность получения текущих значений каналов другой программой?

Может было бы лучше сделать выбор плагина в TestReqest не диалоговым окном открытия файла, а из списка, как это сделано в редакторе?

В ридере было бы здорово сделать выбор базы данных их GUI. И я почему-то не добился чтобы у меня отображались тех. имена каналов, которые я задал в редакторе.

Information

Rating
Does not participate
Registered
Activity