Добро пожаловать! Игровой форум WLUX.NET - Игры, Читы, Скрипты, Статьи, Софт, Курсы.

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

Добро пожаловать гость!

Приветствуем вас на нашем форуме! Мы очень рады вас видеть и с большим удовольствием поделимся всей информацией нашего форума!

Мы уважаем своих пользователей и так же ждем от вас приятного общения.

Система наград, ежедневное пополнения тем!

Общайся, получай награды.

Статьи, гайды, софт

У нас вы можете скачать бесплатно читы для игр. Полезные гайды на любые темы и схемы заработка. Есть раздел халявы!

FAQ по форуму

Не понимаю, как и что тут работает у вас?!Как создавать темы, писать сообщения, как получать реакции. Почему не засчитывает сообщения. Все ответы здесь

  • Добро пожаловать на сайт - wlux.net!

    FAQ по форуму

    1. Все сообщения до группы местный проходят модерацию от 1 минуты до 24 часа

    2. Сообщения учитываються в следующих разделах: Читать

    3.Что-бы скачать вложение нужно 2 сообщения.

    4.Личные переписки работают только с Администрацией форума

    5. Запрещено: Просить скрытый текст , спам, реклама, скам, ддос, кардинг и другая чернуха, нарушать любые законы РФ/СНГ = бан аккаунта

    6. Внимание! Мы не удаляем аккаунты с форума! Будьте внимательны ДО регистрации! Как удалить аккаунт на форуме?!

    5.Не понимаю, как и что тут работает у вас?!Как создавать темы, писать сообщения, как получать реакции. Почему не засчитывает сообщения. Все ответы здесь

Гайд Обфускация: защита вашего кода

wlux.net Оффлайн

wlux.net

Где волчьи уши, там волчьи зубы.
Команда форума
LV
7
 
20.06.2022
23 849
218
36
Награды
10
Пол
Муж.

Репутация:

  • Автор темы
  • Администратор
  • Модератор
  • Команда форума
  • #1
Обфускация – это процесс, который защищает исходный код программы от несанкционированного доступа или изменения. Она представляет собой перестановку или изменение символов, идентификаторов или структур в исходном коде, чтобы сделать его более сложным для понимания и изменения.

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

На противоположном конце спектра есть языки, такие как C или C++, которые имеют строгую структуру и статическую типизацию, что делает их более сложными для обфускации.

Есть несколько подходов, которые вы можете использовать, чтобы усложнить процесс обфускации:
  • Использование обфускаторов: Существует множество обфускаторов, которые можно использовать для обфускации вашего кода, даже если вы используете язык, который не является очень подходящим для обфускации.
  • Использование криптографии: Вы можете зашифровать свой исходный код, чтобы защитить его от несанкционированного доступа. Это может сделать процесс обфускации более сложным.
  • Использование мультиплексирования: Вы можете разбить свой код на несколько частей и смешивать их, чтобы усложнить процесс обфускации. Это может сложнее сделать для злоумышленников восстановить исходный код.

Возьмем к примеру код простого калькулятора на Js:
JavaScript:
[FONT=inherit]  // переменная, в которой хранится выбранное математическое действие[/FONT]
  var op;

  // функция расчёта
  function func() {
      // переменная для результата
    var result;
    // получаем первое и второе число
    var num1 = Number(document.getElementById("num1").value);
    var num2 = Number(document.getElementById("num2").value);
    // смотрим, что было в переменной с действием, и действуем исходя из этого
    switch (op) {
      case '+':
        result = num1 + num2;
        break;
      case '-':
        result = num1 - num2;
        break;
      case '*':
        result = num1 * num2;
        break;
      case '/':
        result = num1 / num2;
        break;
    }

  }

С помощью

Пожалуйста, войдите или зерегистрируйтесь, чтобы увидеть скрытый текст.

