У меня есть приложение MFC, которое мне было предоставлено (без исходного кода), которое открывает окно с кнопкой «Обновить», после чего после нажатия на кнопку выполняется очень длинное обновление.Изменение программы для подделки кнопки
Я хотел бы изменить программу, чтобы при создании окна (или в другом месте, таком как DoModal) в программу было отправлено сообщение, чтобы заставить его думать, что нажата кнопка.
Я уже некоторое время занимался этим в Ida Pro и OllyDbg безрезультатно. Я смотрел, возможно, используя PumpMessage, но это не принесло успеха.
Любые советы?
Как и где я могу разместить этот патч? – samoz
Если вы не собираетесь создавать новый раздел, вы можете попробовать найти «кодовую пещеру», которая представляет собой практически небольшую область памяти, которая не используется программой. Обычно это может быть в «мертвом» коде (код, который никогда не вызывается программой, по крайней мере, не в тех случаях, когда вы собираетесь его использовать), или в пространстве, оставленном компилятором для выравнивания (как правило, t получить более 15 байтов). –
Ознакомьтесь с этой статьей: http://www.codeproject.com/KB/cpp/codecave.aspx - он не описывает добавление нового раздела (что является средним основанием между использованием пещер кода и DLL). Если вы согласны с добавлением DLL в пакет, вы можете просто добавить DLL в таблицу импорта (опять же с помощью PE-редактора), а затем исправить соответствующий код из вашей DLL, используя простые операции указателя. –