![]() |
eXeL@B —› Вопросы новичков —› EXE и Olly |
Посл.ответ | Сообщение |
|
Создано: 14 апреля 2007 10:56 · Личное сообщение · #1 У меня такой вопрос: если открыть .ЕХЕ файл, скажем, FARом и сделать поиск, то нужную текстовую строку "Демо версия. Ограничение......" нахожу, а вот в Olly ее найти никак не могу, пробовал и бинарный поиск по кодам символов и напрямую, ну никак... Мож кто обяснит? Кстати, встечал это и в нерусских программах..... Спасибо. ![]() |
|
Создано: 14 апреля 2007 11:27 · Личное сообщение · #2 |
|
Создано: 14 апреля 2007 11:28 · Личное сообщение · #3 |
|
Создано: 14 апреля 2007 11:47 · Поправил: Dr3d · Личное сообщение · #4 romeo_motor пишет: пробовал, ничего.... Значит не судьба )) Оля вообще, не самыи лучший инструмент для поиска строк, лучше использовать другие программы. К примеру, в адресном пространстве запущенного процесса я ищу строки с помощью читерской проги Cheat Engine. Скачать можно на сайте gamehacking.ru http://gamehacking.ru вот тут http://gamehacking.ru/ind=downloads&op=section_view&idev=10 ![]() |
|
Создано: 14 апреля 2007 11:48 · Личное сообщение · #5 |
|
Создано: 14 апреля 2007 12:36 · Личное сообщение · #6 |
|
Создано: 14 апреля 2007 16:27 · Личное сообщение · #7 1. Фар (по крайней мере 1.70 alpha 6) умеет искать Unicode в отличии от Olly. 2. Допускаю такой вариант. К PE-образу прицеплен оверлей, в котором ты и находишь строку. Оверлей не является частью образа, поэтому в адресном пространстве ты его не найдёшь до момента мапинга (обычный CreateFile а потом либо Мап либо Рид). Посмотри сначала Hiew'e, что он покажет. Адрес строки офсет или VA? Если VA, то какая секция ну и так далее... Короче локализуй проблему. ----- Всем привет, я вернулся ![]() |
|
Создано: 14 апреля 2007 17:33 · Личное сообщение · #8 |
|
Создано: 14 апреля 2007 18:06 · Личное сообщение · #9 |
|
Создано: 15 апреля 2007 10:43 · Личное сообщение · #10 |
|
Создано: 15 апреля 2007 12:43 · Личное сообщение · #11 OllyDbg не всегда ищет по всему файлу. если ты точно знаешь, что некая строка в файле точно присутствует, открывай Memory Map (Alt-M), ставь курсор на начало смапленного файла в памяти (чтобы проще найти - см. с адреса 00400000, contains PE Header), после чего жмёшь Ctrl-B и ищешь строку. ----- EnJoy! ![]() |
|
Создано: 15 апреля 2007 13:03 · Личное сообщение · #12 |
|
Создано: 15 апреля 2007 13:44 · Личное сообщение · #13 romeo_motor пишет: а можно поподробней....просто я новичек Про оверлей HoBleen уже сказал (грубо говоря, в ПЕ-файле оверлей всё, что за SizeOfImage). Про поиск строк. Само собой, в Оли искать нужно по памяти, как верно заметил Jupiter. В Оли давно замечено куча багов с поиском (даже в доке некоторые описаны). Я-то говорю про случай, когда в процессе совсем не найти строку, а в exe она точно есть. Уточняю про Hiew: F7 > набираешь строку > Enter > если нашел F4 > смотришь колонку адресов. В этой колонке может быть: - VA - виртуальный адрес секции из расчёта ImageBase+RVA секции+смещение в секции; - offset - последовательный номер байта в файле от нуля. Режим отображения offset/VA переключается Alt+F1. Если есть VA (разница будет очевидна), значит строка в какой-то секции, тогда, по идее, она должна мапироваться. Причём если это exe (а не dll), то почти на 100% строка в памяти будет по этому же VA. В Оли в строке команд плага CmdBar набираешь "d адрес" (тот VA) и убеждаешься в этом наглядно. Думаю подробнее некуда. Всё остальное в документации на PE-формат (поиск по форуму PE.txt). ----- Всем привет, я вернулся ![]() |
|
Создано: 15 апреля 2007 14:02 · Поправил: Executioner · Личное сообщение · #14 Копал когда-то одну прогу, так вот, в файле строки лежали в открытом виде. При запуске они шифровались, а когда надо было их использовать - расшифровывались, потом снова зашифровывались (может, автор хотел сделать некое подобие Армы?? ![]() Здесь тоже может быть такой вариант. ----- Уважайте других и пишите грамотно. ![]() |
![]() |
eXeL@B —› Вопросы новичков —› EXE и Olly |