debundle
1.0.0

這是一種構建的工具,用於解開WebPack和瀏覽審慎的JavaScript捆綁包。
這是一個不再維護的研究項目。我構建的目的是幫助我了解JavaScript捆綁包。它大部分時間都在縮寫環境中起作用,但經常在現實世界中的JavaScript捆綁包上失敗。自從我從事這個項目以來已經有一段時間了,因此,如果您遇到問題,我可能真的無法為您提供那麼多的幫助。
原因有所不同,但最初開發了此工具是為了幫助我進行逆向工程項目。不用說,篩選縮小捆綁包以嘗試找出服務的工作原理並不有趣,並且當該捆綁包分解為文件並且這些文件具有語義名稱時,要容易得多。
npm i -g debundle
$ debundle
Usage: debundle [input file] {OPTIONS}
Options:
--input, -i Bundle to debundle
--output, -o Directory to debundle code into.
--config, -c Configuration file
$ curl https://raw.githubusercontent.com/1egoman/debundle/master/test_bundles/browserify/bundle.js > bundle.js
$ curl https://raw.githubusercontent.com/1egoman/debundle/master/test_bundles/browserify/debundle.config.json > debundle.config.json
$ cat debundle.config.json
{
" type " : " browserify " ,
" knownPaths " : {}
}
$ debundle -i bundle.js -o dist/ -c debundle.config.json
$ tree dist/
dist/
├── index.js
└── node_modules
├── number
│ └── index.js
└── uuid
├── index.js
├── lib
│ ├── bytesToUuid.js
│ └── rng.js
├── v1.js
└── v4.js
4 directories, 7 files {
"type": "browserify",
"entryPoint": 1,
"knownPaths": {}
}
(要討論一個簡單的WebPack捆綁包, browserify用webpack替換上面的配置)
配置可以具有許多標誌 - 它們已記錄在Docs.md中。
不。捆綁時有一堆元數據丟失了:
node_module和root軟件包的任何自定義package.json 。1.js )命名的文件。不正式。但是,如果捆綁包共享與瀏覽或webpack相同類型的模塊佈局,則可能可以設置模塊式配置選項,以指向模塊的位置。
npm install - 應該是這樣。./src/index.js (這就是您運行的方式!)test_bundles/ 。腳本, test_bundles/run_test.sh可以通過給定的捆綁包運行Debundler,並嘗試將其折疊到dist/ 。 (作為運行測試的一部分,CI將在該文件夾中討論所有捆綁包。)npm test一些公司在服務條款上指定其代碼不能“反向工程”。絕對可以(取決於您的使用方式)肯定會屬於該保護傘。了解您在做什麼,因此您不會達成任何協議?