Как обмануть Рефокс | |
---|---|
leonid Автор Сообщений: 3204 Откуда: Рига Дата регистрации: 03.02.2006 |
Эта задачка, конечно, весьма специфическая, но может быть, кому-нибудь и придется по вкусу.
В прицепленном файле очень маленький экзешник, состоящий из одного prg файла длиной в пару десяток строчек. Задание: объяснить, почему этот экзешник выдает именно то, что он выдает. |
Re: Как обмануть Рефокс | |
---|---|
medstrax Забанен Сообщений: 5964 Дата регистрации: 23.03.2007 |
Люди, выложите кто-нибудь ссылки на либы фоксовского рантайма. Самого фокса нет.
|
Re: Как обмануть Рефокс | |
---|---|
Snick Сообщений: 5949 Откуда: Москва Дата регистрации: 21.05.2001 |
Да у Миши Дроздова на сайте должны быть.
------------------ www.sngsnick.com |
Re: Как обмануть Рефокс | |
---|---|
leonid Автор Сообщений: 3204 Откуда: Рига Дата регистрации: 03.02.2006 |
ftp.prolib.de |
Re: Как обмануть Рефокс | |
---|---|
Pa7r1ck Сообщений: 188 Дата регистрации: 11.01.2007 |
Рефокс падает при декомпиляции (хотя результат есть), скорее всего exe-шка пропатчена после сборки )
|
Re: Как обмануть Рефокс | |
---|---|
ry Сообщений: 2113 Дата регистрации: 24.09.2007 |
Забавно. Думаю, что exe был "доработан" вручную, вот только каким образом? Рефокс, ксати, у меня не падал, все аккуратно извлек. Попробовал собрать exe заново и сравнить, но отличий много, даже в размере (получился больше на 18 байт). Глубже копать не стал.
|
Re: Как обмануть Рефокс | |
---|---|
leonid Автор Сообщений: 3204 Откуда: Рига Дата регистрации: 03.02.2006 |
А что за Рефокс? У меня XI совершенно нормально берет.
|
Re: Как обмануть Рефокс | |
---|---|
Pa7r1ck Сообщений: 188 Дата регистрации: 11.01.2007 |
Refox X
Version 2003-05-13 / 10:00:05 |
Re: Как обмануть Рефокс | |
---|---|
Igor Korolyov Сообщений: 34580 Дата регистрации: 28.05.2002 |
Привет Леонид!
Потому что ты поменял имя одного из идентификаторов на недопустимое Было нечто вроде
Кстати, этот приём не используется в твоём обфускаторе? P.S. У меня нету адекватного UnFoxAll-а (тот что есть не могёт main file декомпилировать, а баловаться с 2-мя разными файлами как-то лениво было), зато Corso 5.2 очень чётко это показывает - он для объектных модулей не только p-код каждой команды выделяет, но ещё и "таблицу имён" показывает - там видно это хитрое имя ------------------ WBR, Igor Исправлено 1 раз(а). Последнее : Igor Korolyov, 02.02.09 16:10 |
Re: Как обмануть Рефокс | |
---|---|
ry Сообщений: 2113 Дата регистрации: 24.09.2007 |
Точно, получилось! Меняются всего два байта, и Refox красиво ошибается. |
Re: Как обмануть Рефокс | |
---|---|
leonid Автор Сообщений: 3204 Откуда: Рига Дата регистрации: 03.02.2006 |
Привет Игорь!
Точно! Цитата:Не совсем так. В новом - имени не должно быть chr(0). Цитата:У меня в обфусуаторе было два варианта (там переключатель есть). В первом имена переменных заменялись на вполне нормальные имена состоящие из букв "О" и нулей "0". Рефоксом это можно было декомпилировать и получалась вполне адекватная программа, только трудно читаемая. Во втором имена локальных переменных заменялись на смесь из "невидимых" символов chr(9), chr(10), chr(13) и пробел. Полсле декомпиляции Рефоксом получалася сплошная некомпилируемая чушь. Правда китайцы быстро написали антиобфускатор, который заменял подобные имена на имена типа c001, c002, ... Здесь я хотел продемострировать как раз другую идею, когда Рефокс все нормально декомпилирует, фокс потом может откомпилировать, никто не ругается, а логика программы становится другой. Подобных примеров можно придумать великое множество. Приведенный пример далеко не самый простой. Можно, например, откомпилировать следующий код
Кстати, эту идею вполне можно использовать для защиты программ от Рефокса. Если где-нибудь в глубине приличной по объему программы вставить подобную конструкцию и время от времени к ней обращаться, то она вполне отличит рефоксировнную программу от оригинальной. А те, кто ее рефоксировал врядли полезут изучать ее всю, если они не подозревают, что там есть такие примочки. Им как правило всего-то и нужно - подсмотреть пароль, или снять защиту от копирования. Цитата:А вот Corso 5.2 у меня под ХР не работает, а Corso 6 "таблицу имён" не показывает (или я не умею ее посмотреть). |
Re: Как обмануть Рефокс | |
---|---|
Igor Korolyov Сообщений: 34580 Дата регистрации: 28.05.2002 |
Привет Леонид!
В Corso6 тоже есть - сначала "открыть exe", потом Analyse Fox File, затем даблклик по имени модуля (main.fxp) в новом окне "строки кода и имена" по центру внизу находятся - дерево там, не список... Только что-то процедуру он не нашёл - только "основной" код Да и вообще прога оставляет впечатление пре-альфы Типа того "разборщика" что я для себя рисовал когда-то да забросил. ------------------ WBR, Igor |
Re: Как обмануть Рефокс | |
---|---|
leonid Автор Сообщений: 3204 Откуда: Рига Дата регистрации: 03.02.2006 |
Привет Игорь!
Вот этого я не знал, хотя помнится, в Corso 5 что-то подобное видел. Еще, кстати, у меня кнопка Save App не работает, а порой могла бы быть весьма полезна. |
Re: Как обмануть Рефокс | |
---|---|
Igor Korolyov Сообщений: 34580 Дата регистрации: 28.05.2002 |
Привет Леонид!
Зато работает кнопка Extract App, та что крайняя справа сверху Документация конечно не помешала бы, а то никак не догадаться что стоит за некоторыми кнопками... И очень жаль что написана утилита не на фоксе (с возможными С/asm-вставками для скорости)... ------------------ WBR, Igor |
Re: Как обмануть Рефокс | |
---|---|
leonid Автор Сообщений: 3204 Откуда: Рига Дата регистрации: 03.02.2006 |
Привет Игорь!
Кнопка то работает, только делает не то, что хотелось бы. Насколько я понимаю, она вытаскивает арр-ку из экзешника напрямую, никак не реагирую на те изменения, которые делались уже в Corso. А вот кнопка Save App по идее должна была сохранять арр-ку с уже внесенными изменениями. А вот это у меня не получается, хотя, насколько я помню, в Corso 5.2 такая кнопка была и работала. |
Re: Как обмануть Рефокс | |
---|---|
Igor Korolyov Сообщений: 34580 Дата регистрации: 28.05.2002 |
Привет Леонид!
Никогда не делал в самом корсо никаких изменений Как-то раз помнится попробовал что-то этакое сотворить, так он мне файл запорол напрочь... С тех пор только смотрю им, ну и "извлекаю" куски по возможности. Опять же, без инструкции очень сложно додуматься что и как там можно/нужно делать... Интерфейс что в 5.2, что в 6 очень далёк от "интуитивно понятного". Ну да оно и не удивительно - тулза то явно не для простого юзера писана. ------------------ WBR, Igor |
Re: Как обмануть Рефокс | |
---|---|
Igor Korolyov Сообщений: 34580 Дата регистрации: 28.05.2002 |
Вот ещё несколько простых примеров, которые "обманывают" Рефокс (они достаточно примитивны, поэтому я просто приведу исходник).
Кстати, очень интересно реагирует на LINENO() UnfoxAll Хитрые китайцы просто подставляют реальный номер строки (он по любому есть в объектном модуле, даже при компиляции с отключенным DebugInfo). В отличие от твоего примера, никаких манипуляций с объектным кодом не требуется
Конечно же все эти трюки очень просто обнаружить - но с другой стороны, если программа достаточно массивна, и подобных трюков в ней понабросать в разных местах... То взломщику придётся как минимум пройти под отладчиком весь код - а это уже совсем иное дело по сравнению с примитивным "декомпилировал, нашёл строчку Demo version restrictions, убрал, скомпилировал снова" ------------------ WBR, Igor |
Re: Как обмануть Рефокс | |
---|---|
leonid Автор Сообщений: 3204 Откуда: Рига Дата регистрации: 03.02.2006 |
Трюк с lineno я знал, и уже приводил
forum.foxclub.ru а во втором примере, там что, Refox на точности представления чисел обламывается? |
Re: Как обмануть Рефокс | |
---|---|
Igor Korolyov Сообщений: 34580 Дата регистрации: 28.05.2002 |
Привет Леонид!
Да, на точности - я сначала думал что для трюка потребуется бинарная модификация, а оно оказалось что и так можно "обмануть". ------------------ WBR, Igor |
Re: Как обмануть Рефокс | |
---|---|
Igor Korolyov Сообщений: 34580 Дата регистрации: 28.05.2002 |
В продолжение темы:
Приложенный fxp работает совсем не так, как восстановленный с помощью Refox или UnFoxAll исходник. Конечно же, довольно просто найти в чём тут дело - но это только если заранее знать, что декомпилятор обманут 2 Leonid - тоже неплохой жучок-закладка для защиты [attachment 7795 a.zip] ------------------ WBR, Igor Исправлено 2 раз(а). Последнее : Igor Korolyov, 05.04.09 17:51 |
© 2000-2024 Fox Club  |