|   |   | 
| 
 | Защита от реверс-инжиниринга с .NET | ☑ | ||
|---|---|---|---|---|
| 0
    
        HeroShima 21.01.13✎ 21:35 | 
        Чем и нужно ли заморачиваться?     | |||
| 1
    
        H A D G E H O G s 21.01.13✎ 21:36 | 
        реверс-инжиниринга - че это?     | |||
| 2
    
        kotletka 21.01.13✎ 21:37 | 
        ща яндекс трещать стал от запроса про реверс-инжиниринг     | |||
| 3
    
        HeroShima 21.01.13✎ 21:37 | 
        (1) выковыривание алгоритма работы     | |||
| 4
    
        HeroShima 21.01.13✎ 21:37 | 
        (2) интернет уже почитал     | |||
| 5
    
        kotletka 21.01.13✎ 21:38 | 
        (1)вкратце то чем большинство 1с прогов занимаются, по коду проги разбираются как работает типовая     | |||
| 6
    
        kotletka 21.01.13✎ 21:39 | 
        (4)не у нас начальник так любит говорить, так что я почитал про это неделю назад     | |||
| 7
    
        HeroShima 21.01.13✎ 21:39 | 
        Такие варианты:
  1. Покупать за большие деньги тулз. 2. Писать своё. 3. Забить и надеяться на лицензию. | |||
| 8
    
        H A D G E H O G s 21.01.13✎ 21:40 | 
        (3) Вот так и пиши "взлом dll-ки, в которую вынесен мой гейтсопротивный кот"     | |||
| 9
    
        HeroShima 21.01.13✎ 21:42 | 
        (8) Хорошо. Екзешника.     | |||
| 10
    
        MaxS 21.01.13✎ 21:42 | 
        (5) Есть другой вариант - спросить у опытного консультанта 1С. В современных конфигурациях 8-ки так получается быстрее.
  И если вопрос останется, копать код. | |||
| 11
    
        H A D G E H O G s 21.01.13✎ 21:42 | 
        Ну напиши, куле.
  И пусть у тебя будет сервер, куда dllка будет ломитца в обязательном порядке и скачивать себя, новую. Это официальная версия. И заодно проверять свой CRC32. Вот и посчитаешь. | |||
| 12
    
        HeroShima 21.01.13✎ 21:58 | 
        (11) такой вариант не подходит     | |||
| 13
    
        H A D G E H O G s 21.01.13✎ 22:00 | 
        (12) Че так?     | |||
| 14
    
        HeroShima 21.01.13✎ 22:01 | 
        (13) юзабилити наше фсё и везде!     | |||
| 15
    
        H A D G E H O G s 21.01.13✎ 22:03 | 
        (14) тоесть?     | |||
| 16
    
        HeroShima 21.01.13✎ 22:04 | 
        (15) неудобно пользоваться шедевром     | |||
| 17
    
        HeroShima 21.01.13✎ 22:49 | 
        (1) Рассказать как система из-под отладчика смотрится?     | |||
| 18
    
        Партизан 21.01.13✎ 22:53 | 
        (0) GNU GPL даст защиту от реверс-инжиниринга ))     | |||
| 19
    
        HeroShima 21.01.13✎ 23:13 | 
        (18) только после 1С)     | |||
| 20
    
        NS 22.01.13✎ 00:14 | 
        Кто мешает обфусцировать?     | |||
| 21
    
        HeroShima 22.01.13✎ 13:29 | 
        (20) В первую очередь цена хороших обфускаторов. Во вторую: хотелось бы нечто, работающее на уровне исходного кода С#, а такого что-то очень мало.     | |||
| 22
    
        NS 22.01.13✎ 13:33 | 
        (21) То экзешник, то исходный код.
  Навалом обфускаторов и сишарповского кода. В том числе и бесплатных. Думаю что твоя нетленка не настолько дорога, чтоб народ всерьез взялся за её взлом. | |||
| 23
    
        mehfk 22.01.13✎ 13:34 | 
        (0) Пиши копрокод, даже обфусцировать не придется.
  А так, ищи в гугле как рефлектор обойти. | |||
| 24
    
        DEVIce 22.01.13✎ 13:36 | 
        (21) А нафига обфусцировать исходный код? Ты готовое решение с исходниками поставляешь? Ну так решение на поверхности - поставляй без исходников. :)     | |||
| 25
    
        HeroShima 22.01.13✎ 13:39 | 
        (24) мне не нужно запутывать всё, достаточно одной - двух функций, а ради этого создавать проект обфускатора и тюниновать его...     | |||
| 26
    
        DEVIce 22.01.13✎ 13:44 | 
        (25) Ни че не понял. Во-первых, готовый код .Net он всяко без исходного текста. Чего и как там реверс-инжинирить? CLR? Ну так это читай грубо тот же ASM, как ты практически машинные комманды обфусцировать собираешься?     | |||
