На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Перед отправкой сообщения внимательно прочтите правила раздела!!!
1. Запрещается обсуждать написание вирусов, троянов и других вредоносных программ!
2. Помните, что у нас есть FAQ раздела Assembler и Полезные ссылки. Посмотрите, возможно, там уже имеется решение вашего вопроса.

3. Настоятельно рекомендуем обратить особое внимание на правила форума, которые нарушаются чаще всего:
  3.1. Заголовок темы должен кратко отражать её суть. Темы с заголовками типа "Срочно помогите!" или "Ассемблер" будут отправляться в Корзину для мусора.
  3.2. Исходники программ обязательно выделяйте тегами [code]...[/code] (одиночные инструкции можно не выделять).
  3.3. Нежелательно поднимать старые темы (не обновлявшиеся более года) без веской на то причины.

Не забывайте также про главные Правила форума!

Добро пожаловать и приятного вам общения!!! ;)
 
Модераторы: Jin X, Qraizer
Страницы: (4) 1 [2] 3 4  все  ( Перейти к последнему сообщению )  
> WinLicense, Themida и иже с ними
    Цитата POP @
    Что бы не говорил Мустафа, а Themida/Winlicense лучше ибо там ВМ круче
    Там минус с try..catch/except и в том, что нет многопоточности защищённых областей. И ещё жаль, что в Themida нет макросов для мутации кода (хотя, может, в последних версиях есть?). Удобно для "шифрации" функций типа MD5.

    Цитата POP @
    VM + простые макросы + проверочные макросы + API + свои фишки (все должно лежать только под VM) = вот истинное решение проблемы.
    А что такое проверочные макросы? И что там за API в Themida?

    Цитата POP @
    Сейчас каждый умеет делать дамп, даже ламер и хотеть потрошить твой софт, что-то изменить и прочее. Очень легко это делается. Но все шарахаются от Themida/Winlicense как от страшного кошмара
    Ну это плюс, конечно :)
      Jin X
      Цитата Jin X @
      Там минус с try..catch/except


      Согласен, но для меня некритично. Лучше иметь гимор с try..catch/except, чем юзать неполноценные и некомплексные решения.


      Цитата
      нет многопоточности защищённых областей.


      А это извиняюсь автор VP навешал лапшу на уши, а никто особо и не вникает. Во-первых не факт (там своя замута с флажками), во-вторых ты этого никогда не проверишь и не заметишь в работе.

      Как ни крути, VP еще слишком слаб и с таким подходом как у автора навсегда таким и останется.

      Подход у автора простой - для чего введена фишка с привязкой HWID? Ну, юзерам нравиться вот и введена, а так все равно сломают.

      Я после такого ответа (и кучки подобных на его форуме) ни за что на свете юзать VP не буду.


      Цитата
      И ещё жаль, что в Themida нет макросов для мутации кода (хотя, может, в последних версиях есть?). Удобно для "шифрации" функций типа MD5.


      Просто мутация, не шифрации и VM? Да, нет такого. Можно попросить, сделают. Все что я ни просил, почти все делают. Но юзать такой макрос для реальной защиты кода врядли будет резон, слишком мала крепость такой защиты (как и у Encode макроса). Но никогда не помешает ее втыкать где ни попадя, в самых разнообразных проверках.. пускай крякеры мучаются со всеми известными макросами.



      Цитата
      А что такое проверочные макросы? И что там за API в Themida?


      Наверное тебе лучше скачать Demo и почитать Help. Проверочные макросы типа: CheckCodeIntegrity, CheckProtection, CheckRegistration, etc, которые по-хитрому вызываются.
      Сообщение отредактировано: POP -
        Цитата POP @
        А это извиняюсь автор VP навешал лапшу на уши, а никто особо и не вникает. Во-первых не факт (там своя замута с флажками)
        Я писал в Oreans. Уже не помню точно, что они ответили, но кажется, кол-во одновременных потоков зависит от настроек кол-ва процессоров в опциях ВМ. Собственно, это можно проверить, написал небольшую тестовую прожку :)

        Цитата POP @
        Просто мутация, не шифрации и VM? Да, нет такого. Можно попросить, сделают. Все что я ни просил, почти все делают.
        Да, просто обфускация. Надо написать им :)

        Добавлено
        Кстати, что, в Themida нет даже Misc API-функций (типа WLBufferCrypt, WLHardwareGetID, WLRestartApplication...)?
          Цитата Jin X @
          Кстати, что, в Themida нет даже Misc API-функций (типа WLBufferCrypt, WLHardwareGetID, WLRestartApplication...)?


          Ну судя по WL вначале, они есть в WL, а вот в Themida например WLHardwareGetID и не должно быть, у нее же нет системы лицензирования.

          Криптование буфера есть в WL и соответсвенно должно быть и в Themida (кстати это они по моей наводке сделали).
            Jin X

            А вот и ответ Oreans подоспел :)

            Вкратце: сказали, что штука их заинтересовала и что ее сделают (добавили в TO-DO list)

            И добавили, что в настоящее время почти все свое время работают над поддержкой протекта 64-битных приложений, поэтому внедрение новых функций будет отсрочено более времени нежели обычно.

            Вообщем, придеться подождать, предполагаю через один-три месяца (через версию) будет новый макрос Mutagen.
            Сообщение отредактировано: POP -
              Отлично, а я как раз хотел написать им сам. Но я всё равно напишу :)
              Есть ещё мысль переделать их макросы для Delphi таким образом, чтобы можно было использовать inline-процедуры в версиях 2005 и выше вместо include'ов (как в C++).

              По поводу многопоточности - проверил: код выполняется одновременно с нескольких потоков без проблем (и CodeReplace, и VM-CISC, VM-RISC).

              Потестил ещё и скорость:
              * Быстрее всего работает макрос Encode [67 - 102]
              * CodeReplace и VM работают по времени примерно одинаково (причём при увеличении сложности ВМ увеличивается время выполнения не только VM-кода, но и CodeReplace... интересно почему?) [391 - 690]
              * С увеличением сложности виртуальной машины (код от 0 до 255, который указывается внутри макроса) скорость почему-то не снижается, а чуть-чуть возрастает (например: 0=[414], 5=[387], 15=[398], 255=[391] или так: 0=[497], 5=[488], 15=[445], 255=[409]) - тоже странно.
              p.s. В квадратных скобках указано время выполнения 1000 циклов защищённого кода (включая сами макросы) в "условных единицах" :lol:

              Добавлено
              Кстати, POP, как я понимаю, у тебя как раз WinLicense.
              Насколько удобно использовать систему лицензирования/регистрации? Если программу покупает новый юзер, мне обязательно нужно добавить его в настройки защиты и перекомпилить прогу для него?

              Добавлено
              И по поводу исключений...
              Нелзя делать вот так:
              ExpandedWrap disabled
                  {$I VM_Start.inc}
                  try
                    raise Exception.Create('!!!');
                  except
                    ShowMessage('VM exception is Ok!');
                  end;
                  {$I VM_End.inc}

              Зато вот так всё прекрасно работает:
              ExpandedWrap disabled
                  try
                    {$I VM_Start.inc}
                    raise Exception.Create('!!!');
                    {$I VM_End.inc}
                  except
                    {$I VM_Start.inc}
                    ShowMessage('VM exception is Ok!');
                    {$I VM_End.inc}
                  end;
                Jin X
                Цитата
                По поводу многопоточности - проверил: код выполняется одновременно с нескольких потоков без проблем (и CodeReplace, и VM-CISC, VM-RISC).


                Во! Надо бы это автору VP на заметку взять, а то он долго на эту тему дискутировал на cracklab и всячески опускал Oreans (ну оно и понятно - конкуренты ведь :))

                Хотя он и так эту ветку читает.



                Цитата
                CodeReplace и VM работают по времени примерно одинаково (причём при увеличении сложности ВМ увеличивается время выполнения не только VM-кода, но и CodeReplace... интересно почему?)


                CodeReplace и VM это суть одно начиная с версий примерно двух-годичной, а то и больше давности. Я спрашивал Oreans, почему не убирают CodeReplace, ответили что оставили для совместимости.

                То есть код в CodeReplace виртуализируется (плюс переносится в другое место) точно так же как и в VM макросе, поэтому одинаково по времени выполняются.



                Цитата
                Насколько удобно использовать систему лицензирования/регистрации? Если программу покупает новый юзер, мне обязательно нужно добавить его в настройки защиты и перекомпилить прогу для него?


                Нет, генерируешь ключ для нового юзера и все. Прогу не надо перекомпеллировать.

                Не советую юзать SmartKeys, ибо там RSA512, который ломается BruteForce и твою прогу могут закейгенить серьезные ребята с мощностями (видимо спаммерские ботнет сети используют для распределенных вычислений).



                Цитата
                И по поводу исключений...
                Нелзя делать вот так:


                Абсолютно точно. В Хелпе об этом написано.
                Сообщение отредактировано: POP -
                  Цитата POP @
                  CodeReplace и VM эту суть одно начиная с версий примерно двух-годичной, а то и больше давности
                  Т.е. это одно и то же один-в-один? Или некая разница есть?

                  Цитата POP @
                  Не советую юзать SmartKeys
                  Что сие такое?
                    Jin X
                    Цитата Jin X @
                    Т.е. это одно и то же один-в-один? Или некая разница есть?


                    Разница есть, просто если раньше CodeReplace был похож на макрос CodeEncrypt, то есть код шифровался и переносился в другое место, то теперь вместо шифрации VM виртуализация.


                    Цитата
                    Что сие такое?


                    Начнешь юзать - поймешь.
                      Цитата POP @
                      Нет, генерируешь ключ для нового юзера и все. Прогу не надо перекомпеллировать.
                      А ключ зависит от Hardware Id и UserName?

                      Добавлено
                      Цитата POP @
                      Начнешь юзать - поймешь.
                      Это SmartActivate®?
                        Jin X
                        Цитата Jin X @
                        А ключ зависит от Hardware Id и UserName?


                        Да.


                        Цитата Jin X @
                        Это SmartActivate®?


                        Да.
                          Oreans обещает в ближайшем будущем реализовать полную поддержку исключений!
                            Jin X
                            Цитата Jin X @
                            Oreans обещает в ближайшем будущем реализовать полную поддержку исключений!


                            Спрашивал у них?

                            Ну это не скоро, по всей видимости. Сейчас у них x64 в повестке дня.
                              Да, спрашивал, ответили:
                              Цитата
                              we want to fully support try/excepts blocks in our products in a near future.
                                Themida по-тихому ставит свой драйвер. Если в вашем случае это не критично (может выругаться антивирь прим. Kasper2010 и тп) то я бы выбрал их продукт.
                                Может возможно без драйвера защитить, не знаю тонкостей. :-?
                                Сообщение отредактировано: qwertyman -
                                0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                                0 пользователей:
                                Страницы: (4) 1 [2] 3 4  все


                                Рейтинг@Mail.ru
                                [ Script execution time: 0,0460 ]   [ 15 queries used ]   [ Generated: 28.04.24, 13:54 GMT ]