手把手教你反編譯小程序

本次實驗環境

操作系統: win10 10.0.19042

node: v14.17.0

微信開發者工具: Stable 1.05.2110290

前期準備

  1. 在電腦端安裝模擬器工具,這里以夜神模擬器為例,

    • 在模擬器中安裝微信:用于微信打開小程序時加載小程序包。
    • 在模擬器中文件管理器:用于查看小程序包,這里使用模擬器自帶的Amaze。
    • 文件共享路徑:可以通過模擬器的文件助手查看文件共享路徑,模擬器中的安卓共享路徑對應于電腦共享路徑。作用是方便后續找到并復制小程序包。
      在這里插入圖片描述
  2. 下載反編譯工具

    關注微信公眾號“安前碼后”,然后發送關鍵字xcx688即可獲取。

開始反編譯小程序

獲取小程序包

  1. 這里以東方財富小程序為例,在夜神模擬器中登錄微信,然后找到并打開東方財富小程序

  2. 打開模擬器中的Amaze文件管理器,進入到以下路徑查找源碼包(可以根據文件的下載時間,區分出你想要的源碼包),不同的小程序中間的那段hash值是不一樣的/data/data/com.tencent.mm/MicroMsg/7931eb2bec903760d4266d663b5fbd0e/appbrand/pkg

  3. 拷貝小程序文件包至模擬器共享文件夾,為了方便起見,可以先新建了一個文件夾wxcode,將復制的小程序包放到此文件夾下的東方財富文件夾


  4. 然后在電腦端的共享文件夾中,可以看到剛剛復制的小程序包
    在這里插入圖片描述

開始解包

  1. 進入反編譯工具wxappUnpacker項目的根目錄,運行yarn install安裝依賴包

  2. wxappUnpacker項目根目錄下,執行解包命令node wuWxapkg.js <path/to/xxx.wxapkg>。一個小程序一般會有多個包,我們需要找出主包。執行解包命令時,后面的參數需要具體到主包的文件名。經過多次試驗總結發現,一般主包是以 _-開頭,文件名與其他的文件看起來是不同的。
    在這里插入圖片描述

可以看到命令行輸出如下提示:

