天天看點

如何去除My97 DatePicker控件上右鍵彈出官網的連結 - 如何debug混淆過的代碼

概述

http://my97.net/ 是一個web浏覽器的日期選擇控件,非常好用,做得非常棒,各種API等事件等都很友善,但是使用了4.8beta3之後,在控件上面右擊會出現官網連結 ,這個是PM以及客戶不能容忍的,必須幹掉,但是不付費的代碼是經過混淆的,現在記錄一下第一次調試混淆了源代碼的JS的過程。

問題描述

如下圖所示:本來此處應該是快速選擇日期的提示,但是。。。

如何去除My97 DatePicker控件上右鍵彈出官網的連結 - 如何debug混淆過的代碼

一旦在控件區域點選右鍵就會出現下圖情況:

解決過程

首先當然是去某度某歌,結果都沒有,可能确實這個bug不太容易發現吧。

沒辦法隻能自己動手了,打開核心代碼發現都是經過混淆加密的,根本沒辦法讀。。。。。。

不過還是 被我發現了些許蛛絲馬迹,見http://my97.net/dp/My97DatePicker/calendar.js?最後結尾處:

這個就是官網連結位址了。

然後又去查怎麼檢視混淆了的源代碼,結果。。。。偉大的IE可以做到,低版本的我還沒看,反正IE11可以。

打開IE11的開發者工具,切到調試程式選項

就打開了真實的源碼,雖然也不是很真實,但是最起碼可以看得懂,當然你要點選頂端那一排小圖示中的“啟用優質列印”,要不然整個文檔還是隻有一句代碼。

打開之後的源代碼:

View Code

  然後查找 net,nte,ent,etn,ten,tne最終找到了“ten”:

根據上下文環境得知這裡就是顯示快速選擇的方法了,然後就搜尋所有調用過此方法的地方,到這裡,問題本身已經解決了,隻要把 參數A置為0或者false就不會出現廣告連結了,但是人家說了免費代碼不能改動核心庫。是以繼續。。

查找_fillQS,發現在配置檔案中的一個調用:

如何去除My97 DatePicker控件上右鍵彈出官網的連結 - 如何debug混淆過的代碼
  **配置檔案是可以随意修改的,如果不想屏蔽右鍵菜單就直接去掉這句,否則可以把調用方法的1改為0等,就不會出現廣告連結。**
           

至此,此次問題解決完成。

後記

其實後面看看,隻要把握右鍵這個東西一開始也不會費太大勁,應該直接就能定位到調用的地方,然後可能會嘗試把1改為0,這樣也能解決問題但是不會學到這麼多技巧。

發出來與大家共同學習吧!

轉載:https://www.cnblogs.com/mrzzcn/p/js1.html