После компиляции программы и последующей декомпиляции с помощью DeDe и его аналогов в
исходнике легко просматириваются испольуземые имена переменных и компонентов.
Вопрос — существует ли программа, которая заменяет эти имена на что-нибудь нечитаемое?
Здравствуйте, <Аноним>, Вы писали:
А>После компиляции программы и последующей декомпиляции с помощью DeDe и его аналогов в А>исходнике легко просматириваются испольуземые имена переменных и компонентов. А>Вопрос — существует ли программа, которая заменяет эти имена на что-нибудь нечитаемое?
It is always bad to give advices, but you will be never forgiven for a good one.
Oscar Wilde
Re[2]: Защита delphi/bilder программ
От:
Аноним
Дата:
18.08.06 09:27
Оценка:
Здравствуйте, Master Yoda, Вы писали:
Обфускаторы, как правило, меняют только строки в исходном коде программы, но
есть еще вся VCL и сторонние компоненты, которые тоже имеют осмысленные имена.
Взломщику, это даёт массу дополнительной информации. К тому же для делфи
достойного обфускатора найти мне не удалось..
Хочется иметь тулзу, которая в откомпилированном .exe поменяет все имена объектов
и переменных на что-нибудь рандомальное.
Здравствуйте, <Аноним>, Вы писали:
А>Здравствуйте, Master Yoda, Вы писали:
А>Обфускаторы, как правило, меняют только строки в исходном коде программы, но А>есть еще вся VCL и сторонние компоненты, которые тоже имеют осмысленные имена. А>Взломщику, это даёт массу дополнительной информации. К тому же для делфи А>достойного обфускатора найти мне не удалось..
А>Хочется иметь тулзу, которая в откомпилированном .exe поменяет все имена объектов А>и переменных на что-нибудь рандомальное.
запаковать UPX, а потом HEX-редактором заменить все вхождения слова UPX на нули.
Ни коммита без темплейта!
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Эх, люблю выпить и переспать с кем нибудь!
Но чаще выходит перепить с кем — нибудь и выспаться...
Здравствуйте, Аноним, Вы писали:
А>Здравствуйте, Master Yoda, Вы писали:
А>Обфускаторы, как правило, меняют только строки в исходном коде программы, но А>есть еще вся VCL и сторонние компоненты, которые тоже имеют осмысленные имена. А>Взломщику, это даёт массу дополнительной информации. К тому же для делфи А>достойного обфускатора найти мне не удалось..
А>Хочется иметь тулзу, которая в откомпилированном .exe поменяет все имена объектов
Это не дело. Такой подход нарушит работу программы, так как нельзя однозначно вычислить для чего какая то строка используется в коде.
Точно нарушится загрузка компонент и всякие там фабрики, которые могут работать с ипользованием имен класов.
Попробуйте AsProtect и не мучайтесь. Дальше идут в ход всякие там ключи в USB, Serial, COM порты. Подумайте стоит ли овчинка выделки.
А>и переменных на что-нибудь рандомальное.
названия переменных в код не компилятся
Re[4]: Защита delphi/bilder программ
От:
Аноним
Дата:
18.08.06 14:49
Оценка:
Здравствуйте, Danchik, Вы писали:
D>Это не дело. Такой подход нарушит работу программы, так как нельзя однозначно вычислить для чего какая то строка D>используется в коде. Точно нарушится загрузка компонент и всякие там фабрики, которые могут работать с ипользованием D>имен класов.
Это поправимо.. К примеру, при замене имени класса можно сканировать весь файл на наличие старого имени и заменять
на новое. Если, конечно, оно не будет формироваться динамически. Но делать это я собираюсь в своём софте, поэтому всегда можно будет поправить..
D>Попробуйте AsProtect и не мучайтесь. Дальше идут в ход всякие там ключи в USB, Serial, COM порты. Подумайте стоит ли D>овчинка выделки.
AsProtect хороший протектор, согласен. Но! В инете для него (как и для любого паблик-протектора) полно туториалов
по снятию.. Любой мало-мальски грамотный крякер не обратит на него внимания, а дальше всё опять будет на ладони.
Я хочу защититься не столько от взлома шаровары, сколько максимально осложнить реверсинг моего кода (восстановление алгоритмов работы), в этом случае бессмысленные имена будут очень кстати.
Re[4]: Защита delphi/bilder программ
От:
Аноним
Дата:
18.08.06 14:50
Оценка:
Здравствуйте, Ubivetz, Вы писали:
U>запаковать UPX, а потом HEX-редактором заменить все вхождения слова UPX на нули.
Распакуют за 7 минут и получат то, что искали.
Здравствуйте, Аноним, Вы писали:
А>Здравствуйте, Danchik, Вы писали:
D>>Это не дело. Такой подход нарушит работу программы, так как нельзя однозначно вычислить для чего какая то строка D>используется в коде. Точно нарушится загрузка компонент и всякие там фабрики, которые могут работать с ипользованием D>имен класов.
А> Это поправимо.. К примеру, при замене имени класса можно сканировать весь файл на наличие старого имени и заменять А>на новое. Если, конечно, оно не будет формироваться динамически. Но делать это я собираюсь в своём софте, поэтому всегда можно будет поправить..
Зная то там творится в экзешнике, говорю вам точно: написать такую тулзу будет стоить диких денег. Но есть вариант, если названия крмпонентов, класов подменять на такие же по длине, то добится этого можна. Попотеть с неделю придется.
D>>Попробуйте AsProtect и не мучайтесь. Дальше идут в ход всякие там ключи в USB, Serial, COM порты. Подумайте стоит ли D>овчинка выделки.
А> AsProtect хороший протектор, согласен. Но! В инете для него (как и для любого паблик-протектора) полно туториалов А>по снятию.. Любой мало-мальски грамотный крякер не обратит на него внимания, а дальше всё опять будет на ладони. А>Я хочу защититься не столько от взлома шаровары, сколько максимально осложнить реверсинг моего кода (восстановление алгоритмов работы), в этом случае бессмысленные имена будут очень кстати.
А что они дадут крякеру. Что вы создали такую то кумпоненту ?
Re[6]: Защита delphi/bilder программ
От:
Аноним
Дата:
18.08.06 16:16
Оценка:
Здравствуйте, Danchik, Вы писали:
D>Зная то там творится в экзешнике, говорю вам точно: написать такую тулзу будет стоить диких денег. Но есть вариант, если названия крмпонентов, класов подменять на такие же по длине, то добится этого можна. Попотеть с неделю придется.
Я попробую
D>А что они дадут крякеру. Что вы создали такую то кумпоненту ?
Ну, к примеру, я использую некий класс XXX и вызываю в своей программе его метод YYY,
так вот крякеру для того чтобы сделать вывод о том что делает мой код нужно будет изучить работу
этого метода, а не посмотреть хелп на сайте-автора этого класса. Т.е., допустим, я использую TVCLZip
и вызываю VCLZip1.ZitFromBuffer, после декомпиляции сразу понятно что тут происходит, а если вызов
будет выглядеть XXXXXXX.YYYYYYYYYYYYY, то нужно будет анализировать код этого метода.. Если так будет
выглядеть всё что используется в программе, то анализ её будет услажнён в разы.
Здравствуйте, Аноним, Вы писали:
А>Здравствуйте, Danchik, Вы писали:
D>>Зная то там творится в экзешнике, говорю вам точно: написать такую тулзу будет стоить диких денег. Но есть вариант, если названия крмпонентов, класов подменять на такие же по длине, то добится этого можна. Попотеть с неделю придется.
А> Я попробую
D>>А что они дадут крякеру. Что вы создали такую то кумпоненту ?
А> Ну, к примеру, я использую некий класс XXX и вызываю в своей программе его метод YYY, А> так вот крякеру для того чтобы сделать вывод о том что делает мой код нужно будет изучить работу А> этого метода, а не посмотреть хелп на сайте-автора этого класса. Т.е., допустим, я использую TVCLZip А> и вызываю VCLZip1.ZitFromBuffer, после декомпиляции сразу понятно что тут происходит, а если вызов А> будет выглядеть XXXXXXX.YYYYYYYYYYYYY, то нужно будет анализировать код этого метода.. Если так будет А> выглядеть всё что используется в программе, то анализ её будет услажнён в разы.
Гы, об VCLZip1.ZitFromBuffer: тут скорее будет для крякера TVCLZip($00XYXY).YYYYYYYYYYYY, если вы, конечно не забудете выключить DebugInfo
Hello Аноним, you wrote:
> AsProtect хороший протектор, согласен. Но! В инете для него (как и для любого паблик-протектора) полно туториалов > по снятию.
Вы пробовали воспользоваться этими туториалами? Фигня это, а не туториалы.
Если грамотно воспользоваться AsProtect, то практически единственной промлемой станет ворованные ключи. Но их можно банить.
--
Всего хорошего, Слава
ICQ: 197577902
Posted via RSDN NNTP Server 2.0
Re[6]: Защита delphi/bilder программ
От:
Аноним
Дата:
19.08.06 12:16
Оценка:
Здравствуйте, Slava Antonov, Вы писали:
SA>Вы пробовали воспользоваться этими туториалами? Фигня это, а не туториалы. SA>Если грамотно воспользоваться AsProtect, то практически единственной промлемой станет ворованные ключи. Но их можно банить.
Во-первых воровать ключи предётся только в случае, если откажутся от модификации кода, во-вторых речь идёт не
конкретно о регистрации, а об усложнении анализа программы, в-третьих — нормальные туторы есть и не дают они представления лишь тем, кто никогда не занимался взломом, всем остальным и они, по-сути, не нужны..
Hello Аноним, you wrote:
> в-третьих — нормальные туторы есть
Ссылочку, приз.
--
Всего хорошего, Слава
ICQ: 197577902
Posted via RSDN NNTP Server 2.0
Re[8]: Защита delphi/bilder программ
От:
Аноним
Дата:
19.08.06 18:35
Оценка:
Здравствуйте, Slava Antonov, Вы писали:
SA>Ссылочку, приз.
http://cracklab.ru/art/?action=cat&id=999 тут есть как минимум 10 статей о АсПротекте. Естественно, что в силу выхода новых версий и не всегда правильного применения продукта среди них, возможно, не будет всеобъемлящего пошагового руководства по снятию аспра, но знающему человеку они дают более чем достаточно для снятия защиты.
p.s. Мне не хотелось бы обсуждать конкретно Аспротект. Это действительно хороший протектор, но не нужно его ставить как не снимаемый. Его снимали, снимают и будут снимать, как и всё остальное. Вопрос был не об этом.
Re[9]: Защита delphi/bilder программ
От:
Аноним
Дата:
21.08.06 03:41
Оценка:
А>p.s. Мне не хотелось бы обсуждать конкретно Аспротект. Это действительно хороший протектор, но не нужно его ставить как не снимаемый. Его снимали, снимают и будут снимать, как и всё остальное. Вопрос был не об этом.
Такого протектора не существует. Идея протетокторов — защита бинарного кода и ASProtect здесь не исключение. Вам же нужны именно обфускаторы.
Здравствуйте, Аноним, Вы писали:
А>p.s. Мне не хотелось бы обсуждать конкретно Аспротект. Это действительно хороший протектор, но не нужно его ставить как не снимаемый. Его снимали, снимают и будут снимать, как и всё остальное. Вопрос был не об этом.
Такая защита (обфускация) может повлечь за собой неработоспособность программы, если в программе используется регистрация и создание классов по именам. А так, в принципе, сделать такую штуку наверняка не очень сложно.
Re[8]: Защита delphi/bilder программ
От:
Аноним
Дата:
21.08.06 07:14
Оценка:
Здравствуйте, Danchik, Вы писали:
D>Гы, об VCLZip1.ZitFromBuffer: тут скорее будет для крякера TVCLZip($00XYXY).YYYYYYYYYYYY, если вы, конечно не забудете выключить DebugInfo
Совершенно верно, но разобрав RTTI-структуру в IDA'е можно превратить YYYYYYYYYYYY в ZipFromBuffer.
Почитайте здесь
Здравствуйте, Dimonka, Вы писали:
D>Здравствуйте, Аноним, Вы писали:
А>>p.s. Мне не хотелось бы обсуждать конкретно Аспротект. Это действительно хороший протектор, но не нужно его ставить как не снимаемый. Его снимали, снимают и будут снимать, как и всё остальное. Вопрос был не об этом.
D>Такая защита (обфускация) может повлечь за собой неработоспособность программы, если в программе используется регистрация и создание классов по именам. А так, в принципе, сделать такую штуку наверняка не очень сложно.
Здравствуйте, Аноним, Вы писали:
А>>>p.s. Мне не хотелось бы обсуждать конкретно Аспротект. Это действительно хороший протектор, но не нужно его ставить как не снимаемый. Его снимали, снимают и будут снимать, как и всё остальное. Вопрос был не об этом.
D>>Такая защита (обфускация) может повлечь за собой неработоспособность программы, если в программе используется регистрация и создание классов по именам. А так, в принципе, сделать такую штуку наверняка не очень сложно.
Повторяюсь — выглядит это "счастье" замечательно, вот только если в программе реализована сериализация классов с их предварительной регистрацией, то, возможно, могут возникнуть проблемы с такой кашей классов. Да и я так понимаю, что не программа там на скриншоте вовсе и была, а чей-то тест "поганилки" названий классов.