$ node wuWxapkg.js ../dongFangCaiFu/_-2081057737_66.wxapkg
Unpack file ../dongFangCaiFu/_-2081057737_66.wxapkg...Header info:firstMark: 0xbeunknownInfo:  0infoListLength:  6445dataLength:  2158356lastMark: 0xedFile list info:fileCount:  172
Saving files...
Unpack done.
Split app-service.js and make up configs & wxss & wxml & wxs...
deal config ok
deal js ok
deal html ok
deal css ok
splitJs: F:\webstormProjects\mini-program\dongFangCaiFu\_-2081057737_66\app-se
rvice.js
F:\webstormProjects\mini-program\dongFangCaiFu\_-2081057737_66 02CB91817FA2198
C64ADF986253F1537.js
F:\webstormProjects\mini-program\dongFangCaiFu\_-2081057737_66 0FD5E5F37FA2198
C69B38DF4E56F1537.js
F:\webstormProjects\mini-program\dongFangCaiFu\_-2081057737_66 11EAF9667FA2198
C778C91613F8F1537.js
F:\webstormProjects\mini-program\dongFangCaiFu\_-2081057737_66 1CC3D0F37FA2198
C7AA5B8F4A5BF1537.js
F:\webstormProjects\mini-program\dongFangCaiFu\_-2081057737_66 212D2CB47FA2198
C474B44B3E9ED1537.js
F:\webstormProjects\mini-program\dongFangCaiFu\_-2081057737_66 24EFAE017FA2198
C4289C606DDFE1537.js
F:\webstormProjects\mini-program\dongFangCaiFu\_-2081057737_66 3CE424D77FA2198
C5A824CD01A9F1537.js
F:\webstormProjects\mini-program\dongFangCaiFu\_-2081057737_66 44199CD77FA2198
C227FF4D0319E1537.js
F:\webstormProjects\mini-program\dongFangCaiFu\_-2081057737_66 4C52C3117FA2198
C2A34AB16818D1537.js
F:\webstormProjects\mini-program\dongFangCaiFu\_-2081057737_66 4E3F4A367FA2198
C28592231639D1537.js
F:\webstormProjects\mini-program\dongFangCaiFu\_-2081057737_66 50E340B47FA2198
C368528B3AD5E1537.js
F:\webstormProjects\mini-program\dongFangCaiFu\_-2081057737_66 5A0161E27FA2198
C3C6709E5BCAF1537.js
F:\webstormProjects\mini-program\dongFangCaiFu\_-2081057737_66 5B1C0EE47FA2198
C3D7A66E321EF1537.js
F:\webstormProjects\mini-program\dongFangCaiFu\_-2081057737_66 61219CD57FA2198
C0747F4D25F6E1537.js
F:\webstormProjects\mini-program\dongFangCaiFu\_-2081057737_66 6249DFF57FA2198
C042FB7F293FE1537.js
F:\webstormProjects\mini-program\dongFangCaiFu\_-2081057737_66 680649437FA2198
C0E602144E54F1537.js
F:\webstormProjects\mini-program\dongFangCaiFu\_-2081057737_66 69160F537FA2198
C0F706754BA2E1537.js
F:\webstormProjects\mini-program\dongFangCaiFu\_-2081057737_66 6987BC357FA2198
C0FE1D432427F1537.js
F:\webstormProjects\mini-program\dongFangCaiFu\_-2081057737_66 7B819AE57FA2198
C1DE7F2E233DE1537.js
F:\webstormProjects\mini-program\dongFangCaiFu\_-2081057737_66 8AC58DF47FA2198
CECA3E5F3B31E1537.js
F:\webstormProjects\mini-program\dongFangCaiFu\_-2081057737_66 8ACE1F557FA2198
CECA8775277FD1537.js
F:\webstormProjects\mini-program\dongFangCaiFu\_-2081057737_66 8D1643E27FA2198
CEB702BE507CD1537.js
F:\webstormProjects\mini-program\dongFangCaiFu\_-2081057737_66 99D2EAB27FA2198
CFFB482B564BD1537.js
F:\webstormProjects\mini-program\dongFangCaiFu\_-2081057737_66 @babel/runtime/
helpers/arrayLikeToArray.js
F:\webstormProjects\mini-program\dongFangCaiFu\_-2081057737_66 @babel/runtime/
helpers/arrayWithHoles.js
F:\webstormProjects\mini-program\dongFangCaiFu\_-2081057737_66 @babel/runtime/
helpers/arrayWithoutHoles.js
F:\webstormProjects\mini-program\dongFangCaiFu\_-2081057737_66 @babel/runtime/
helpers/asyncToGenerator.js
F:\webstormProjects\mini-program\dongFangCaiFu\_-2081057737_66 @babel/runtime/
helpers/defineProperty.js
F:\webstormProjects\mini-program\dongFangCaiFu\_-2081057737_66 @babel/runtime/
helpers/interopRequireDefault.js
F:\webstormProjects\mini-program\dongFangCaiFu\_-2081057737_66 @babel/runtime/
helpers/iterableToArray.js
F:\webstormProjects\mini-program\dongFangCaiFu\_-2081057737_66 @babel/runtime/
helpers/iterableToArrayLimit.js
F:\webstormProjects\mini-program\dongFangCaiFu\_-2081057737_66 @babel/runtime/
helpers/nonIterableRest.js
F:\webstormProjects\mini-program\dongFangCaiFu\_-2081057737_66 @babel/runtime/
helpers/nonIterableSpread.js
F:\webstormProjects\mini-program\dongFangCaiFu\_-2081057737_66 @babel/runtime/
helpers/objectSpread2.js
F:\webstormProjects\mini-program\dongFangCaiFu\_-2081057737_66 @babel/runtime/
helpers/slicedToArray.js
F:\webstormProjects\mini-program\dongFangCaiFu\_-2081057737_66 @babel/runtime/
helpers/toConsumableArray.js
F:\webstormProjects\mini-program\dongFangCaiFu\_-2081057737_66 @babel/runtime/
helpers/typeof.js
F:\webstormProjects\mini-program\dongFangCaiFu\_-2081057737_66 @babel/runtime/
helpers/unsupportedIterableToArray.js
F:\webstormProjects\mini-program\dongFangCaiFu\_-2081057737_66 @babel/runtime/
regenerator.js
F:\webstormProjects\mini-program\dongFangCaiFu\_-2081057737_66 A2A31AD37FA2198
CC4C572D43E9E1537.js
F:\webstormProjects\mini-program\dongFangCaiFu\_-2081057737_66 A2E1F3817FA2198
CC4879B86A08E1537.js
F:\webstormProjects\mini-program\dongFangCaiFu\_-2081057737_66 ADC668017FA2198
CCBA0000675CF1537.js
F:\webstormProjects\mini-program\dongFangCaiFu\_-2081057737_66 B33469017FA2198
CD552010620FF1537.js
F:\webstormProjects\mini-program\dongFangCaiFu\_-2081057737_66 B4790A047FA2198
CD21F6203CEAE1537.js
F:\webstormProjects\mini-program\dongFangCaiFu\_-2081057737_66 C6F555147FA2198
CA0933D13385F1537.js
F:\webstormProjects\mini-program\dongFangCaiFu\_-2081057737_66 C7D2F7C37FA2198
CA1B49FC4CE1F1537.js
F:\webstormProjects\mini-program\dongFangCaiFu\_-2081057737_66 C92323547FA2198
CAF454B537B2F1537.js
F:\webstormProjects\mini-program\dongFangCaiFu\_-2081057737_66 D5D51E667FA2198
CB3B37661A5AD1537.js
F:\webstormProjects\mini-program\dongFangCaiFu\_-2081057737_66 D7E073717FA2198
CB1861B76F3EE1537.js
F:\webstormProjects\mini-program\dongFangCaiFu\_-2081057737_66 DD9D93E57FA2198
CBBFBFBE2D12E1537.js
F:\webstormProjects\mini-program\dongFangCaiFu\_-2081057737_66 E174D1B77FA2198
C8712B9B0BC0F1537.js
F:\webstormProjects\mini-program\dongFangCaiFu\_-2081057737_66 E48C9AB07FA2198
C82EAF2B73D3E1537.js
F:\webstormProjects\mini-program\dongFangCaiFu\_-2081057737_66 E9AA86447FA2198
C8FCCEE438F4E1537.js
F:\webstormProjects\mini-program\dongFangCaiFu\_-2081057737_66 F19F4B857FA2198
C97F92382008F1537.js
F:\webstormProjects\mini-program\dongFangCaiFu\_-2081057737_66 F4E555647FA2198
C92833D6310CE1537.js
F:\webstormProjects\mini-program\dongFangCaiFu\_-2081057737_66 F917D9857FA2198
C9F71B182FFCF1537.js
F:\webstormProjects\mini-program\dongFangCaiFu\_-2081057737_66 FE8EF1457FA2198
C98E8994269DD1537.js
F:\webstormProjects\mini-program\dongFangCaiFu\_-2081057737_66 FF3491C77FA2198
C9952F9C0870E1537.js
F:\webstormProjects\mini-program\dongFangCaiFu\_-2081057737_66 app.js
F:\webstormProjects\mini-program\dongFangCaiFu\_-2081057737_66 components/base
-modal/modal.js
F:\webstormProjects\mini-program\dongFangCaiFu\_-2081057737_66 components/call
-login-modal/call-login-modal.js
F:\webstormProjects\mini-program\dongFangCaiFu\_-2081057737_66 components/down
form/downform.js
F:\webstormProjects\mini-program\dongFangCaiFu\_-2081057737_66 components/foot
bar-share/footbar-share.js
F:\webstormProjects\mini-program\dongFangCaiFu\_-2081057737_66 components/foot
bar/footbar.js
F:\webstormProjects\mini-program\dongFangCaiFu\_-2081057737_66 components/imag
e-share copy/image-share.js
F:\webstormProjects\mini-program\dongFangCaiFu\_-2081057737_66 components/imag
e-share/image-share.js
F:\webstormProjects\mini-program\dongFangCaiFu\_-2081057737_66 components/kaih
uform/kaihuform.js
F:\webstormProjects\mini-program\dongFangCaiFu\_-2081057737_66 components/logi
n-modal/login-modal.js
F:\webstormProjects\mini-program\dongFangCaiFu\_-2081057737_66 components/moda
l/modal.js
F:\webstormProjects\mini-program\dongFangCaiFu\_-2081057737_66 components/navb
ar/navbar.js
F:\webstormProjects\mini-program\dongFangCaiFu\_-2081057737_66 components/navi
gator/navigator.js
F:\webstormProjects\mini-program\dongFangCaiFu\_-2081057737_66 components/open
app copy/openapp.js
F:\webstormProjects\mini-program\dongFangCaiFu\_-2081057737_66 components/open
app/openapp.js
F:\webstormProjects\mini-program\dongFangCaiFu\_-2081057737_66 components/stoc
k-list/stock-list.js
F:\webstormProjects\mini-program\dongFangCaiFu\_-2081057737_66 components/user
/user.js
F:\webstormProjects\mini-program\dongFangCaiFu\_-2081057737_66 components/zhi-
shu/zhi-shu.js
F:\webstormProjects\mini-program\dongFangCaiFu\_-2081057737_66 pages/download
copy/download.js
F:\webstormProjects\mini-program\dongFangCaiFu\_-2081057737_66 pages/index/ind
ex.js
F:\webstormProjects\mini-program\dongFangCaiFu\_-2081057737_66 pages/kaihu/kai
hu.js
F:\webstormProjects\mini-program\dongFangCaiFu\_-2081057737_66 pages/kaihuDeta
il/kaihuDetail.js
F:\webstormProjects\mini-program\dongFangCaiFu\_-2081057737_66 pages/download/
download.js
F:\webstormProjects\mini-program\dongFangCaiFu\_-2081057737_66 pages/market/ma
rket.js
F:\webstormProjects\mini-program\dongFangCaiFu\_-2081057737_66 pages/stockDeta
il/stockDetail.js
F:\webstormProjects\mini-program\dongFangCaiFu\_-2081057737_66 pages/gubaDetai
l/gubaDetail.js
F:\webstormProjects\mini-program\dongFangCaiFu\_-2081057737_66 pages/protocol/
index.js
F:\webstormProjects\mini-program\dongFangCaiFu\_-2081057737_66 pages/LoginInde
x/LoginIndex.js
F:\webstormProjects\mini-program\dongFangCaiFu\_-2081057737_66 pages/timeShare
/timeShare.js
F:\webstormProjects\mini-program\dongFangCaiFu\_-2081057737_66 pages/timeShare
HK/timeShareHK.js
F:\webstormProjects\mini-program\dongFangCaiFu\_-2081057737_66 pages/timeShare
US/timeShareUS.js
F:\webstormProjects\mini-program\dongFangCaiFu\_-2081057737_66 pages/SearchPag
e/SearchPage.js
F:\webstormProjects\mini-program\dongFangCaiFu\_-2081057737_66 pages/informati
onDetail/informationDetail.js
F:\webstormProjects\mini-program\dongFangCaiFu\_-2081057737_66 pages/LoginPage
/Login.js
F:\webstormProjects\mini-program\dongFangCaiFu\_-2081057737_66 pages/My/My.js
F:\webstormProjects\mini-program\dongFangCaiFu\_-2081057737_66 pages/Bindinged
EMPage/BindingedEMPage.js
F:\webstormProjects\mini-program\dongFangCaiFu\_-2081057737_66 pages/zixun/zix
un.js
F:\webstormProjects\mini-program\dongFangCaiFu\_-2081057737_66 pages/zixunDeta
il/zixunDetail.js
F:\webstormProjects\mini-program\dongFangCaiFu\_-2081057737_66 pages/gubaPost/
gubaPost.js
F:\webstormProjects\mini-program\dongFangCaiFu\_-2081057737_66 pages/loginByTe
l/loginByTel.js
F:\webstormProjects\mini-program\dongFangCaiFu\_-2081057737_66 pages/BPTest/BP
Test.js
F:\webstormProjects\mini-program\dongFangCaiFu\_-2081057737_66 pages/viewDialo
g/viewDialog.js
F:\webstormProjects\mini-program\dongFangCaiFu\_-2081057737_66 pages/test/test
.js
F:\webstormProjects\mini-program\dongFangCaiFu\_-2081057737_66 pages/bankuai/b
ankuai.js
F:\webstormProjects\mini-program\dongFangCaiFu\_-2081057737_66 pages/data/data
.js
F:\webstormProjects\mini-program\dongFangCaiFu\_-2081057737_66 pages/me/me.js
F:\webstormProjects\mini-program\dongFangCaiFu\_-2081057737_66 pages/error/err
or.js
F:\webstormProjects\mini-program\dongFangCaiFu\_-2081057737_66 pages/Agreement
View/AgreementView.js
F:\webstormProjects\mini-program\dongFangCaiFu\_-2081057737_66 pages/fissionkh
Auth/fissionkhAuth.js
F:\webstormProjects\mini-program\dongFangCaiFu\_-2081057737_66 pages/fissionkh
AuthSucc/fissionkhAuthSucc.js
Splitting "F:\webstormProjects\mini-program\dongFangCaiFu\_-2081057737_66\app-
service.js" done.
Decompile ./components/base-modal/modal.wxml...
Decompile success!
Decompile ./components/call-login-modal/call-login-modal.wxml...
Decompile success!
Decompile ./components/downform/downform.wxml...
Decompile success!
Decompile ./components/footbar-share/footbar-share.wxml...
Decompile success!
Decompile ./components/footbar/footbar.wxml...
Decompile success!
Decompile ./components/image-share copy/image-share.wxml...
Decompile success!
Decompile ./components/image-share/image-share.wxml...
Decompile success!
Decompile ./components/kaihuform/kaihuform.wxml...
Decompile success!
Decompile ./components/login-modal/login-modal.wxml...
Decompile success!
Decompile ./components/modal/modal.wxml...
Decompile success!
Decompile ./components/navbar/navbar.wxml...
Decompile success!
Decompile ./components/navigator/navigator.wxml...
Decompile success!
Decompile ./components/openapp copy/openapp.wxml...
Decompile success!
Decompile ./components/openapp/openapp.wxml...
Decompile success!
Decompile ./components/stock-list/stock-list.wxml...
Decompile success!
Decompile ./components/user/user.wxml...
Decompile success!
Decompile ./components/zhi-shu/zhi-shu.wxml...
Decompile success!
Decompile ./pages/AgreementView/AgreementView.wxml...
Decompile success!
Decompile ./pages/BPTest/BPTest.wxml...
Decompile success!
Decompile ./pages/BindingedEMPage/BindingedEMPage.wxml...
Decompile success!
Decompile ./pages/LoginIndex/LoginIndex.wxml...
Decompile success!
Decompile ./pages/LoginPage/Login.wxml...
Decompile success!
Decompile ./pages/My/My.wxml...
Decompile success!
Decompile ./pages/SearchPage/SearchPage.wxml...
Decompile success!
Decompile ./pages/bankuai/bankuai.wxml...
Decompile success!
Decompile ./pages/data/data.wxml...
Decompile success!
Decompile ./pages/download copy/download.wxml...
Decompile success!
Decompile ./pages/download/download.wxml...
Decompile success!
Decompile ./pages/error/error.wxml...
Decompile success!
Decompile ./pages/fissionkhAuth/fissionkhAuth.wxml...
Decompile success!
Decompile ./pages/fissionkhAuthSucc/fissionkhAuthSucc.wxml...
Decompile success!
Decompile ./pages/gubaDetail/gubaDetail.wxml...
Decompile success!
Decompile ./pages/gubaPost/gubaPost.wxml...
Decompile success!
Decompile ./pages/index/index.wxml...
Decompile success!
Decompile ./pages/informationDetail/informationDetail.wxml...
Decompile success!
Decompile ./pages/kaihu/kaihu.wxml...
Decompile success!
Decompile ./pages/kaihuDetail/kaihuDetail.wxml...
Decompile success!
Decompile ./pages/loginByTel/loginByTel.wxml...
Decompile success!
Decompile ./pages/market/market.wxml...
Decompile success!
Decompile ./pages/me/me.wxml...
Decompile success!
Decompile ./pages/protocol/index.wxml...
Decompile success!
Decompile ./pages/stockDetail/stockDetail.wxml...
Decompile success!
Decompile ./pages/test/test.wxml...
Decompile success!
Decompile ./pages/timeShare/timeShare.wxml...
Decompile success!
Decompile ./pages/timeShareHK/timeShareHK.wxml...
Decompile success!
Decompile ./pages/timeShareUS/timeShareUS.wxml...
Decompile success!
Decompile ./pages/viewDialog/viewDialog.wxml...
Decompile success!
Decompile ./pages/zixun/zixun.wxml...
Decompile success!
Decompile ./pages/zixunDetail/zixunDetail.wxml...
Decompile success!
Guess wxss(first turn)...
Regard F:\webstormProjects\mini-program\dongFangCaiFu\_-2081057737_66\app.wxssas pure import file.
Regard F:\webstormProjects\mini-program\dongFangCaiFu\_-2081057737_66\pages\ba
nkuai\bankuai.wxss as pure import file.
Regard F:\webstormProjects\mini-program\dongFangCaiFu\_-2081057737_66\pages\gu
baDetail\gubaDetail.wxss as pure import file.
Regard F:\webstormProjects\mini-program\dongFangCaiFu\_-2081057737_66\pages\ti
meShare\timeShare.wxss as pure import file.
Import count info: {"./app.wxss":7,"./pages/index/index.wxss":5,"./pages/gubaD
etail/gubaDetail.wxss":2,"./timeShareCommon.wxss":4}
Guess wxss(first turn) done.
Generate wxss(second turn)...
Generate wxss(second turn) done.
Save wxss...
saveDir: F:\webstormProjects\mini-program\dongFangCaiFu\_-2081057737_66
Split and make up done.
Delete files...
Deleted.File done.
Total use: 5.626s
  1. 如果想單獨執行config、js、wxml、wxss的反編譯可以在解包時加-o參數不做后續操作

  2. 工具的其他腳本的用法:

    • node wuConfig.js <files...> 將 app-config.json 中的內容拆分到各個文件對應的 .json 和 app.json , 并通過搜索 app-config.json 所在文件夾下的所有文件嘗試將 iconData 還原為 iconPath 。
    • node wuJs.js <files...> 將 app-service.js (或小游戲中的 game.js ) 拆分成一系列原先獨立的 javascript 文件,并使用 Uglify-ES 美化,從而盡可能還原編譯前的情況。
    • node wuWxml.js [-m] <files...> 將編譯/混合到 page-frame.html ( 或 app-wxss.js ) 中的 wxml 和 wxs 文件還原為獨立的、未編譯的文件。如果加上-m指令,就會阻止block塊自動省略,可能幫助解決一些相關過程的 bug 。
    • node wuWxss.js <dirs...> 通過獲取文件夾下的 page-frame.html ( 或 app-wxss.js ) 和其他 html 文件的內容,還原出編譯前 wxss 文件的內容。
    • node wuWxapkg.js [-o] [-d] [-s=<Main Dir>] <files...> 將 wxapkg 文件解包,并將包中上述命令中所提的被編譯/混合的文件自動地恢復原狀。如果加上-o指令,表示僅解包,不做后續操作。如果加上-d指令,就會保留編譯/混合后所生成的新文件,否則會自動刪去這些文件。同時,前面命令中的指令也可直接加在這一命令上。

導入開發者工具

打開微信開發者工具,導入項目即可。

在本次的東方財富小程序解包后,注意在開發者工具的詳情--->本地設置

  • 勾掉e6轉es5(這個小程序貌似并沒有使用es6語法)
  • 注意勾選不校驗合法域名

解包其它小程序可能項目配置略有不同,多調試調試。

擴展小結

體驗版解包

體驗版的需要找到debug開頭的文件(形如:debug_xxx 是沒有后綴的),然后拿到文件后手動添加wxapkg后綴再執行以上操作,即可完成解包。

解包時提示是子包

解決:有些小程序可能采取了分包策略,所以就有一個主包和多個子包之分。經過多次試驗總結發現,一般主包是以 _-開頭,文件名與其他的文件看起來是不同的。

在這里插入圖片描述

寫在最后

今天的干貨就分享到這里。歡迎一鍵三連,持續關注“安前碼后”,一個只輸出干貨而不是隨大流的技術號。另外,賺錢的號“韭盾”,也在持續開發中,有投資興趣的鐵子們可以先關注,絕對是好物。 加油,鐵子們。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/213937.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/213937.shtml
英文地址,請注明出處:http://en.pswp.cn/news/213937.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

論文筆記:A review on multi-label learning

一、介紹 傳統的監督學習是單標簽學習&#xff0c;但是現實中一個實例可能對應多個標簽。這篇文章介紹了多標簽分類的定義和評價指標、多標簽學習的算法還有其他相關的任務。 二、問題相關定義 2.1 多標簽學習任務 假設 X R d X R^d XRd&#xff0c;表示d維的輸入空間&am…

面試經典150題(10-13)

leetcode 150道題 計劃花兩個月時候刷完&#xff0c;今天&#xff08;第四天&#xff09;完成了4道(10-13)150&#xff1a; 10. &#xff08;45. 跳躍游戲 II&#xff09;題目描述&#xff1a; 給定一個長度為 n 的 0 索引整數數組 nums。初始位置為 nums[0]。 每個元素 nums[…

日本服務器:確保其穩定性的幾個要點

?  在租用日本服務器時&#xff0c;用戶們大多一定會關注它的穩定性&#xff0c;其實這些顧及都是正常的。畢竟&#xff0c;網站要想正常運行&#xff0c;保障服務器穩定是關鍵。本文將討論有關如何保障日本服務器穩定性的一些有用技巧&#xff0c;希望對您有所幫助。 1.注重…

Linux定時循環備份指定文件或文件夾,每月永久備份留1份

備份需求&#xff1a;每天完成一次指定文件的備份&#xff0c;壓縮后存放到指定目錄 問題&#xff1a;備份時間長了以后占用空間較大&#xff0c;浪費存儲&#xff0c;實際歷史備份意義不大&#xff0c;并不需要永久保存。但是如果直接刪除可能導致無法恢復歷史狀態的數據。 …

SpringBoot 啟動加載器解析

計時器介紹 啟動加載器實戰 實現方式1 實現CommandLineRunner接口重寫run方法通過Order進行排序 示例: Component Order(1) public class FirstCommandlineRunner implements CommandLineRunner {Overridepublic void run(String... args) throws Exception {System.out.pr…

一篇上手機器學習

一、上手機器學習的幾個階段 上手機器學習&#xff0c;第一步當然是看完我的這篇文章啦~&#xff0c;然后就按以下步驟來就可以了&#xff1a; 學習Python編程語言&#xff1a;Python是一種易于學習的高級編程語言&#xff0c;廣泛應用于機器學習領域。你可以通過學習Python的…

第三節、項目支付功能實戰-微信支付平臺接入流程,小程序賬號注冊、商戶注冊

簡介 本篇介紹小程序的注冊流程、商戶平臺的注冊流程、以及小程序和商戶平臺如何進行綁定。 微信小程序注冊 由于項目中使用了小程序進行支付&#xff0c;所以首先來注冊小程序。小程序注冊網站如下&#xff1a;小程序注冊地址 小程序賬號注冊 1、鏈接頁面點擊“前往注冊”…

carla安裝中的問題

1、carla carla安裝完后&#xff0c;需要使用python調用API去更換地圖&#xff0c;增加車輛等 使用Python調用API過程中可能會報錯&#xff1a; 報錯1&#xff1a;carla API&#xff08;Carla包&#xff09;版本不對 **解決方法&#xff1a;**需要將這個目錄下的三個文件拷…

數學建模算法

算法部分 1. 評價類模型2. TOPSIS3. 線性規劃4. 聚類分析5. 預測模型6. 拉伊達準則(對異常值進行剔除)7. 數據擬合8. 圖論代碼練習1. 模擬圓周率2. 斐波那契數列3. 四只鴨子落在一個圓中概率4. 方程2: y" uy y,初值y(0) 1,y(0) 0 算法講解 matlab代碼大全 1. 評價類模型…

【Python】修改pip 默認安裝位置

使用pip安裝的時候&#xff0c;一般是默認安裝在c盤里的。這樣做很容易會讓c盤的文件堆滿。那么如何讓pip安裝的包放入d盤呢&#xff1f; 查看pip默認安裝的位置 在cmd里輸入python -m site&#xff0c;這里可以看到&#xff0c;安裝包會默認下載到c盤中 從這里可以看到&am…

【Spring教程15】Spring框架實戰:詳解解讀AOP的工作流程和AOP的核心概念

目錄 1 AOP工作流程2 AOP核心概念 歡迎大家回到《 Java教程之Spring30天快速入門》&#xff0c;本教程所有示例均基于Maven實現&#xff0c;如果您對Maven還很陌生&#xff0c;請移步本人的博文《 如何在windows11下安裝Maven并配置以及 IDEA配置Maven環境》&#xff0c;本文…

如何使用cpolar+Inis在Ubuntu系統快速搭建本地博客網站公網可訪問

文章目錄 前言1. Inis博客網站搭建1.1. Inis博客網站下載和安裝1.2 Inis博客網站測試1.3 cpolar的安裝和注冊 2. 本地網頁發布2.1 Cpolar臨時數據隧道2.2 Cpolar穩定隧道&#xff08;云端設置&#xff09;2.3.Cpolar穩定隧道&#xff08;本地設置&#xff09; 3. 公網訪問測試總…

AspNetCore 中使用 Knife4jUI 更加友好的Swagger界面

&#x1f680;介紹 aspnetcore.knife4j是一個基于.NET Core平臺的Swagger UI庫&#xff0c;它提供了API文檔的生成和管理功能。這個庫的前身是swagger-bootstrap-ui&#xff0c;在Java項目中廣泛使用&#xff0c;由于其優秀的界面和易用性被許多開發者所推崇。現在&#xff0c…

LV.13 D2 開發板啟動流程 學習筆記

一、開發板啟動過程 EMMC&#xff1a;相當于電腦的外存&#xff0c;斷電不丟失 開發板上電后首先運行SOC內部iROM中固化的代碼(BL0)&#xff0c;這段代碼先對基本的軟硬件環境(時鐘等...)進行初始化&#xff0c;然后再檢測撥碼開關位置獲取啟動方式&#xff0c;然后再將對應存儲…

基于SSM+MySQL學生宿舍管理系統的設計與實現(源碼+數據庫+文檔)

摘 要 近年來&#xff0c;隨著計算機技術的不斷發展和運用&#xff0c;許多實際問題都得到了較好地解決。隨著現代社會對企業經營的需求日益增長&#xff0c;企業的無紙辦公也逐漸得到了推廣。本學生宿舍管理系統的設計開發&#xff0c;目標就是解決宿舍管理復雜的人為管理&a…

PHP變量用{}的使用方法

{} 可以將變量名稱作為一個整體使用 "666666".$id."888888"; //可以簡化為如下 "666666{$id}888888"; //當然$id也可以用$ids[$id] 參考&#xff1a; PHP 大括號{} 的使用_php 函數放在{}-CSDN博客

[23] Self-conditioned Image Generation via Generating Representations

[paper | code] 用生成對象本身作為控制信號&#xff0c;實現無條件圖像生成。訓練階段。Step1&#xff1a;用預訓練模型&#xff08;例如&#xff1a;Moco v3&#xff09;提取生成對象的特征編碼&#xff1b;Step2&#xff1a;基于特征編碼&#xff0c;訓練一個擴散模型RDM&a…

pycharm手動安裝包

1.下載對應的包 TTS PyPI 2.手動解壓&#xff0c;找到文件放到pycharm對應項目的lib文件夾中 以TTS包為例&#xff0c;找到下載并解壓的包中的2個文件&#xff0c;一個名稱一個info結尾 3.放到項目的lib文件夾中 eg&#xff1a;路徑&#xff1b;C:\doc\myProject\speaker\venv…

前端知識(十四)——淺談用戶體驗測試的主要功能

用戶體驗(User Experience&#xff0c;簡稱UX)在現代軟件和產品開發中變得愈發重要。為了確保產品能夠滿足用戶期望&#xff0c;提高用戶滿意度&#xff0c;用戶體驗測試成為不可或缺的環節。本文將詳細探討用戶體驗測試的主要功能&#xff0c;以及它在產品開發過程中的重要性 …

Android View的 getHeight 和 getMeasuredHeight 的區別

前言 先簡單復習一下Android View 的 繪制順序&#xff1a; 1、onMeasure&#xff08;測量&#xff09;&#xff0c;先根據構造器傳進來的LayoutParams&#xff08;布局參數&#xff09;&#xff0c;測量view寬高。 2、onLayout&#xff08;布局&#xff09;&#xff0c;再根…