Trao đổi với tôi

http://www.buidao.com

7/17/09

[Virus] Các cách giải mã Javascript ! web bị mã hoá

Link: http://sinhvienit.net/@forum/ma-hoa-giai-ma/3461-cac-cach-giai-ma-javascript-print.html
Mã hóa bằng Javascript thực sự chẳng có gì khó để giải mã.

Hiện có hai cách phổ biến nhất để mã hóa trang web bằng Javascript ở các website Việt Nam hiện nay: Dùng function dF(s) và dùng function RrRrRrRr(teaabb)

Làm sao để nhận biết được mã hóa bằng function nào?


1. Bạn chỉ cần xem cấu trúc code:

<SCRIPT LANGUAGE="JavaScript">eval(unescape("%66%75.......

<SCRIPT LANGUAGE="JavaScript">document.write( unescape( '%70%61%67%65%20%6F%6E%.....

Hai dạng trên thực chất chỉ là escape thôi, không có gì to lớn. Nếu bạn không tự unescape được thì hãy vào:

http://scriptasylum.com/tutorials/en...de-decode.html

để unescape.

2. Sau khi unescape bạn sẽ thấy rõ ràng cái function dùng để mã hóa, bây giờ tiếp tục xử lý:


Function df(s) sẽ có cấu trúc như sau:






Code:


function dF(s){var s1=unescape(s.substr(0,s.length-1));

var t='';

for(i=0;i<s1.length;i++)t+=String.fromCharCode(s1.charCodeAt(i)-s.substr(s.length-1,1));


document.write(unescape(t));


Và cấu trúc của đoạn code bị mã hóa:






Code:


<SCRIPT LANGUAGE="JavaScript">document.write( unescape( '%70%61%....'); dF('Phần code bị mã hóa')</SCRIPT>


Thực chất là:






Code:




<SCRIPT LANGUAGE="JavaScript">

function dF(s){var s1=unescape(s.substr(0,s.length-1));


var t='';

for(i=0;i<s1.length;i++)t+=String.fromCharCode(s1.charCodeAt(i)-s.substr(s.length-1,1));

document.write(unescape(t));

dF('Phần code bị mã hóa')</SCRIPT>


Bạn chỉ việc tạo một function dF(s) mới như sau:









Code:


function dF(s){var s1=unescape(s.substr(0,s.length-1));

var t='';

for(i=0;i<s1.length;i++)t+=String.fromCharCode(s1.charCodeAt(i)-s.substr(s.length-1,1));

u=(unescape(t));

document.write (t);


}


Thay thế vào cái function dF(s) cũ, save file lại rồi mở bằng Browser. Khi mở, Browser của bạn sẽ hiện ra code với các ký tự do bị escape, bạn hãy copy hết và paste vào

http://scriptasylum.com/tutorials/en...de-decode.html

một lần nữa, sẽ thành công !!!



Function RrRrRrRr(teaabb) có cấu trúc:







Code:


function RrRrRrRr(teaabb){

var tttmmm="";

l=teaabb.length;

www=hhhhffff=Math.round(l/2);

if(l<2*www) hhhhffff=hhhhffff-1;


for(i=0;i<hhhhffff;i++)

tttmmm = tttmmm + teaabb.charAt(i)+ teaabb.charAt(i+hhhhffff);

if(l<2*www)

tttmmm = tttmmm + teaabb.charAt(l-1);

document.write(tttmmm);};


Tương tự như trên, bạn tạo một function mới như sau:







Code:


function RrRrRrRr(teaabb){

var tttmmm="";

l=teaabb.length;

www=hhhhffff=Math.round(l/2);


if(l<2*www) hhhhffff=hhhhffff-1;

for(i=0;i<hhhhffff;i++)

tttmmm = tttmmm + teaabb.charAt(i)+ teaabb.charAt(i+hhhhffff);

if(l<2*www)

tttmmm = tttmmm + teaabb.charAt(l-1);

u=(unescape(tttmmm));

document.write (tttmmm);};



Các bước sau đó làm tương tự.



----------------------



Bạn cũng có thể xem được code bằng cách thay document.write (); bằng alert (); trên 2 function kia http://freecodevn.com/for@um/images/smilies/biggrin.gif :




function dF(s){var s1=unescape(s.substr(0,s.length-1));

var t='';

for(i=0;i<s1.length;i++)t+=String.fromCharCode(s1. charCodeAt(i)-s.substr(s.length-1,1));

alert (unescape(t));



function RrRrRrRr(teaabb){

var tttmmm="";


l=teaabb.length;

www=hhhhffff=Math.round(l/2);

if(l<2*www) hhhhffff=hhhhffff-1;

for(i=0;i<hhhhffff;i++)

tttmmm = tttmmm + teaabb.charAt(i)+ teaabb.charAt(i+hhhhffff);

if(l<2*www)

tttmmm = tttmmm + teaabb.charAt(l-1);


alert (tttmmm);};



Chúc bạn thành công