?學(xué)習(xí)小程序,最快捷的方法就是多看看別人的代碼,借鑒別人,但是很多時(shí)候,我們看到一個(gè)很好的小程序,想看看別人怎么寫的,無奈獲取不到源碼。
但是,其實(shí)微信小程序是有漏洞的。
當(dāng)我們打開一個(gè)小程序,手機(jī)就會(huì)自動(dòng)從服務(wù)器獲取小程序的包,然后保存到手機(jī)里面。
下面就來教教大家如何通過反編譯,獲取小程序包并編譯出來的快捷方法。
1.下載夜神模擬器,設(shè)置root權(quán)限
? ? ? ? ? ? ?**點(diǎn)擊右上角的齒輪**

? ? ·?? ? ? ?**勾選root**

2.在夜神模擬器中下載微信,然后在微信中運(yùn)行你想要獲取源碼的小程序

3.在夜神模擬器的文件管理器中找到如下路徑的包
data/data/com.tencent.mm/MicroMsg/1bd6b8205e3a41715b8e2cca72bc50f0/appbrand/pkg/
? **這就是你運(yùn)行過得小程序的包**

4.全選小程序包,然后一直點(diǎn)擊返回,一直到項(xiàng)目的根目錄中有個(gè)mnt——>share——>other 點(diǎn)擊點(diǎn)擊粘貼,就可以放到這個(gè)文件夾
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?**全選之后點(diǎn)擊左上角的返回鍵**

??? ??????????????????????????? **大概點(diǎn)擊七次返回鍵,就可以看到根目錄下面的mnt文件夾**

? ? **在mnt文件夾里面有個(gè)shared文件夾,點(diǎn)擊去,會(huì)看到里面有三個(gè)文件夾,我們直接進(jìn)入到other文件夾里面**

????????**點(diǎn)擊右上角的八個(gè)點(diǎn)點(diǎn)的按鈕,選擇粘貼文件**

5.點(diǎn)擊夜神模擬器右側(cè)的文件中轉(zhuǎn)站,點(diǎn)擊打開電腦文件夾,就可以看到你的小程序包,然后全選,復(fù)制,就可以直接粘貼到你的電腦桌面了

6.在github上面下載小程序反編譯工具https://github.com/qwerty472123/wxappUnpacker,然后解壓
7.電腦安裝node.以及cnpm(避免出現(xiàn)問題,最好安裝cnpm,不用npm):
? ?node下載地址:? https://nodejs.org/zh-cn/
????cnpm安裝命令:npm install -g cnpm --registry=https://registry.npm.taobao.org
8.安裝成功之后,在wxappUnpacker文件夾內(nèi)打開命令工具,輸入? cnpm install
9.依賴安裝成功之后,繼續(xù)輸入?node .wuWxapkg.js? ?C:\_163200311_32.wxapkg

? ??
? ? ? ? C:\Users\cp\Desktop\small_say? ? ? ? ? ? ? ? ?這個(gè)是小程序包所在的文件的路徑
? ??????_783765285_25.wxapkg? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 這個(gè)是你要編譯的小程序包的名稱
? ??** 小程序包的名稱,你得自己手動(dòng)添加到文件夾路徑的后面 **
10.命令執(zhí)行完成之后,會(huì)發(fā)現(xiàn)在小程序包的文件夾內(nèi)有你想要的文件夾代碼了
11,打開微信開發(fā)者工具,運(yùn)行小程序即可,但是有可能登錄的接口會(huì)失敗,但是大部分都是好的,不知道你們是不是這樣
總結(jié):
????????雖然這個(gè)方法是可以獲取到整個(gè)小程序包,可以打開也可以運(yùn)行,但是js代碼里面的很多函數(shù)和變量都被編譯過了,變成了d,o,t類似的一堆很難看懂的東西,所以反編譯 是有利有弊的,我們適當(dāng)學(xué)習(xí)就好,千萬不要照搬照套,直接竊取別人的勞動(dòng)成果,畢竟啊,你也未必看得懂別人的代碼,然后修改,我是這樣覺得的,然我看懂別人的代碼,然后修改,還不如讓我自己寫呢,你們說呢?
溫馨提醒:
微信暫時(shí)還沒解決這個(gè)bug,但是身為開發(fā)人員,肯定是不希望自己辛辛苦苦的勞動(dòng)成果,被別人直接剽取的,你可以模仿,可以借鑒,但是如果你只是修改一下后端接口接口,然后直接就上線,這個(gè)對(duì)公司乃至整個(gè)行業(yè)來說,是不公平的。
但是我發(fā)現(xiàn),只要使用框架寫的,像什么mpvue,wepy等寫出來的小程序,在微信開發(fā)者工具中會(huì)被編譯,可讀性非常非常差,所以如果想避免自己的代碼被別人直接剽取,可以試試用框架寫。