Добро пожаловать на сайт - wlux.net!
FAQ по форуму
1. Все сообщения до группы местный проходят модерацию от 1 минуты до 24 часа
2. Сообщения учитываются в следующих разделах: Читать
3.Что-бы скачать вложение нужно 2 сообщения.
4.Личные переписки не работают на форуме
5. Запрещено: Просить скрытый текст , спам, реклама, скам, ддос, кардинг и другая чернуха, нарушать любые законы РФ/СНГ = бан аккаунта
6. Внимание! Мы не удаляем аккаунты с форума! Будьте внимательны ДО регистрации! Как удалить аккаунт на форуме?!
5.Не понимаю, как и что тут работает у вас?!Как создавать темы, писать сообщения, как получать реакции. Почему не засчитывает сообщения. Все ответы здесь
Репутация:
Обфускация – это процесс, который защищает исходный код программы от несанкционированного доступа или изменения. Она представляет собой перестановку или изменение символов, идентификаторов или структур в исходном коде, чтобы сделать его более сложным для понимания и изменения.
[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;
}
}
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;}}
Репутация:
Крайне полезно! Ни раз уже пользовался подобным но думаю подчеркну ещё что-тоНе все языки программирования подходят для обфускации. Некоторые языки, как например 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
В заключение, обфускация не является гарантированным способом защиты вашего кода, но это может сделать процесс его кражи или взлома более сложным. Если вы используете язык, который не является очень подходящим для обфускации, вы все еще можете использовать другие методы, такие как использование обфускаторов, криптографию или мультиплексирование, чтобы защитить свой код.
Репутация:
Репутация:
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?