Сейчас на форуме: _MBK_ (+6 невидимых)

 eXeL@B —› Основной форум —› AntiReflector... получится ли?
. 1 . 2 . >>
Посл.ответ Сообщение

Ранг: 16.0 (новичок)
Активность: 0=0
Статус: Участник

Создано: 23 апреля 2007 22:05
· Личное сообщение · #1

Скачал Reflector.. запустил... декомпилировал свое приложение(на C#) в идеальный исходный код и задумался. Каким бы способом ему противостоять. Именно дизассемблеру. Сразу пришло на ум: код программы надо зашифровать. Тем более, что с AppDomain сделать это не так уж и сложно. Вопрос лишь в том, куда положить ключик от очень уж любоптыных) Размазать его генерацию по загрузающей зашифрованный код программе с обфусцированием ее графа управления? Но ведь, аналогично можно дизассемблировать и загрузчик...



Ранг: 260.2 (наставник)
Активность: 0.190
Статус: Участник

Создано: 23 апреля 2007 22:15
· Личное сообщение · #2

d4u, делай опенсорс и незадумывайся.
приколист ты, пришёл на кряк форум и спрашиваешь, как защитить свою прогу, чтоб вам тяжелее ломать было. лол!




Ранг: 2014.5 (!!!!), 1278thx
Активность: 1.340.25
Статус: Модератор
retired

Создано: 23 апреля 2007 22:18
· Личное сообщение · #3

Шифровать не рулит, распаковка тут проще, чем на натив-коде, обфускать рулит. А вообще, нафиг такие темы, гемор только самим себе создавать, потом ломать это...



Ранг: 16.0 (новичок)
Активность: 0=0
Статус: Участник

Создано: 24 апреля 2007 10:33
· Личное сообщение · #4

;) Я не разрабатываю, я исследую))) Как вариант темы диплома. А если и придумается здесь что-то интересное, то выльется это в crackme.
П.С. А у кого же спрашивать, как не у вас))))




Ранг: 209.5 (наставник), 42thx
Активность: 0.10
Статус: Участник
WinCE ARM M@sTeR

Создано: 24 апреля 2007 11:01
· Личное сообщение · #5

d4u пишет:
то выльется это в crackme

да да ... Помнится кое у кого диплом вылился в VMProtect

А по теме советую лучше на gotdotnet или rsdn поспрашать, здесь не совсем "то" место для таких вопросов...

-----
Get busy living or get busy dying ©





Ранг: 1131.7 (!!!!), 447thx
Активность: 0.670.2
Статус: Участник

Создано: 24 апреля 2007 11:35
· Личное сообщение · #6

Getorix пишет:
Помнится кое у кого диплом вылился в VMProtect


Он таки хоть где-нибудь используется?



Ранг: 16.0 (новичок)
Активность: 0=0
Статус: Участник

Создано: 24 апреля 2007 11:55
· Личное сообщение · #7

на gotdot.net отают предпочтение скорее функционалу... нежели защите... Аналогичная тема уже была там поднята. а что плохого в том, что у кого-то диплом вылился в VMProtect? имхо, если интересно исследовать защиту программ, новая защита - новый интерес. если не интересно, зачем тогда этим заниматься?



Ранг: 160.1 (ветеран)
Активность: 0.070
Статус: Участник

Создано: 24 апреля 2007 12:03
· Личное сообщение · #8

Gideon Vi пишет:
Помнится кое у кого диплом вылился в VMProtect

Он таки хоть где-нибудь используется?

практически нет, ибо до сих пор нестабилен, после каждого навешивания надо все заново проверять.




Ранг: 116.6 (ветеран), 8thx
Активность: 0.050
Статус: Участник

Создано: 24 апреля 2007 12:47
· Личное сообщение · #9

Getorix пишет:
да да ... Помнится кое у кого диплом вылился в VMProtect

С чего ты взял?



Ранг: 500.5 (!), 8thx
Активность: 0.230
Статус: Участник

Создано: 24 апреля 2007 12:54 · Поправил: Smon
· Личное сообщение · #10

Gideon Vi пишет:
Он таки хоть где-нибудь используется?

Видел его в демо версии SoftBase - там он висел на процедуре проверки кол-ва открываемых записей
А еще вроде как был на библиотеке проверяющей регистрацию на niceprotect'е и VB decompiler'е старом )))

-----
"Пусть видят, что мы не шутим. Стволы для понта, ножи для дела" Lock, Stock & Two Smoking Barrels





