本文目錄一覽:
- 1、壓縮過的js文件如何還原
- 2、如何還原壓縮的CSS/HTML/JS文件
- 3、js 壓縮後的代碼如何調試?
- 4、混淆過的js代碼如何還原?
- 5、怎麼將壓縮後的js還原
- 6、壓縮後的JS代碼怎樣解壓縮?
壓縮過的js文件如何還原
hbuilder裡面有一個整理代碼格式的功能,會把壓縮的文件直接整理成排列合理的代碼
如何還原壓縮的CSS/HTML/JS文件
Hbuilder裡面有一個整理代碼格式的功能,會把壓縮的文件直接整理成排列合理的代碼
js 壓縮後的代碼如何調試?
我想你問的是不是類似UglifyJS之類的混淆過的JS代碼?這種壓縮通常會把變數、函數名之類的改成非常短的名稱,因此這種壓縮過的代碼就難以識別了。
對於這種代碼,推薦的思路是先看瀏覽器中是否有報錯,然後根據錯誤來判斷自己原始代碼里可能出錯的位置;如果沒有報錯,那也是斷定大概的位置,然後Chrome里打開開發者工具里的Sources,打開自己的代碼,用這個地方可以對代碼進行重新排版:
當然,如果是uglify過的代碼還是很難看,只能根據自己實際代碼里的一些常量內容作為關鍵詞在瀏覽器的代碼裡面搜自己可能的位置,然後加斷點推測去調試。
上面的辦法,都是在你對壓縮JS這個過程沒有控制的情況下,如果是你自己壓縮JS代碼,可以在壓縮的時候同時生成sourcemap文件,一般是xxx.js.map文件。如果連同這個文件一起部署,那麼在開發者工具中打開的時候,也可以看到最原始的代碼了。這是最推薦的辦法,調試起來也是最輕鬆的。
混淆過的js代碼如何還原?
1:利用IE開發人員工具(IE8開始已經自帶,IE7以前需要下載安裝IE Developer Toolbar)進行反混淆,
2:代碼實現
混淆後的測試代碼
eval(function(p,a,c,k,e,d){e=function(c){return(ca?””:e(parseInt(c/a)))+((c=c%a)35?String.fromCharCode(c+29):c.toString(36))};if(!”.replace(/^/,String)){while(c–)d[e(c)]=k[c]||e(c);k=[function(e){return d[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;}(‘1(“0-6”);2 4(){1(“0-5”)}8 3=2(){1(“0-7”)};4();3()’,9,9,’憂鬱的匹格|alert|function|b|a|反混淆測試2|反混淆測試1|反混淆測試3|var’.split(‘|’),0,{}))
開始實施:
1.新建一個網頁xxx.html
2.加入一個div容器 id=”divTest”
3.最關鍵的一步--賦值執行:(在上面混淆的代碼中,將eval()中的內容提取出來賦值(或直接列印)給document.getElementById(‘divTest’).innerText )
document.getElementById(‘divTest’).innerText=function(p,a,c,k,e,d){e=function(c){return(ca?””:e(parseInt(c/a)))+((c=c%a)35?String.fromCharCode(c+29):c.toString(36))};if(!”.replace(/^/,String)){while(c–)d[e(c)]=k[c]||e(c);k=[function(e){return d[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;}(‘1(“0-6”);2 4(){1(“0-5”)}8 3=2(){1(“0-7”)};4();3()’,9,9,’憂鬱的匹格|alert|function|b|a|反混淆測試2|反混淆測試1|反混淆測試3|var’.split(‘|’),0,{})
打開xxx.html 顯示結果:(反混淆後的代碼已經被壓縮了,去掉了換行等字元)
alert(“憂鬱的匹格-反混淆測試1”);
function a(){alert(“憂鬱的匹格-反混淆測試2”)}
var b=function(){alert(“憂鬱的匹格-反混淆測試3”)};
a();
b();
PS:使用packed這個混淆過的js都可以使用這個方法還原,找了幾個項目裡面混淆過的js都可以還原,只是去掉了換行符,
怎麼將壓縮後的js還原
在線搜一個js解壓工具就可以還原了,很方便的,html 、css,js都有在線格式化工具
壓縮後的JS代碼怎樣解壓縮?
一般壓縮都經過混淆,如果你看到變數名都是A,B,C,D之類的無規則的命名,那就是被混淆過的,一般來說也很難閱讀,就算你 還原了格式。
如果是沒有混淆的,你可以試試用js的格式化工具來重新格式化一下的,比如:
/* 美化:格式化代碼,使之容易閱讀 */
/* 凈化:去掉代碼中多餘的注釋、換行、空格等 */
/* 壓縮:將代碼壓縮為更小體積,便於傳輸 */
/* 解壓:將壓縮後的代碼轉換為人可以閱讀的格式 */
/* 混淆:將代碼的中變數名簡短化以減小體積,但可讀性差,經混淆後的代碼無法還原 */
/* 如果有用,請別忘了推薦給你的朋友: */
/* javascript在線美化、凈化、壓縮、解壓: */
/* 以下是演示代碼 */
var Inote = {};
Inote.JSTool = function(options) {
this.options = options || {};
};
Inote.JSTool.prototype = {
_name: ‘Javascript工具’,
_history: {
‘v1.0’: [‘2011-01-18’, ‘javascript工具上線’],
‘v1.1’: [‘2012-03-23’, ‘增加混淆功能’],
‘v1.2’: [‘2012-07-21’, ‘升級美化功能引擎’],
‘v1.3’: [‘2014-03-01’, ‘升級解密功能,支持eval,window.eval,window[“eval”]等的解密’],
‘v1.4’: [‘2014-08-05’, ‘升級混淆功能引擎’],
‘v1.5’: [‘2014-08-09’, ‘升級js壓縮引擎’],
‘v1.6’: [‘2015-04-11’, ‘升級js混淆引擎’]
},
options: {},
getName: function() {return this._name;},
getHistory: function() {
return this._history;}
};
var jstool = new Inote.JSTool();
原創文章,作者:YEMO,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/148571.html