| 27
    
        Кирпич 22.01.13✎ 13:46 | 
        Заморачиваться не нужно. Ибо все что написано на .NET и Java рано или поздно попадет на помойку или перепишется на Си.
  Сегодня ставил какую то херь от охраны природопользования. Чтобы отправить им туда килобайтный файлик XML, пришлось скачать полгига какой то ненужной мне хрени. Потом это все запустилось и тормозило так, что аж нервы рвались. Ударяешь по клавише и ждешь пока буква нарисуется. Кашмар. Зашифруйте это все обфускаторами и выкиньте куда глаза глядят. Не понимаю людей, которые делают что-то на NET. Java это хотя бы кроссплатформенность. Но NET.... | |||
| 28
    
        HeroShima 22.01.13✎ 13:50 | 
        (26) ты рефлектор когда-нибудь запускал? а иду/иксрей?
  (27) Это эмоции. На том же дельфи тоже уг хватает. И обновитесь до win7, хотя бы) | |||
| 29
    
        DEVIce 22.01.13✎ 13:53 | 
        (28) Иду запускал. Вообще и дизасмами и дебагерами/отладчиками разными хитрыми пользовался. А что? Ты лучше объясни как ты обфусцируешь CLR?     | |||
| 30
    
        HeroShima 22.01.13✎ 13:56 | 
        (29) тогда мне непонятны твои вопросы     | |||
| 31
    
        AaNnDdRrEeYy 22.01.13✎ 14:10 | 
        все сборки NET компилируются не в машинный код а в язык IL, потом уже среда CLR при подгрузки сборки компилирует их в машинный код в зависимости от архитектуры железа, отсюда и кросплатформенность.
  Так что ты там защишать захотел? любой адекватный программист может прочитать IL язык не хуже чам простые исходники, тем более литературы по языку IL полным полно. | |||
| 32
    
        HeroShima 22.01.13✎ 14:11 | 
        (31) можно и машинный код прочитать - вопрос в запутанности потока исполнения     | |||
| 33
    
        sapphire 22.01.13✎ 14:12 | 
        (11) Это не спасает от инжекции основного процесса     | |||
| 34
    
        HeroShima 22.01.13✎ 14:13 | 
        ТС разбирался с макаронами времён DOS, когда ещё не было разделения кода и данных. Ближе к делу.     | |||
| 35
    
        AaNnDdRrEeYy 22.01.13✎ 14:20 | 
        (32)запутанность исполнения = сложность поддержки.     | |||
| 36
    
        HeroShima 22.01.13✎ 14:27 | 
        (35) если путать только перед выпуском релиза, или код, шифрующий другой код, тогда сойдёт.     | |||
| 37
    
        HeroShima 22.01.13✎ 14:30 | 
        К (0) ещё хотелось узнать: заморачивался кто-нибудь из мистян с этим серьёзно, терпел ли убытки из-за пиратства и т.п. Может овчинка и выделки не стоит.     | |||
| 38
    
        dmpl 22.01.13✎ 14:35 | 
        (37) Сделай свой девайс с прошитой в нем DLL'кой. Наружу только API отдаешь.     | |||
| 39
    
        HeroShima 22.01.13✎ 14:39 | 
        (38) Резонность: стоимость взлома > стоимости приобретения. Если взломать можно за рупь - это ничего страшного при цене в полтинник.     | |||
| 40
    
        DEVIce 22.01.13✎ 14:41 | 
        (39) тут еще нужно понимать четко, а кому это авно нужно чтобы его ломать? :)     | |||
| 41
    
        dmpl 22.01.13✎ 14:42 | 
        (39) Нет девайса - иди кури, дядя. Взлом невозможен в принципе. Причем девайс ты можешь вообще в руки не давать, организуй облако.     | |||
| 42
    
        HeroShima 22.01.13✎ 14:47 | 
        (40) это уже для раздела о философии)
  (41) облака - неудобная, ненужная хрень, по крайней мере на данный момент | |||
| 43
    
        dmpl 22.01.13✎ 14:54 | 
        (42) Ну тогда делай девайс на бескорпусных микросхемах, заливай все компаундом и отдавай заказчику. Если он сможет снять компаунд не повредив микросхемы - значит остаются только облака...     | |||
| 44
    
        HeroShima 22.01.13✎ 15:00 | 
        грустная история по хасп и одинэс..     | |||
| 45
    
        RusDX 22.01.13✎ 15:19 | ||||
| 46
    
        HeroShima 22.01.13✎ 15:48 | 
        (45) это у меня уже было в закладках, но всё равно спасибо!     | |||
