- 28 Mar 2020
- 6,325
- 4,808
Giriş
Merhaba, bugün sizlere Javascript kodlarına obfuscator ve deobfuscator işlemleri nasıl yapılır onu anlatacağım.
Bunun için online araçlardan yararlanacağız.
İyi okumalar dilerim.
Yapılış
Kullanacağımız Kod
İşlemlerimize geçmeden önce kullanacağımız Javascript koduna bakalım.
JavaScript:
function yazdir(text, renk) {
document.write('<span style="color:' + renk + ';">' + text + '</span><br>');
}
yazdir("Grimner", "#008000");
yazdir("'pump", "#FFFF00");
yazdir("Kruvazör", "#84D2FF");
Obfuscator
Evet, kullanacağımız kodu gördüğümüze göre şimdi de obfuscator işlemimiz nasıl ona bakalım.
Ben bu derste kullanacağım site: JavaScript Obfuscator Tool
Tabi siz bu site yerine alternatiflerini de kullanabilirsiniz.
Burada öncelikle çıkan kısma Javascript kodumuzu yazıyoruz.
Sonrasında "Obfuscate" tuşuna basıyoruz.
Evet, gördüğünüz gibi obfuscator işlemimiz tamamlandı.
Çıkan Sonuç
JavaScript:
function _0x2f77() {
var _0xebbb66 = ['Kruvazör', '\x27pump', '3178881Fwmqkh', '1411568YGnoQD', '</span><br>', '772996haWFla', '142SzmeIk', '1111956gIYDhZ', '161548fgqLRQ', '3YwuwYR', '#84D2FF', '2118CrSxco', '<span\x20style=\x22color:', '841505CulRRe', ';\x22>', '#008000', 'Grimner'];
_0x2f77 = function () {
return _0xebbb66;
};
return _0x2f77();
}
var _0x463525 = _0x1111;
(function (_0x2ed619, _0x3658e9) {
var _0xf0704e = _0x1111,
_0x25e941 = _0x2ed619();
while (!![]) {
try {
var _0x103eeb = -parseInt(_0xf0704e(0x13b)) / 0x1 * (parseInt(_0xf0704e(0x140)) / 0x2) + parseInt(_0xf0704e(0x13e)) / 0x3 * (-parseInt(_0xf0704e(0x13d)) / 0x4) + -parseInt(_0xf0704e(0x131)) / 0x5 + parseInt(_0xf0704e(0x13c)) / 0x6 + parseInt(_0xf0704e(0x13a)) / 0x7 + -parseInt(_0xf0704e(0x138)) / 0x8 + parseInt(_0xf0704e(0x137)) / 0x9;
if (_0x103eeb === _0x3658e9) break;
else _0x25e941['push'](_0x25e941['shift']());
} catch (_0xe56268) {
_0x25e941['push'](_0x25e941['shift']());
}
}
}(_0x2f77, 0x1bb2b));
function _0x1111(_0x498dba, _0x37e331) {
var _0x2f77a7 = _0x2f77();
return _0x1111 = function (_0x1111f2, _0x484c83) {
_0x1111f2 = _0x1111f2 - 0x131;
var _0x1b5614 = _0x2f77a7[_0x1111f2];
return _0x1b5614;
}, _0x1111(_0x498dba, _0x37e331);
}
function yazdir(_0x739a8f, _0x3e4c93) {
var _0x1b404f = _0x1111;
document['write'](_0x1b404f(0x141) + _0x3e4c93 + _0x1b404f(0x132) + _0x739a8f + _0x1b404f(0x139));
}
yazdir(_0x463525(0x134), _0x463525(0x133));
yazdir(_0x463525(0x136), '#FFFF00');
yazdir(_0x463525(0x135), _0x463525(0x13f));
Deobfuscator
Şimdi de bu kodumuzu deobfuscator ile çözmeyi görelim.
Bunun için kullanacağım site: JavaScript Deobfuscator
Burada da çıkan kısmımıza obfuscator edilmiş kodu yapıştırıyoruz.
Sonrasında aşağıdaki "Deobfuscate" yazan kısma basıyoruz.
Çıkan Sonuç
JavaScript:
function yazdir(_0x739a8f, _0x3e4c93) {
document.write(
'<span style="color:' + _0x3e4c93 + ';">' + _0x739a8f + '</span><br>'
)
}
yazdir('Grimner', '#008000')
yazdir("'pump", '#FFFF00')
yazdir('Kruvazör', '#84D2FF')
Evet, saniyeler içinde işlemimiz tamamlandı ve kodumuz eski haline döndü.
Tabi sizde fark ederdiniz ki kodlar arasında, değişken adlarında vs. farklılıklar mevcut. Ayrıca ";" vs. eksik.
Maalesef o kısma kadar bir geri dönüş mümkün olmuyor. Ancak bu haliyle bile ilk haline çok benzer.
Zaten işlev olarak da aynı olacaktır.
Kapanış
Evet, bugünkü konumuzda bu kadardı.
Umarım bu yazıdaki bilgiler işinize yarar.
Okuduğunuz için teşekkür ederim, iyi forumlar!