kaiu
Высший разум
(115780)
11 лет назад
Что-то я уже это сегодня видел и сказать ничего не могу, не понятно, что такое быстро.... воровать из потока чтоль.... да если защифрован он в том не ясном классе, то гиблое дело.
Пиши подробней, может ты все же ошибаешься на счет написанного с нуля.
Есть всякие проги определители на чем написан exe, прогони ими, глянь на чем все же эта приблуда (программа непонятная для меня)
vasileman1984
Гуру
(4302)
11 лет назад
Одного-единственного, всегда работающего точного алгоритма здесь нет - иначе хакером мог бы стать любой. Работать пока придется в отладчике над конкретным исполняемым файлом, вручную. Примерный алгоритм такой:
Так как текст выводится контролом, то нужно искать точку, где он передается системе. Это могут быть либо разнообразные варианты DrawText, TextOut, etc (если это кастомный контрол - написанный с нуля) , либо SendMessage, PostMessage, etc (текст будет передаваться в аргументах сообщения) . Будет много вызовов, которые нам не нужны. Далее, анализируя листинг, нужно найти функцию, которая обновляет текст, и то место, где он сохраняется (либо переменную-указатель, которая указывает на область памяти с текстом - это более вероятный расклад) . После этого можно приступать к кодингу - писать инжектируемую библиотеку, которая будет читать найденный текст, а также перехватывать функцию, которая изменяет его.
Данные надо получать быстро и постоянно, т. к. они меняются.
Dump памяти не рассматривается, долго + вероятно приложение написано на управляемом C++, и адрес переменной с текстом меняется.
Искал на форумах и в поисковике - ничего дельного нет.
Идеи, предложения. Язык программирования - любой.