mirror of
https://git.mirrors.martin98.com/https://github.com/cilame/v_jstools
synced 2025-08-14 10:25:51 +08:00
add
This commit is contained in:
parent
46329ceeaa
commit
d12fcb6b1b
73
options.html
73
options.html
@ -20,7 +20,7 @@
|
|||||||
<button>高级 hook ,修改 response 返回值</button>
|
<button>高级 hook ,修改 response 返回值</button>
|
||||||
<button>AST混淆解密</button>
|
<button>AST混淆解密</button>
|
||||||
<button>代码模板(RPC...)</button>
|
<button>代码模板(RPC...)</button>
|
||||||
<button>jsobfuscator混淆器</button>
|
<button>混淆器</button>
|
||||||
</ul>
|
</ul>
|
||||||
</nav>
|
</nav>
|
||||||
<div id="container">
|
<div id="container">
|
||||||
@ -192,69 +192,17 @@
|
|||||||
<textarea id='code_model' style="width: 100%; height: 500px" placeholder="附加功能,拖拽文件到该窗口自动输出base64内容"></textarea>
|
<textarea id='code_model' style="width: 100%; height: 500px" placeholder="附加功能,拖拽文件到该窗口自动输出base64内容"></textarea>
|
||||||
</section>
|
</section>
|
||||||
<section class="tab">
|
<section class="tab">
|
||||||
<div>jsobfuscator混淆器</div>
|
<button id='jsobfuscator_btn'>jsobfuscator混淆</button>
|
||||||
<button id='jsobfuscator_btn'>混淆</button>
|
<button id='jsobfuscator_get_config_btn'>获取jsobfuscator配置</button>
|
||||||
|
<button id='aline_js_btn'>aline_js混淆</button>
|
||||||
|
<button id='aline_js_get_config_btn'>获取aline_js配置</button>
|
||||||
<hr>
|
<hr>
|
||||||
<label>混淆配置</label>
|
<label>混淆配置</label>
|
||||||
<textarea id='jsobfuscator_config' style="width: 100%; height: 500px">
|
<textarea id='jsobfuscator_config' style="width: 100%; height: 200px"></textarea>
|
||||||
{
|
<label>输入混淆代码</label>
|
||||||
compact: false, // 输出是否为一行内容(若selfDefending开关开启,则这里强制为true)
|
<textarea id='jsobfuscator_input' style="width: 100%; height: 300px" placeholder="输入代码"></textarea>
|
||||||
controlFlowFlattening: true, // 控制流平坦化开关
|
<label>输出混淆代码</label>
|
||||||
controlFlowFlatteningThreshold: 0.75, // 控制流使用率
|
<textarea id='jsobfuscator_code' style="width: 100%; height: 500px" placeholder="输出代码"></textarea>
|
||||||
deadCodeInjection: true, // 注入死代码
|
|
||||||
deadCodeInjectionThreshold: 0.4, // 死代码注入率
|
|
||||||
debugProtection: true, // debugger 反调试开关
|
|
||||||
debugProtectionInterval: 4000, // debugger 定时反调试开关时间间隔
|
|
||||||
disableConsoleOutput: true, // console 清空,反输出
|
|
||||||
domainLock: [], // 指定运行作用域
|
|
||||||
domainLockRedirectUrl: 'about:blank', // 在非作用域运行时自动重定向的url
|
|
||||||
forceTransformStrings: [],
|
|
||||||
identifierNamesCache: null,
|
|
||||||
identifierNamesGenerator: 'mangled', // 变量混淆风格 hexadecimal:(_0xabc123) mangled:(a,b,c)
|
|
||||||
identifiersDictionary: [],
|
|
||||||
identifiersPrefix: '',
|
|
||||||
ignoreImports: false,
|
|
||||||
inputFileName: '',
|
|
||||||
log: false,
|
|
||||||
numbersToExpressions: false,
|
|
||||||
optionsPreset: 'default',
|
|
||||||
renameGlobals: false,
|
|
||||||
renameProperties: false,
|
|
||||||
renamePropertiesMode: 'safe',
|
|
||||||
reservedNames: [],
|
|
||||||
reservedStrings: [],
|
|
||||||
seed: 0,
|
|
||||||
selfDefending: true, // 函数格式化保护
|
|
||||||
simplify: true,
|
|
||||||
sourceMap: false,
|
|
||||||
sourceMapBaseUrl: '',
|
|
||||||
sourceMapFileName: '',
|
|
||||||
sourceMapMode: 'separate',
|
|
||||||
sourceMapSourcesMode: 'sources-content',
|
|
||||||
splitStrings: false, // 字符串碎片化 "asdfasdf" => "asd" + "fas" + "df"
|
|
||||||
splitStringsChunkLength: 10, // 切片长度
|
|
||||||
stringArray: true, // 属性字符串列表化开关(也就是ob头部一长串字符串)
|
|
||||||
stringArrayCallsTransform: true, // 属性字符串函数化比例
|
|
||||||
stringArrayCallsTransformThreshold: 0.5, // 转化比例
|
|
||||||
stringArrayEncoding: ['base64'], // 解密属性字符串的方式 'none','base64','rc4'
|
|
||||||
stringArrayIndexesType: [
|
|
||||||
'hexadecimal-number'
|
|
||||||
],
|
|
||||||
stringArrayIndexShift: true,
|
|
||||||
stringArrayRotate: true,
|
|
||||||
stringArrayShuffle: true,
|
|
||||||
stringArrayWrappersCount: 1,
|
|
||||||
stringArrayWrappersChainedCalls: true,
|
|
||||||
stringArrayWrappersParametersMaxCount: 2,
|
|
||||||
stringArrayWrappersType: 'variable',
|
|
||||||
stringArrayThreshold: 0.75,
|
|
||||||
target: 'browser',
|
|
||||||
transformObjectKeys: false,
|
|
||||||
unicodeEscapeSequence: false
|
|
||||||
}
|
|
||||||
</textarea>
|
|
||||||
<label>输入输出混淆代码</label>
|
|
||||||
<textarea id='jsobfuscator_code' style="width: 100%; height: 500px" placeholder="输入输出均在此处"></textarea>
|
|
||||||
</section>
|
</section>
|
||||||
</div>
|
</div>
|
||||||
<script src="options.js"></script>
|
<script src="options.js"></script>
|
||||||
@ -264,5 +212,6 @@
|
|||||||
<script src="tools/env_maker.js"></script>
|
<script src="tools/env_maker.js"></script>
|
||||||
<script src="tools/btn_utils.js"></script>
|
<script src="tools/btn_utils.js"></script>
|
||||||
<script src="tools/js_obfuscator.js"></script>
|
<script src="tools/js_obfuscator.js"></script>
|
||||||
|
<script src="tools/aline_js.js"></script>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
32
tools/aline_js.js
Normal file
32
tools/aline_js.js
Normal file
File diff suppressed because one or more lines are too long
@ -6,12 +6,74 @@
|
|||||||
var btn = document.getElementById('jsobfuscator_btn')
|
var btn = document.getElementById('jsobfuscator_btn')
|
||||||
btn.addEventListener('click', function(e){
|
btn.addEventListener('click', function(e){
|
||||||
var config = document.getElementById('jsobfuscator_config')
|
var config = document.getElementById('jsobfuscator_config')
|
||||||
|
var input = document.getElementById('jsobfuscator_input')
|
||||||
var code = document.getElementById('jsobfuscator_code')
|
var code = document.getElementById('jsobfuscator_code')
|
||||||
|
|
||||||
config = eval('1,' + config.value)
|
config = eval('1,' + (config.value.trim() || '{}'))
|
||||||
var obfuscationResult = JavaScriptObfuscator.obfuscate(code.value, config)
|
var obfuscationResult = JavaScriptObfuscator.obfuscate(input.value, config)
|
||||||
code.value = obfuscationResult._obfuscatedCode
|
code.value = obfuscationResult._obfuscatedCode
|
||||||
})
|
})
|
||||||
|
|
||||||
|
var btn = document.getElementById('jsobfuscator_get_config_btn')
|
||||||
|
btn.addEventListener('click', function(e){
|
||||||
|
var config = document.getElementById('jsobfuscator_config')
|
||||||
|
config.value = `
|
||||||
|
{
|
||||||
|
compact: false, // 输出是否为一行内容(若selfDefending开关开启,则这里强制为true)
|
||||||
|
controlFlowFlattening: true, // 控制流平坦化开关
|
||||||
|
controlFlowFlatteningThreshold: 0.75, // 控制流使用率
|
||||||
|
deadCodeInjection: true, // 注入死代码
|
||||||
|
deadCodeInjectionThreshold: 0.4, // 死代码注入率
|
||||||
|
debugProtection: true, // debugger 反调试开关
|
||||||
|
debugProtectionInterval: 4000, // debugger 定时反调试开关时间间隔
|
||||||
|
disableConsoleOutput: true, // console 清空,反输出
|
||||||
|
domainLock: [], // 指定运行作用域
|
||||||
|
domainLockRedirectUrl: 'about:blank', // 在非作用域运行时自动重定向的url
|
||||||
|
forceTransformStrings: [],
|
||||||
|
identifierNamesCache: null,
|
||||||
|
identifierNamesGenerator: 'mangled', // 变量混淆风格 hexadecimal:(_0xabc123) mangled:(a,b,c)
|
||||||
|
identifiersDictionary: [],
|
||||||
|
identifiersPrefix: '',
|
||||||
|
ignoreImports: false,
|
||||||
|
inputFileName: '',
|
||||||
|
log: false,
|
||||||
|
numbersToExpressions: false,
|
||||||
|
optionsPreset: 'default',
|
||||||
|
renameGlobals: false,
|
||||||
|
renameProperties: false,
|
||||||
|
renamePropertiesMode: 'safe',
|
||||||
|
reservedNames: [],
|
||||||
|
reservedStrings: [],
|
||||||
|
seed: 0,
|
||||||
|
selfDefending: true, // 函数格式化保护
|
||||||
|
simplify: true,
|
||||||
|
sourceMap: false,
|
||||||
|
sourceMapBaseUrl: '',
|
||||||
|
sourceMapFileName: '',
|
||||||
|
sourceMapMode: 'separate',
|
||||||
|
sourceMapSourcesMode: 'sources-content',
|
||||||
|
splitStrings: false, // 字符串碎片化 "asdfasdf" => "asd" + "fas" + "df"
|
||||||
|
splitStringsChunkLength: 10, // 切片长度
|
||||||
|
stringArray: true, // 属性字符串列表化开关(也就是ob头部一长串字符串)
|
||||||
|
stringArrayCallsTransform: true, // 属性字符串函数化比例
|
||||||
|
stringArrayCallsTransformThreshold: 0.5, // 转化比例
|
||||||
|
stringArrayEncoding: ['base64'], // 解密属性字符串的方式 'none','base64','rc4'
|
||||||
|
stringArrayIndexesType: [
|
||||||
|
'hexadecimal-number'
|
||||||
|
],
|
||||||
|
stringArrayIndexShift: true,
|
||||||
|
stringArrayRotate: true,
|
||||||
|
stringArrayShuffle: true,
|
||||||
|
stringArrayWrappersCount: 1,
|
||||||
|
stringArrayWrappersChainedCalls: true,
|
||||||
|
stringArrayWrappersParametersMaxCount: 2,
|
||||||
|
stringArrayWrappersType: 'variable',
|
||||||
|
stringArrayThreshold: 0.75,
|
||||||
|
target: 'browser',
|
||||||
|
transformObjectKeys: false,
|
||||||
|
unicodeEscapeSequence: false
|
||||||
|
}
|
||||||
|
`
|
||||||
|
})
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user