Шифровка кода

Ask for help

Moderators: Murderator+, Murderator

Post Reply
Nevers
Posts: 14
Joined: 2009-03-17 17:30:37

Шифровка кода

Post by Nevers »

Вот что требуется сделать. Есть скрипт который я даю другим людям пользоваться. Требуется сделать код нечитабельным, но работающим. И чтобы он запускался от по кодированному слову. Которое бы менялось в зависимости от времени. Есть ли такие реализации? Может подкинете какие-нибудь идеи?
korzh
Posts: 220
Joined: 2007-04-26 23:35:15

Post by korzh »

Найти перловый обфускатор и переходить на пинжект :wink:
Nevers
Posts: 14
Joined: 2009-03-17 17:30:37

Post by Nevers »

korzh wrote:Найти перловый обфускатор и переходить на пинжект :wink:


Жутко извиняюсь, но что такое "перловый обфускатор". Это какая-то надстройка над инжектом?
Destruction
Junior Expert
Posts: 3221
Joined: 2004-06-24 22:08:56

Post by Destruction »

Nevers wrote:
korzh wrote:Найти перловый обфускатор и переходить на пинжект :wink:


Жутко извиняюсь, но что такое "перловый обфускатор". Это какая-то надстройка над инжектом?

google > define:обфускатор
google > define:PERL
YokoInjection CodeSweeper
Function not found?
Possession of mathematics at the level of art - a gift that is only available for election.
Sorry for my clumsy English.
Telegram: @tatikom
korzh
Posts: 220
Joined: 2007-04-26 23:35:15

Post by korzh »

Не, не совсем
Вот тут можно почитать про пинжект, а тут про то, что такое обфускация.

Сделать нечитаемый, но рабочий код на инжекте не получится, разве что нагородить огромную кучу бессмысленных конструкций:)
Destruction
Junior Expert
Posts: 3221
Joined: 2004-06-24 22:08:56

Post by Destruction »

А можно подробнее рассмотреть процесс обфускации:
1. Переименование переменных в что-либо не читабельное.
2. Полное стирание оформления кода.
3. Нагородить непонятных не слишком нужных конструкций.
4. В конце-концов написать написать свой язык скриптов, что инжект вполне себе позволяет.

Только факт в том, сколько не городи - кому будет нужно - он раскапает.

PS: Еще можно сделать патч для инжекта (вернее для script.dll) и компилировать скрипты, ну это уже для совсем задротов. А компилированные скрипты уже подвергать обфускации, тогда ваще жесть будет -)
YokoInjection CodeSweeper
Function not found?
Possession of mathematics at the level of art - a gift that is only available for election.
Sorry for my clumsy English.
Telegram: @tatikom
korzh
Posts: 220
Joined: 2007-04-26 23:35:15

Post by korzh »

Да, про компиляцию хорошо придумал:)
С другой стороны, я так понял что пользователи скрипта автора нубы совсем, и кодового слова в рот13 там за глаза будет :lol:
Nevers
Posts: 14
Joined: 2009-03-17 17:30:37

Post by Nevers »

Большое спасибо за идеи. Да про компиляцию это слишком жестоко :)
korzh
Posts: 220
Joined: 2007-04-26 23:35:15

Post by korzh »

Делать совсем нефига, сделал скриптег автору в помощь :)

Code: Select all

sub test()
  uo.textprint( code("hello world!") ) # uryyb jbeyq!
  uo.textprint( code("uryyb jbeyq!") ) # hello world!
endsub

sub code( str )
  var s = '', len = strlen(str), map = "abcdefghijklmnopqrstuvwxyz", f = false
  var a, t, n, j, m, r, e, k = 26
  for var i = 0 to len - 1
    j = 0
    f = false
    t = mid( str, i, 1 )
    while (not f && j < k)
      a = mid( map, j, 1)
      if a == t then
        f = true
        r = j + k / 2
        n = 0
        e = false
        while not e
          if ((r / k) - int(r / k)) == 0 then
            e = true
          else
            r = r - 1
            n = n + 1
          endif
        wend
        s = s + mid( map, n, 1)
      endif
      j = j + 1
    wend
    if not f then
      s = s + t
    endif
  next
  return s
endsub

PS Страшно выглядит?:))
Destruction
Junior Expert
Posts: 3221
Joined: 2004-06-24 22:08:56

Post by Destruction »

Выглядит - да, а вот реверс-инженерингу подвергается как нефиг делать.

Куда более страшно переопределить ф-ции UO. -) кстати тоже вариант, но даже не жоский, а жестокий )
YokoInjection CodeSweeper
Function not found?
Possession of mathematics at the level of art - a gift that is only available for election.
Sorry for my clumsy English.
Telegram: @tatikom
Post Reply