Feeds:
文章
留言

Archive for 八月 12th, 2009

今天開始研究 Ajaxplorer 這個 Open Source Project,結果令人傻眼的居然將關鍵的 ajaxplorer.js 給編碼了,他採用的是 Dran Edwards 所提供的編碼方式,還好[1] 提供了解碼方式,我將他稍微修改整理成如下步驟(我用 FF3.5)

  1. 連線到 http://dean.edwards.name/packer/
  2. 將 javascript:for%20(i=0;i<document.forms.length;++i)%20{for(j=0;j<document.forms[i].elements.length;++j){document.forms[i].elements[j].removeAttribute(%22readonly%22);document.forms[i].elements[j].removeAttribute(%22disabled%22);}} 貼到網址列並執行
  3. 將編碼的 js 複製到下方的文字方塊並執行「Decode」
  4. 複製下方解碼厚的內容
  5. 連線到 http://tool.chinaz.com/Tools/JsFormat.aspx
  6. 將解碼後的程式碼貼在文字方塊
  7. 執行格式化
  8. 複製格式化結果
  9. 完成

備註:[1] 有使用 Javascript Tidy 進行後處理,可是我的測試結果是會導致 js 錯誤

 

2013/1/30 更新

新版混淆方式破解可參考 [2],可將 “while(c–){if(k[c]){p=p.replace(new egExp(‘\\b’+e(c)+’\\b’,’g’),k[c])}}return p"片段的 return p 改為 console.log(p) 即可取得 source code, 在透過 jsFormat 就可完全還原

 

參考資料
[1] http://www.red-root.com/code/decompressing-packed-javascript-files/
[
2] http://www.cnblogs.com/wangchunming/archive/2012/04/01/2429455.html

Read Full Post »