Гайд Пишем свой криптер на CLEO!

Тема в разделе "CLEO", создана пользователем SR_team, 5 апр 2015.

?

Вы что-нибудь поняли?

  1. Да, все понятно

  2. Нет, нихуя не понял

  3. Понял, что я нуб

Результаты будут видны только после голосования.
Статус темы:
Закрыта.
  1. SR_team

    SR_team BH Team
    BH Team

    Регистрация:
    26.10.13
    Сообщения:
    2.490
    Лайки:
    1.442
    Репутация:
    404
    И так пришло время заняться развитием портала.

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

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

    Т.к. мы работаем на клео и т.к. работаем с каждым байтом индивидуально процесс крипта и декрипта займет много времени. Да-да вы не ослышались - скорость запуска скрипта будет зависеть от его размера и сложности алгоритма.

    Криптовать мы будем способом инвертирования всех байт - это самый простой способ. 1 байт = от 0x00 до 0xFF (Кто не знаком с HEX, пожалуйста ознакомьтесь, ибо с ним работать удобнее, чем с десятичной системой счисления), к примеру у нас в скрипте байт который мы обрабатываем равен 0x04 значит после инвертирования он будет равен 0xFF - 0x04 = 0xFB

    И так приступим, тут я набросал код, который криптует скрипт инвертором, но на выходе мы получаем только закриптованые данные, а не рабочий скрипт, по этому не спешите с тестами, да и криптует он минуты 3 из-за того что скрипт весит 19кб (по этому лучше не сохранять в скрипте исходный код - он будет весить в 10 раз меньше)
    http://pastebin.com/2m9C0xEE
    После компиляции и запуска в игре под чатом будет отображен прогресс крипта (X/19201), после чего создастся файл Invertion.bin в папке с игрой, содержащий инвертированый код.

    Теперь давайте рассмотрим код для запуска этого скрипта. Да-да как я уже говорил, нужно декриптовать скрипт перед запуском, кто-то возможно этому удивится, но так работают все крипторы, потому что игра не умеет работать с закриптованным скриптом, и что бы наш скрипт работал его надо декриптовать в памяти игры.
    http://pastebin.com/qMvx1jVx
    Что же мы видем? Код криптора и декриптора практически не изменился! Если мы оставим запись в файл, как при крипте, то наш скрипт тупо декриптуется и сохранится в папку с игрой. Но не всегда код на столько одинаков, обычно изменяется математическая операция над байтами, но почему не изменилась у нас? Ответ прост, как я писал в начале урока, для простоты в уроке используется метод инвертирования в качестве крипта. Как 0xFF - 0x04 = 0xFB, так и 0xFF - 0xFB = 0x04.


    Примечания:

    19201 - размер скрипта который мы закриптовываем/раскриптовываем

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

    Лучше ебашить не по байту как в уроке, а по 4 байта - принцип не изменится, а криптоваться и декриптоваться будет в 4 раза быстрее
     
    Последние данные очков репутации:
    Russian DDoS: 1 Очко 7 апр 2015
    woksonal: 1 Очко 8 апр 2015
    #1
    Последнее редактирование: 5 апр 2015
    Deucalion_Esposito, Arturas.exe, Gabriel__ и 9 другим нравится это.
  2. mac

    mac ща как ебну копытом
    Друг

    Регистрация:
    06.09.14
    Сообщения:
    1.327
    Лайки:
    797
    Репутация:
    40
    Нихуя не понял, лойс :D
    p.s. ya prost rak :(
     
    #2
    Arturas.exe нравится это.
  3. XyJluraH_J

    XyJluraH_J Заблокирован

    Регистрация:
    28.09.13
    Сообщения:
    128
    Лайки:
    29
    Репутация:
    17
    Мужик еще год назад такую хрень на cleo делал. Но у него вроде она не работала
     
    #3
  4. SR_team

    SR_team BH Team
    BH Team

    Регистрация:
    26.10.13
    Сообщения:
    2.490
    Лайки:
    1.442
    Репутация:
    404
    Я пока еще маленький мальчик, по этому у меня все работает
     
    #4
  5. SpaceBMX.Ilya

    SpaceBMX.Ilya Активный пользователь

    Регистрация:
    08.01.15
    Сообщения:
    31
    Лайки:
    11
    Репутация:
    5
    Нужно было видео приложить :)
     
    #5
  6. SR_team

    SR_team BH Team
    BH Team

    Регистрация:
    26.10.13
    Сообщения:
    2.490
    Лайки:
    1.442
    Репутация:
    404
    нет, не нужно было
     
    #6
    Arkember нравится это.
  7. SpaceBMX.Ilya

    SpaceBMX.Ilya Активный пользователь

    Регистрация:
    08.01.15
    Сообщения:
    31
    Лайки:
    11
    Репутация:
    5
    Как тогда этим пользоваться? Просто засунуть в скрипт и скомпилировать?
     
    #7
  8. SR_team

    SR_team BH Team
    BH Team

    Регистрация:
    26.10.13
    Сообщения:
    2.490
    Лайки:
    1.442
    Репутация:
    404
    читай блядь, я для этого и писал, что бы вы знали как пользоваться
     
    #8
    AWRage нравится это.
  9. KoRN

    KoRN Новичок

    Регистрация:
    21.06.15
    Сообщения:
    1
    Лайки:
    0
    Репутация:
    0
    а открыть его если что как?
     
    #9
  10. SR_team

    SR_team BH Team
    BH Team

    Регистрация:
    26.10.13
    Сообщения:
    2.490
    Лайки:
    1.442
    Репутация:
    404
    читай статью, которая в 1 посте и узнаешь
     
    #10
  11. УченикДимаса

    УченикДимаса Активный пользователь

    Регистрация:
    02.07.13
    Сообщения:
    36
    Лайки:
    17
    Репутация:
    4
    и потратил бы он ещё +2-3 часа
    никак, это обман, чтобы набрать классы

    По теме: немного вник, но проблема в том, что НЕМНОГО. Попробую прочитать ещё пару раз)
     
    #11
  12. УченикДимаса

    УченикДимаса Активный пользователь

    Регистрация:
    02.07.13
    Сообщения:
    36
    Лайки:
    17
    Репутация:
    4
    охлаждай
     
    #12
  13. JORA

    Проверенный

    Регистрация:
    19.03.13
    Сообщения:
    165
    Лайки:
    15
    Репутация:
    8
    агресивный
     
    #13
  14. woksonal

    Проверенный

    Регистрация:
    31.05.13
    Сообщения:
    239
    Лайки:
    103
    Репутация:
    56
    Если каждый байт скрипта криптануть разным алгоритмом, то будет работать такой скрипт?
     
    #14
  15. hnnssy

    Друг

    Регистрация:
    23.03.13
    Сообщения:
    1.561
    Лайки:
    949
    Репутация:
    162
    если ты безболезненно перед загрузкой скрипта сможешь каждый байт вернуть в нормальное состояние, то да
     
    #15
  16. Mikha Mikhin

    Mikha Mikhin Известный пользователь

    Регистрация:
    30.12.14
    Сообщения:
    132
    Лайки:
    3
    Репутация:
    -1
    В Buffer чо писать? Как HEX своего скрипта то найти, чтобы туда написать?
     
    #16
  17. BlackKnigga

    Проверенный

    Регистрация:
    10.01.16
    Сообщения:
    401
    Лайки:
    92
    Репутация:
    49
    Используй любой hex редактор.
     
    #17
    Последнее редактирование: 14 мар 2016
  18. iTz_W33Z7

    iTz_W33Z7 Известный пользователь

    Регистрация:
    14.03.16
    Сообщения:
    224
    Лайки:
    28
    Репутация:
    4
    я читал это 20 раз и только прочитав сейчас начал понимать
     
    #18
  19. kraft1k

    kraft1k {$CLEO .cs}
    Проверенный

    Регистрация:
    29.09.14
    Сообщения:
    413
    Лайки:
    92
    Репутация:
    44
    Мои поздравления,ты умнеешь.
     
    #19
    iTz_W33Z7 нравится это.
  20. Gabriel__

    Проверенный

    Регистрация:
    23.06.15
    Сообщения:
    428
    Лайки:
    150
    Репутация:
    46
    Это из-за твоего wait 0 в цикле for
     
    #20
  21. SR_team

    SR_team BH Team
    BH Team

    Регистрация:
    26.10.13
    Сообщения:
    2.490
    Лайки:
    1.442
    Репутация:
    404
    Серьезно? А ведь никто и не знал, что при wait 0 управление процессом передается дальше, из-за чего wait 0 работает как wait 20
     
    #21
  22. David Belle

    David Belle Новичок

    Регистрация:
    02.10.16
    Сообщения:
    1
    Лайки:
    0
    Репутация:
    0
    Understand How to do this and what to do so that it can be activated?
     
    #22
  23. MogAika

    Друг

    Регистрация:
    18.03.13
    Сообщения:
    244
    Лайки:
    274
    Репутация:
    203
    по мне так эффективность следующая:
    - cleo крипторы типа такого как в этом уроке
    - клео, в котором особо критичный участок кода криптуется/декриптуется во время выполнения (минус в производительность)
    - клео, секретные функции которого вынесены в dll (производительность в плюс, никто не мешает вызывать эту dll, если ты, допустим, копируешь скрипт)
    - весь код полностью в длл (придется навешивать хуки на все что движется)
    - клео с ассемблерным кодом прямо в функциях (я раньше так делал, но целью я не ставил скрыть код, просто у меня выбора не было особого, пример: http://blast.hk/threads/557/)
    - длл, которая содержит всю логику, для интеграции с игрой ловит события от функции Scripts::Step, где все скрипты обрабатываются
    при этом важно помнить что на добавление защиты уходит драгоценное время (если, конечно, нет автоматических средств)
     
    #23
    Последнее редактирование: 6 окт 2016
    DarkP1xel и p1cador нравится это.
Статус темы:
Закрыта.