Ранг: 209.5 (наставник), 42thx
Активность: 0.10
Статус: Участник
WinCE ARM M@sTeR

Создано: 24 апреля 2007 13:19 · Поправил: Getorix
· Личное сообщение · #11

dermatolog пишет:
С чего ты взял?

Извиняюсь Попутал...

-----
Get busy living or get busy dying ©





Ранг: 216.9 (наставник), 85thx
Активность: 0.310.15
Статус: Участник
X-Literator

Создано: 25 апреля 2007 19:09
· Личное сообщение · #12

d4u

По-моему, защиты - любые, кроме основанных на криптографических алгоритмах (не своих), обречены быть взломанными.

d4u пишет:
Размазать его генерацию по загрузающей зашифрованный код программе с обфусцированием ее графа управления?


Гыгы. Будто мы этого нигде не видели, и будто бы можно что-то "размазать". Все защиты, хоть стой на голове, типовые, вопрос только во времени, и защитные механизмы гнездятся в определенных местах, так как мозг у всех кодеров примерно одинаково развит =) (не в обиду).

Лучше юзать урезанную дему, аппаратную привязку в конкретном случае, все другие защиты - лажа, хотя и аппаратные ключи отвязывают.
Блин, во занесло меня.

-----
Харе курить веники и нюхать клей, к вам едет из Америки бог Шива, и он еврей.




Ранг: 74.4 (постоянный)
Активность: 0.050
Статус: Участник

Создано: 25 апреля 2007 19:41
· Личное сообщение · #13

Crawler пишет:
По-моему, защиты - любые, кроме основанных на криптографических алгоритмах (не своих), обречены быть взломанными.

Ну и чемже защита основаная на "криптографических алгоритмах" такая неломаемая?
Один рабочий ключ для декрипта + патч и все в ажуре.




Ранг: 216.9 (наставник), 85thx
Активность: 0.310.15
Статус: Участник
X-Literator

Создано: 27 апреля 2007 16:51
· Личное сообщение · #14

WoLFeR пишет:
Один рабочий ключ для декрипта + патч и все в ажуре.


А слабо - привязку к топологии диска (идея такова: генерация ключа по топологии конкретного диска и шифрация каждой отдельной копии. При этом ключ при каждом запуске считается заново, тело диска раскриптовывается, в памяти проверка на то, вшивая ли это копия, можно даже и проверку на сайте производителя через БД делать)? И все уделаются, только это трудно в реализации.
Ну, это к теме косвенно относится.

-----
Харе курить веники и нюхать клей, к вам едет из Америки бог Шива, и он еврей.





Ранг: 353.0 (мудрец)
Активность: 0.370
Статус: Участник
resreveR

Создано: 27 апреля 2007 17:32
· Личное сообщение · #15

Crawler пишет:
А слабо - привязку к топологии диска (идея такова: генерация ключа по топологии конкретного диска и шифрация каждой отдельной копии. При этом ключ при каждом запуске считается заново, тело диска раскриптовывается, в памяти проверка на то, вшивая ли это копия, можно даже и проверку на сайте производителя через БД делать)? И все уделаются, только это трудно в реализации.
Ну, это к теме косвенно относится.

Гемор как для клиента, так и для девелопера

-----
Тут не могла быть ваша реклама





Ранг: 216.9 (наставник), 85thx
Активность: 0.310.15
Статус: Участник
X-Literator

Создано: 29 апреля 2007 15:27
· Личное сообщение · #16

lord_Phoenix пишет:
Гемор как для клиента, так и для девелопера


Ну да. Никто не спорит. Зато безопасность полная. А клиенту так вообще должно быть пофиг на такие вещи - систему сделать можно прозрачной. Я даже думаю этим заняться, может быть, у кого-то есть такой опыт? Только не надо ссылаться на старфорц даже косвенно, надо все делать с нуля, а антиотладку сделать с применением замера таймингов, тогда вообще все уделаются. Под виртуальной машиной только асы смогут это разгрести, да и то - с огромным трудом, и через год после релиза.

-----
Харе курить веники и нюхать клей, к вам едет из Америки бог Шива, и он еврей.





Ранг: 353.0 (мудрец)
Активность: 0.370
Статус: Участник
resreveR

Создано: 29 апреля 2007 15:38
· Личное сообщение · #17

