บทความนี้ผมจะนำเสนอเทคนิคเล็กน้อยๆ ที่สามารถช่วยเรา deobfuscate javascript ได้เยอะทีเดียว ซึ่งเทคนิคนี้จะช่วยเราในการสร้าง indent ให้กับ code ที่ไม่มี indent มาให้ การ obfuscate javascript หลายๆ ครั้ง เราจะเห็นว่ามีการตั้งชื่อให้แปลกๆ ไม่สื่อความหมายอะไร และส่วนใหญ่จะมีการตัด indent ออกด้วย ทำให้การอ่าน code ทำได้ลำบากมาก ครั้นจะมานั่งทำ indent เองก็ยากลำบากเหลือเกิน บางทีก็ถึงกับตัดใจ เลิกทำเลยทีเดียว ยกตัวอย่างเช่น

Code:
function ifgtl50(a){if(a>50){return" which are greater than 50"}else{return" which are not greater than 50"}}var str="The result of additions between ";var num1=10;function cal(a,b){return a+b}var num2=20;var sum=cal(num1,num2);document.write(str+num1+" and "+num2+" equals "+sum+ifgtl50(sum));
code นี้เป็น javascript ง่ายๆ ซึ่งผมสร้างขึ้นมาเพื่อแสดงตัวอย่างของ javascript ที่ถูกตัด indent ออกไป ซึ่งในความเป็นจริง code ที่ถูก obfuscate จะดูยากกว่านี้มาก ซึ่งถ้าเราสามารถเปลี่ยน code แบบด้านบนให้เป็นดัง code ด้านล่างได้ การ deobfuscate ก็จะทำได้ง่ายขึ้นมากทีเดียว

Code:
function ifgtl50(a)
{
    if (a>50)
    {
        return " which are greater than 50";
    }
    else
    {
        return " which are not greater than 50";
    }
}
var str = "The result of additions between ";
var num1 = 10;
function cal(a,b) {
    return a+b;
}
var num2 = 20;
var sum = cal(num1,num2);
document.write (str+num1+" and "+num2+" equals "+sum+ifgtl50(sum));
ผมของเสนอการใช้ javascript สร้าง indent ครับ แต่ผมลองแล้วใช้ได้บน firefox 3.5 เท่านั้น (IE7 กับ Chrome ไม่เวิร์ค แต่ firefox version อื่นไม่ได้ลองครับ)

**Hidden Content: To see this hidden content your post count must be 20 or greater.**