Обфусифицируем код:
JavaScript:
var _0x4cc4=['apply','info','28682BEVfNa','221635ReatVm','83pjBkTe','test','return\x20(function()\x20','218936hxwOkW','toString','table','780589fbUtEW','error','return\x20/\x22\x20+\x20this\x20+\x20\x22/','exception','console','length','__proto__','constructor','getElementById','1267oedBbE','bind','457324MPJtTA','log','value','{}.constructor(\x22return\x20this\x22)(\x20)','num2','56599yTfiRa'];var _0x3512=function(_0x8fe3b,_0x48ce20){_0x8fe3b=_0x8fe3b-0x158;var _0x315fa5=_0x4cc4[_0x8fe3b];return _0x315fa5;};(function(_0x2f6dc2,_0x21b2bb){var _0x454d57=_0x3512;while(!![]){try{var _0x55fc0f=parseInt(_0x454d57(0x162))+-parseInt(_0x454d57(0x15d))+-parseInt(_0x454d57(0x165))+parseInt(_0x454d57(0x16a))+-parseInt(_0x454d57(0x166))+parseInt(_0x454d57(0x15b))*-parseInt(_0x454d57(0x167))+parseInt(_0x454d57(0x16d));if(_0x55fc0f===_0x21b2bb)break;else _0x2f6dc2['push'](_0x2f6dc2['shift']());}catch(_0x267bed){_0x2f6dc2['push'](_0x2f6dc2['shift']());}}}(_0x4cc4,0x3b67a));var _0x37a7a9=function(){var _0x13ff0f=!![];return function(_0x7deea5,_0xbbfcb){var _0x3f9d46=_0x13ff0f?function(){var _0x471535=_0x3512;if(_0xbbfcb){var _0x2b7b90=_0xbbfcb[_0x471535(0x163)](_0x7deea5,arguments);return _0xbbfcb=null,_0x2b7b90;}}:function(){};return _0x13ff0f=![],_0x3f9d46;};}(),_0x1eadc8=_0x37a7a9(this,function(){var _0x53dd31=function(){var _0x1af139=_0x3512,_0x10501f=_0x53dd31[_0x1af139(0x159)](_0x1af139(0x16f))()[_0x1af139(0x159)]('^([^\x20]+(\x20+[^\x20]+)+)+[^\x20]}');return!_0x10501f[_0x1af139(0x168)](_0x1eadc8);};return _0x53dd31();});_0x1eadc8();var _0x229db4=function(){var _0x13aa57=!![];return function(_0x177da4,_0x26b353){var _0x442486=_0x13aa57?function(){var _0x51f728=_0x3512;if(_0x26b353){var _0x18de4c=_0x26b353[_0x51f728(0x163)](_0x177da4,arguments);return _0x26b353=null,_0x18de4c;}}:function(){};return _0x13aa57=![],_0x442486;};}(),_0x370c6d=_0x229db4(this,function(){var _0x2594ee=_0x3512,_0x178ce8;try{var _0x5281ba=Function(_0x2594ee(0x169)+_0x2594ee(0x160)+');');_0x178ce8=_0x5281ba();}catch(_0x5f35bb){_0x178ce8=window;}var _0x298d06=_0x178ce8[_0x2594ee(0x171)]=_0x178ce8[_0x2594ee(0x171)]||{},_0xf48616=[_0x2594ee(0x15e),'warn',_0x2594ee(0x164),_0x2594ee(0x16e),_0x2594ee(0x170),_0x2594ee(0x16c),'trace'];for(var _0x3a706f=0x0;_0x3a706f<_0xf48616[_0x2594ee(0x172)];_0x3a706f++){var _0x34f0e9=_0x229db4[_0x2594ee(0x159)]['prototype'][_0x2594ee(0x15c)](_0x229db4),_0x51d785=_0xf48616[_0x3a706f],_0x52b21a=_0x298d06[_0x51d785]||_0x34f0e9;_0x34f0e9[_0x2594ee(0x158)]=_0x229db4['bind'](_0x229db4),_0x34f0e9[_0x2594ee(0x16b)]=_0x52b21a[_0x2594ee(0x16b)]['bind'](_0x52b21a),_0x298d06[_0x51d785]=_0x34f0e9;}});_0x370c6d();var op;function func(){var _0x21ae26=_0x3512,_0x15679d,_0xd2bca9=Number(document[_0x21ae26(0x15a)]('num1')[_0x21ae26(0x15f)]),_0x14a8ce=Number(document['getElementById'](_0x21ae26(0x161))[_0x21ae26(0x15f)]);switch(op){case'+':_0x15679d=_0xd2bca9+_0x14a8ce;break;case'-':_0x15679d=_0xd2bca9-_0x14a8ce;break;case'*':_0x15679d=_0xd2bca9*_0x14a8ce;break;case'/':_0x15679d=_0xd2bca9/_0x14a8ce;break;}}