Crawler пишет:
Ну да. Никто не спорит. Зато безопасность полная. А клиенту так вообще должно быть пофиг на такие вещи - систему сделать можно прозрачной. Я даже думаю этим заняться, может быть, у кого-то есть такой опыт? Только не надо ссылаться на старфорц даже косвенно, надо все делать с нуля, а антиотладку сделать с применением замера таймингов, тогда вообще все уделаются. Под виртуальной машиной только асы смогут это разгрести, да и то - с огромным трудом, и через год после релиза.

Все зависит от денег-цены

-----
Тут не могла быть ваша реклама





Ранг: 216.9 (наставник), 85thx
Активность: 0.310.15
Статус: Участник
X-Literator

Создано: 29 апреля 2007 19:23
· Личное сообщение · #18

lord_Phoenix пишет:
Все зависит от денег-цены

Не знаю, не знаю, при предложенном методе это будет отвязать нелегко. Как говорил наш препод универский, защита должна быть комплексной, в этом и вся суть. Ясно, если за это команда мозгов возьмется, то другое дело, но их (т.е. нас=) не организовать.

-----
Харе курить веники и нюхать клей, к вам едет из Америки бог Шива, и он еврей.





Ранг: 353.0 (мудрец)
Активность: 0.370
Статус: Участник
resreveR

Создано: 29 апреля 2007 20:19
· Личное сообщение · #19

Если будут давать определенные деньги, то пожал организуются и еще как. Надо будет - сломают. Все, хватит демагогию разводить =)

-----
Тут не могла быть ваша реклама





Ранг: 353.0 (мудрец)
Активность: 0.370
Статус: Участник
resreveR

Создано: 29 апреля 2007 20:19
· Личное сообщение · #20

Если будут давать определенные деньги, то пожал организуются и еще как. Надо будет - сломают. Все, хватит демагогию разводить =)

-----
Тут не могла быть ваша реклама




Ранг: 16.0 (новичок)
Активность: 0=0
Статус: Участник

Создано: 01 мая 2007 13:42
· Личное сообщение · #21

Мда...
Понаберешься)) замер таймингов и прочее...
Мне вот интересно, а народ, котрый пишет приложения для работы с серверной БД... лигин/пароль в коде оставляет? Так получается, что .net тогда одна большая задница. Взял рефлектор, посмарел пароль...
Мало того, если самому лезть в базу лень, взял какой-нить запрос из кода (иам же как правило они вынесены в одно место, для облегчения изменений), подравил его на delete * from tbl where 1=1 и забыл про все это... или GRANT сделал на нового юзера, если привелегий достаточно...
Я просто сам не писал никогда локальных клиентов. А на серверной части(на java) прост выносишь все в файл пропертей и не паришься(можно даже в открытом виде)...ибо чтобы можно было это файлик получить - надо сервер приложений тряхнуть, а это уже совсем другая история...



Ранг: 0.9 (гость)
Активность: 0=0
Статус: Участник

Создано: 01 мая 2007 16:19
· Личное сообщение · #22

d4u пишет:
Мне вот интересно, а народ, котрый пишет приложения для работы с серверной БД... лигин/пароль в коде оставляет? Так получается, что .net тогда одна большая задница. Взял рефлектор, посмарел пароль...


Зачем в коде... Рядом кладут файлик на xml, где он прописан в plain text.



Ранг: 16.0 (новичок)
Активность: 0=0
Статус: Участник

Создано: 01 мая 2007 16:34
· Личное сообщение · #23

А если пользователь знает логин/пароль к банке...он может ее и слить, если это база клиентов, например, так?




Ранг: 218.9 (наставник), 42thx
Активность: 0.160
Статус: Участник
dotnet

Создано: 03 мая 2007 06:43
· Личное сообщение · #24

d4u пишет:
Мало того, если самому лезть в базу лень, взял какой-нить запрос из кода (иам же как правило они вынесены в одно место, для облегчения изменений), подравил его на delete * from tbl where 1=1 и забыл про все это... или GRANT сделал на нового юзера, если привелегий достаточно...


Как сказал один мой коллега, "запросы в коде делают только лохи, удаленные процедуры рулят", а поверх них нужно делать веб-сервисы, чтобы исключить прямой контакт с базой от клиентов.

-----
have a nice day





Ранг: 218.9 (наставник), 42thx
Активность: 0.160
Статус: Участник
dotnet

Создано: 03 мая 2007 06:45
· Личное сообщение · #25

