Cách giải nén javascript - Unpack PACKED scripts
Thứ Hai, 11 tháng 6, 2012
1 vài website khi chia sẻ 1 đoạn script do họ tự viết hay lấy ở đâu đó đã bị biến thành khó đọc,tuy nhiên người sử dụng khi dùng những đoạn mã này có thể được giải thích về tác dụng chính của nó , nhưng tác dụng phụ của nó thì thật khó lường . Với javascript ta có thể chèn bất cứ cái gì kể cả trang chứa virut nếu người chia sẻ cố ý đồ xấu ..... Che giấu javascript là 1 cách bảo vệ khỏi bị người khác chôm chỉa khi bị view source và khi muốn dùng riêng cho bản thân mình , đây là cách để thêm 1 tầng để bảo vệ mã .,nhất là khi dùng với ajax , che giấu hay mã hóa sẽ giảm thiểu nguy cơ bị hacker tấn công .Ngoài cách mã hóa thông thường còn có vài kiểu nữa là compiler code của google và sử dụng Packer chủ yếu để làm cho mã javascript trở nên khó đọc hơn làm mất time cũng như nản lòng hacker khi tấn công.
ví dụ với script đơn giản nhưdocument.write('Hello, world!');
khi pack nó sẽ thànheval(function(p,a,c,k,e,r){e=String;if(!''.replace(/^/,String)){while(c--)r[c]=k[c]||c;k=[function(e){return r[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('0.1(\'2, 3!\');',4,4,'document|write|Hello|world'.split('|'),0,{}))
để unpack đoạn javascript bạn sẽ làm cho nó hiện mã thật ngay trên trình duyệt của mìnhbằng cách dễ dàng sau :copy code mã hóa sang vào 1 thẻ textarea :document.write('<textarea cols="120" rows="10">');
document.write(function(p,a,c,k,e,r){e=String;if(!''.replace(/^/,String)){while(c--)r[c]=k[c]||c;k=[function(e){return r[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('0.1(\'2, 3!\');',4,4,'document|write|Hello|world'.split('|'),0,{}));
document.write('</textarea>');
khi chạy sẽ cho ra kết quả mã javascript thực document.write('Hello, world!');không chỉ vậy ngoài ra người ta dùng hàm eval() kết hợp với alert() để show mã javascript thực khi đó mã javascript sẽ dễ đọc hơn nhiều .
Ý kiến bạn đọc [ 0 ]
Ý kiến của bạn