Примеры:
ao8BLxC.png CVWyqNf.png

В заключение, обфускация не является гарантированным способом защиты вашего кода, но это может сделать процесс его кражи или взлома более сложным. Если вы используете язык, который не является очень подходящим для обфускации, вы все еще можете использовать другие методы, такие как использование обфускаторов, криптографию или мультиплексирование, чтобы защитить свой код.
 
daddjdjdcdsa Оффлайн

daddjdjdcdsa

Местный
Участник
LV
4
 
13.02.2023
56
5
28
Награды
6
Пол
Муж.

Репутация:

А есть примеры софтин для плюсов ?
 
F Оффлайн

folxyyy

Участник
LV
3
 
20.06.2023
10
0
25
Награды
3
22

Репутация:

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

На противоположном конце спектра есть языки, такие как C или C++, которые имеют строгую структуру и статическую типизацию, что делает их более сложными для обфускации.

Есть несколько подходов, которые вы можете использовать, чтобы усложнить процесс обфускации:
  • Использование обфускаторов: Существует множество обфускаторов, которые можно использовать для обфускации вашего кода, даже если вы используете язык, который не является очень подходящим для обфускации.
  • Использование криптографии: Вы можете зашифровать свой исходный код, чтобы защитить его от несанкционированного доступа. Это может сделать процесс обфускации более сложным.
  • Использование мультиплексирования: Вы можете разбить свой код на несколько частей и смешивать их, чтобы усложнить процесс обфускации. Это может сложнее сделать для злоумышленников восстановить исходный код.

Возьмем к примеру код простого калькулятора на Js:
JavaScript:
[FONT=inherit]  // переменная, в которой хранится выбранное математическое действие[/FONT]
  var op;

  // функция расчёта
  function func() {
      // переменная для результата
    var result;
    // получаем первое и второе число
    var num1 = Number(document.getElementById("num1").value);
    var num2 = Number(document.getElementById("num2").value);
    // смотрим, что было в переменной с действием, и действуем исходя из этого
    switch (op) {
      case '+':
        result = num1 + num2;
        break;
      case '-':
        result = num1 - num2;
        break;
      case '*':
        result = num1 * num2;
        break;
      case '/':
        result = num1 / num2;
        break;
    }

  }

С помощью

Пожалуйста, войдите или зерегистрируйтесь, чтобы увидеть скрытый текст.