Crawler пишет:
А слабо - привязку к топологии диска (идея такова: генерация ключа по топологии конкретного диска и шифрация каждой отдельной копии. При этом ключ при каждом запуске считается заново, тело диска раскриптовывается, в памяти проверка на то, вшивая ли это копия, можно даже и проверку на сайте производителя через БД делать)? И все уделаются, только это трудно в реализации.
Ну, это к теме косвенно относится.


ты сначало сделай дойстойную ВМ, для которой через пять минут не напишут декомпиль, а потом думай об остальном.

-----
have a nice day




Ранг: 2.6 (гость)
Активность: 0.010
Статус: Участник

Создано: 03 мая 2007 14:32
· Личное сообщение · #26

Вот прога на C#. dll-ка reflector'ом не просматривается.

rapidshare.com/files/22908546/SEOLast2385e.rar




Ранг: 216.9 (наставник), 85thx
Активность: 0.310.15
Статус: Участник
X-Literator

Создано: 03 мая 2007 20:22
· Личное сообщение · #27

Nimnul пишет:
ты сначало сделай дойстойную ВМ, для которой через пять минут не напишут декомпиль, а потом думай об остальном.


Для любой вм не напишут декомпиль через 5 минут, я же предлагаю всегда увязывать всё с мат. логикой и комплексными числами. Это просто в реализации и создает трудности для реверсера. Главное - математику включить, функции вызывать по хэшу сложному, вызовы маскировать, защитный код на апи.
Я исхожу из того, что сейчас это реализовать способен средний математик, а исследовать вряд ли это сможет даже группа краснодипломных прикладных математиков (я по опыту знаю =)

-----
Харе курить веники и нюхать клей, к вам едет из Америки бог Шива, и он еврей.





Ранг: 218.9 (наставник), 42thx
Активность: 0.160
Статус: Участник
dotnet

Создано: 04 мая 2007 02:21
· Личное сообщение · #28

Чем больше математики ты впихнешь, тем тормознутее будет твоя вм, тем меньше кода будут туда запихивать разработчики. Вот он баланс, придется изучить либо много простого пкода, либо мало сложного.

-----
have a nice day




Ранг: 500.5 (!), 8thx
Активность: 0.230
Статус: Участник

Создано: 04 мая 2007 08:25
· Личное сообщение · #29

Crawler пишет:
я же предлагаю всегда увязывать всё с мат. логикой и комплексными числами. Это просто в реализации и создает трудности для реверсера. Главное - математику включить, функции вызывать по хэшу сложному, вызовы маскировать, защитный код на апи.

Предлагать может любой, кидаться такими фразами - ума много не надо , если это по - твоему так просто, то почему же ты не включил такую мат. вм. в свой крэкми, который разломали все кому не лень (там, где lstrcmp)

-----
"Пусть видят, что мы не шутим. Стволы для понта, ножи для дела" Lock, Stock & Two Smoking Barrels





Ранг: 216.9 (наставник), 85thx
Активность: 0.310.15
Статус: Участник
X-Literator

Создано: 04 мая 2007 19:33
· Личное сообщение · #30

Smon пишет:
Предлагать может любой, кидаться такими фразами - ума много не надо , если это по - твоему так просто, то почему же ты не включил такую мат. вм. в свой крэкми, который разломали все кому не лень (там, где lstrcmp)

Извиняюсь, но не могу не ответить.
Я тут флуд не развожу.
Скажу только последнюю фразу. Крэкми, во-первых, я делал давно, когда еще не имел опыта (относительно), во-вторых, не ставил себе задачу сделать что-то невероятное, в-третьих, не ставил задачу писать ВМ, в-четвертых, "тормознутее" ничего не будет. Вы-то хоть знаете принципы построения ВМ? Вы хотя бы семантический анализатор напишите для начала простенький. Я курсовики писал на подобные темы, когда учился. И вообще, при чем тут крэкми? Я сейчас могу много чего интересного вспомнить про многих, даже, блин, про дракона (с) или, блин, про хекса можно насобирать смешной инфы, а вы про меня что-то говорите.
Все. Больше на такую херню не отвечаю.

-----
Харе курить веники и нюхать клей, к вам едет из Америки бог Шива, и он еврей.



. 1 . 2 . >>
 eXeL@B —› Основной форум —› AntiReflector... получится ли?
Эта тема закрыта. Ответы больше не принимаются.
   Для печати Для печати