| 47
    
        mihavxc 07.02.13✎ 11:19 | 
        Могу посоветовать программные и аппаратные ключи HASP.
  http://www.safenet-sentinel.ru/ Стоимость SDK с 5 пользовательскими ключами - 100$ Конечно надежно защитить .net приложения не так просто, но подобное решение будет в разы надежней простого использования обсуфкатора. Кстати, 21 февраля будет проходить технический мастре-класс для разработчиков по защите ПО, там будет рассматриваться и надежная защита .net приложений. Подробности о мастер-классе будут на сайте: http://www.safenet-sentinel.ru/ | |||
| 48
    
        HeroShima 07.02.13✎ 16:44 | 
        (47) спасибо. приму во внимание.     | |||
| 49
    
        HeroShima 16.02.13✎ 13:13 | 
        В голову лезет всякая криптография с откр ключем и хеши от фио + исходников. Проще говоря, своего рода подписывание и все.     | |||
| 50
    
        Torquader 17.02.13✎ 01:35 | 
        (49) Криптография прокатывает, когда нужно что-то спрятать, пока оно не используется, так как в случае использования в памяти всё равно будет исполняемый код. Соответственно, для чайника, что криптография, что простое кодирование (0xFF-{Byte}) будут одинаковы, а профессионал считает через драйвер из памяти процесса, пока тот будет скинут из процессора.
  Подписывание интересно, если хочется потом доказывать, что код твой, но, в силу того, что однотипные решения могут быть исполнены по одинаковым алгоритмам (а сам алгоритм не патентуется), то ничего, кроме вывода - "у меня слизали" сделать будет невозможно. Потом, если вы пишете готовую программу, которая не предполагает, что пользователи будут её модифицировать, то мало желающих будет пытаться что-то изменить, так как при выходе следующей версии придётся разбирать код снова. Что касается защиты от копирования, то тут без DLL и процесса на уровне ядра не обойтись, так как иначе потом может оказаться, что все машины одинаковые. | |||
| 51
    
        Bugmenot 17.02.13✎ 01:49 | 
        (0) - нет, не стоит.
  Помни, что твоий код без документации поймут только 2 человека на земле - ты и тот, который думает как ты. | |||
| 52
    
        HeroShima 17.02.13✎ 10:41 | 
        (50) В моём конкретном случае остановился на варианте с подписью именно, как подтверждающему авторство.
  (51) Ерунда. | |||
| 53
    
        Torquader 18.02.13✎ 01:19 | 
        (52) Если переживаешь за авторство, то проще документально оформить и заверить бумажную версию кода - да и даже в этом случае могут показать бумагу, в которой перепечатан твой код, но уже с ранней датой.
  В случае с подписью спокойно может быть предъявлена другая подпись на тот же код. | |||
| 54
    
        Balabass 18.02.13✎ 02:35 | 
        Пиши код на заборе!     | |||
| 55
    
        HeroShima 18.02.13✎ 09:29 | 
        (54) читай код с забора     | |||
| 56
    
        vde69 18.02.13✎ 09:39 | 
        класической защитой раньше (давным давно) была передача исполнения в область стека, при этом стек готовился таким образом что-бы по нужному адресу распологался оператор перехода к реальным данным.
  раньше это работало, по сколько отладчики сами использовали вызовы то стек модифицировался и при передачи на него управление прога валилась. сейчас это вроде уже не работает :) | |||
| 57
    
        HeroShima 18.02.13✎ 09:47 | 
        У меня связка .NET + скрипты. Особо не поизголяешься.     | |||
| 58
    
        Alexey_Morov 18.02.13✎ 09:51 | 
        В любом случае найдутся умельцы, которые взломать по-любому. Поэтому париться не стоит. Даже Windows и то взламывают за пару дней до релиза! Во.     | |||
| 59
    
        Krendel 18.02.13✎ 09:51 | 
        ОТ реверс инжиниринга защищаются технологией, брендом, количеством внедрений. А само построение и логику работы ты все равно не защитишь. Ибо ее срисует консультант, или тестер.
  Поэтому так 3. Потеря бабла и времени | |||
| 60
    
        dmpl 18.02.13✎ 10:06 | 
        (50) То, что абсолютной защиты не существует - известная истина. Но можно сделать стоимость обхода защиты выше стоимости легального приобретения программы - и этого будет достаточно.     | |||
| 61
    
        Alexey_Morov 18.02.13✎ 12:32 | 
        (60) 
  Согласен. +1. | |||
| 62
    
        HeroShima 03.03.13✎ 11:43 | 
        http://dorex.pro/?projects&license - уя се цены)     | |||
| 63
    
        Gepard 03.03.13✎ 11:50 | 
        (59) +1     | |||
| 64
    
        HeroShima 03.03.13✎ 11:58 | 
        По (0): минимально обфусцировал ядро разработки. Имхо, будет достаточно.     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |