javascript-obfuscator / javascript-obfuscator/gulp-javascript-obfuscator
Obfuscating going wrong - Not same result always
まだ誰も着手していません。
- 主要言語
- JavaScript
- スター
- 103
- フォーク
- 37
- PR マージ指標
- 30日以内にマージされた PR はありません
説明
node --version
v10.16.3
"gulp-concat": "~2.3.3",
"gulp-preprocess": "^1.2.0",
"gulp-javascript-obfuscator": "^1.1.2",
The following gulp code is used:
```
var preprocess = require('gulp-preprocess'),
concat = require('gulp-concat'),
javascriptobfuscator = require('gulp-javascript-obfuscator');
gulp.task('app', function() {
return gulp.src('./js/app.js')
.pipe(preprocess({
context: {
HOST: host,
VER: ver
}
}))
.pipe(concat('app.js'))
.pipe(javascriptobfuscator({
reservedStrings:['loadScript','loadCss']
}))
.pipe( gulp.dest('dist/target/js'));
});
```
The following code:
`if(index < scriptFiles.length-1)`
is converted to:
` if (_0x219af0 < _0x441e3a[_0x56ae('0xf')] - 0x1)`
If I step through in Chrome Browser, __0x56ae('0xf')_ is incorrectly equated as '_style_' instead of '_length_'.
If I build it again, it goes fine.
So, it is intermittent. Can somebody point if I am doing anything wrong?
コントリビューションガイド
このリポジトリのコントリビューションガイドは索引されていません
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
調査の方向性
示されている gulp タスクから始め、特に ./js/app.js の入力と生成される dist/target/js/app.js を確認してから、build を繰り返し実行し、Chrome で難読化された出力を比較します。繰り返した build で length プロパティが一貫して正しくマッピングされ、断続的に style のマッピングが生成されなければ完了です。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- javascript
- 領域
- build-system
- issue の種類
- バグ
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 活発さ
- 停滞
- 明瞭さ
- 説明が足りない
- 初心者へのやさしさ
- 35/100