狗狗币注册网站
| 加入桌面
 
 
當前位置: 臺州企業網 » 資訊 » 創業故事 » 什么是代碼混淆

什么是代碼混淆

放大字體  縮小字體 發布日期:2017-04-28  來源:臺州企業網  瀏覽次數:67

這還要從很久以前的一個故事說起,某電商在做手機預訂時,為了顯得這款手機很火爆,在顯示預定數的頁面上,將預定數顯示為實際預定數的3倍。雖然這是一個簡單吸引眼球的方式,但是他們操作起來也太草率了,直接在前端頁面里面將數字乘以3,然后就自然地被網友們扒了底褲。

要知道,很多的場景下,我們不得不將程序的源代碼暴露到外界,比如說網頁應用,用戶在瀏覽這個網頁時,使用右鍵查看網頁或者打開開發者工具,都可以輕松地看到HTML和前端JS的源代碼;又比如說一個Android程序,在下載到安裝包的APK文件后,使用一些反編譯工具,也可以將這個應用的Java源代碼反編譯出來查看。

既然源代碼都暴露了,那么寫在代碼里的一些有點小心思的邏輯自然也隱藏不了咯。如果代碼不可避免地要暴露出去,同時又想隱藏一些邏輯,或者說想讓別人不是那么容易的被看出來,那么『代碼混淆』你值得擁有。

『代碼混淆』其實并不是什么高科技,它的作用就是將一句條理清晰的話翻譯得晦澀難懂,但是功能卻保持不變。一般采用的方法,就是將代碼中各種有意義的變量名、函數名都用簡單的幾個字母組合來表示,還有就是將一些等價的代碼邏輯轉換一下,比如將for循環改成while循環,將while循環改成for循環等。比如說,我有個函數是從銀行取錢1萬塊錢,這樣寫的Bank.giveMeMoney(10000),經過混淆后就變成a.b(10000),單純地看a.b(10000)鬼才知道是什么意思。

我們再來看個實際的栗子,這次混淆基本上將代碼中有意思的詞都替換了:

最后要說一句,『代碼混淆』并不是加密代碼,它只是讓代碼看起來比較難懂,但是機器執行起來的邏輯是一樣一樣的,增加的是人為分析的難度和時間成本。

文章來源:給產品經理講技術(微信公眾號:pm_teacher),為互聯網產品經理普及技術基礎知識,作者:果果。本文由作者授權創業邦發布,轉載請聯系原作者,違者必究。

分享與收藏: 關閉窗口 打印本文 本文關鍵字:

為您推薦的更多相關文章

 
推薦圖文
推薦資訊
熱點文章
 
狗狗币注册网站 重庆时时下载 内蒙古时时快三走势 澳博彩票平台合法吗 三肖六码3肖6码中特图 博彩汇平台下载 冠军pk10软件 百人炸金花有规律吗 球探体育网球比分 时时彩定位胆技巧 大家最稳六肖王 皇朝国际娱乐是真的吗 pk10精准稳定人工计划 不倒翁投注法新法整理 重庆时时开奖结果记录软件 20万投资什么稳赚不赔 九城在线平台