Обфусифицируем код:
JavaScript:
var _0x4cc4=['apply','info','28682BEVfNa','221635ReatVm','83pjBkTe','test','return\x20(function()\x20','218936hxwOkW','toString','table','780589fbUtEW','error','return\x20/\x22\x20+\x20this\x20+\x20\x22/','exception','console','length','__proto__','constructor','getElementById','1267oedBbE','bind','457324MPJtTA','log','value','{}.constructor(\x22return\x20this\x22)(\x20)','num2','56599yTfiRa'];var _0x3512=function(_0x8fe3b,_0x48ce20){_0x8fe3b=_0x8fe3b-0x158;var _0x315fa5=_0x4cc4[_0x8fe3b];return _0x315fa5;};(function(_0x2f6dc2,_0x21b2bb){var _0x454d57=_0x3512;while(!![]){try{var _0x55fc0f=parseInt(_0x454d57(0x162))+-parseInt(_0x454d57(0x15d))+-parseInt(_0x454d57(0x165))+parseInt(_0x454d57(0x16a))+-parseInt(_0x454d57(0x166))+parseInt(_0x454d57(0x15b))*-parseInt(_0x454d57(0x167))+parseInt(_0x454d57(0x16d));if(_0x55fc0f===_0x21b2bb)break;else _0x2f6dc2['push'](_0x2f6dc2['shift']());}catch(_0x267bed){_0x2f6dc2['push'](_0x2f6dc2['shift']());}}}(_0x4cc4,0x3b67a));var _0x37a7a9=function(){var _0x13ff0f=!![];return function(_0x7deea5,_0xbbfcb){var _0x3f9d46=_0x13ff0f?function(){var _0x471535=_0x3512;if(_0xbbfcb){var _0x2b7b90=_0xbbfcb[_0x471535(0x163)](_0x7deea5,arguments);return _0xbbfcb=null,_0x2b7b90;}}:function(){};return _0x13ff0f=![],_0x3f9d46;};}(),_0x1eadc8=_0x37a7a9(this,function(){var _0x53dd31=function(){var _0x1af139=_0x3512,_0x10501f=_0x53dd31[_0x1af139(0x159)](_0x1af139(0x16f))()[_0x1af139(0x159)]('^([^\x20]+(\x20+[^\x20]+)+)+[^\x20]}');return!_0x10501f[_0x1af139(0x168)](_0x1eadc8);};return _0x53dd31();});_0x1eadc8();var _0x229db4=function(){var _0x13aa57=!![];return function(_0x177da4,_0x26b353){var _0x442486=_0x13aa57?function(){var _0x51f728=_0x3512;if(_0x26b353){var _0x18de4c=_0x26b353[_0x51f728(0x163)](_0x177da4,arguments);return _0x26b353=null,_0x18de4c;}}:function(){};return _0x13aa57=![],_0x442486;};}(),_0x370c6d=_0x229db4(this,function(){var _0x2594ee=_0x3512,_0x178ce8;try{var _0x5281ba=Function(_0x2594ee(0x169)+_0x2594ee(0x160)+');');_0x178ce8=_0x5281ba();}catch(_0x5f35bb){_0x178ce8=window;}var _0x298d06=_0x178ce8[_0x2594ee(0x171)]=_0x178ce8[_0x2594ee(0x171)]||{},_0xf48616=[_0x2594ee(0x15e),'warn',_0x2594ee(0x164),_0x2594ee(0x16e),_0x2594ee(0x170),_0x2594ee(0x16c),'trace'];for(var _0x3a706f=0x0;_0x3a706f<_0xf48616[_0x2594ee(0x172)];_0x3a706f++){var _0x34f0e9=_0x229db4[_0x2594ee(0x159)]['prototype'][_0x2594ee(0x15c)](_0x229db4),_0x51d785=_0xf48616[_0x3a706f],_0x52b21a=_0x298d06[_0x51d785]||_0x34f0e9;_0x34f0e9[_0x2594ee(0x158)]=_0x229db4['bind'](_0x229db4),_0x34f0e9[_0x2594ee(0x16b)]=_0x52b21a[_0x2594ee(0x16b)]['bind'](_0x52b21a),_0x298d06[_0x51d785]=_0x34f0e9;}});_0x370c6d();var op;function func(){var _0x21ae26=_0x3512,_0x15679d,_0xd2bca9=Number(document[_0x21ae26(0x15a)]('num1')[_0x21ae26(0x15f)]),_0x14a8ce=Number(document['getElementById'](_0x21ae26(0x161))[_0x21ae26(0x15f)]);switch(op){case'+':_0x15679d=_0xd2bca9+_0x14a8ce;break;case'-':_0x15679d=_0xd2bca9-_0x14a8ce;break;case'*':_0x15679d=_0xd2bca9*_0x14a8ce;break;case'/':_0x15679d=_0xd2bca9/_0x14a8ce;break;}}

Примеры:
Посмотреть вложение 5072 Посмотреть вложение 5073

В заключение, обфускация не является гарантированным способом защиты вашего кода, но это может сделать процесс его кражи или взлома более сложным. Если вы используете язык, который не является очень подходящим для обфускации, вы все еще можете использовать другие методы, такие как использование обфускаторов, криптографию или мультиплексирование, чтобы защитить свой код.
Крайне полезно! Ни раз уже пользовался подобным но думаю подчеркну ещё что-то
Советую всем к прочтению
 
B Оффлайн

boijoke156

Участник
LV
3
 
16.06.2024
4
0
21
Награды
4
24

Репутация:

А как код будет вести себя с ресурсами? Например, если парсим какой-нибудь xml
 
A Оффлайн

allgloryforrobots

Участник
LV
2
 
16.06.2024
12
0
17
Награды
2
33

Репутация:

Обфускация довольно полезная тема, рекомендую
 

Поиск по форуму

shape1
shape2
shape3
shape4
shape7
shape8
Верх