Такой ещё вопрос из разряда дыбыльных - Можно ли инты юзать в вин32.или же только в досе ? Материал по ним какой-то скудный - не то,что про регистры.На любой странице гугла найдёшь).
Есть окошко, в него выводится некоторая информация (будем считать что информация: "Welcome to server") Я строку "Welcome to server" - нашел (с помощью IDA pro) и поставил бряк туда, где она задействована в dll (примерно так: push ...)(где она задействована в dll - мне подсказала ida pro (правда только по одному файлу)) Но когда строка появляется в окошке - бряк не срабатывает. Вопрос: как отловить места где задействована строка "Welcome to server" ? Ах да, самое главное, программа состоит из нескольких dll (ну и естественно одного exe) Надеюсь я ясно выразился
поставить бряк на доступ к адресу памяти "Welcome to server" на чтение ntice, syser - bpmb address r в ольке не помню, но тоже, по идее, должно быть можно вывалишься, скорее всего, в какой нить системной функции. из нее или p ret или смотри по stack адрес возврата в свою прогу/dll и там уже ищи какого фига она туда пришла вполне возможно придется еще на пару уровней вверх подняться по функциям чтобы дойти до нужной точки X
bp on access memory не всегда срабатывает,идёт что то вроде проверки,это было так же как и в PowerISO.
строка не обязательно должна быть в единственном числе, иногда бывает несколько экземпляров в коде. Можно попробовать отловить все вызовы SetWindowText но будет много ложных срабатываний. Иногда еще текст некоторые программы ставят используя TextOut
Всем огромное спасибо за помощь Следующий вопрос: есть команда: Code: MOV EAX,DWORD PTR DS:[ECX*4+ESI-4] Мне нужно знать, в каком месте программа изменяет память по адресу: Code: [ECX*4+ESI-4] (ясное дело - бряк на память надо ставить) Проблема: [ECX*4+ESI-4] - каждый раз этот адрес, который ссылается на память - меняется Что делать? (программу к сожелению не могу выложить) Заранее спасибо за помощь
Это не проблема вовсе. Адрес меняется, да, согласен, но код который работает с этим адресом в памяти меняться не будет самопроизвольно, даже если обращения идут с более чем одного места. Ставим бряк на доступ к памяти, ждем срабатывания, смотрим код, обращающийся и все
Несколько раз перечитывал ваше сообщение, и никак не пойму. В память по адресу (который меняется)([ECX*4+ESI-4]) ложится значение до кода: Code: MOV EAX,DWORD PTR DS:[ECX*4+ESI-4] И как же мне узнать в каком месте будет ложится значение?
- Включаем трассировку кода с протоколированием в файл, затем изучаем. Минус в том, что если не ограничить диапазон кода на это уйдет много времени. - Ищем все команды с похожим аргументом ECX*4+ESI-4.
2Worms + крякмисы можно скачать здесь: http://crackmes.de/ для новичка пойдет: http://crackmes.de/users/fant0m/fant0mcollection/
>Подскажите, как в олли смотреть проги, которые загружаются как сервисы? единственный известный мне метод --- прописать в начало ServiceMain int3, желательно сделать отдельную группу сервисов (то есть чтобы был отдельный экземпляр svchost.exe), и аттачиться при ошибке при запуске