国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

vite下javascript-obfuscator 代碼混淆

這篇具有很好參考價值的文章主要介紹了vite下javascript-obfuscator 代碼混淆。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

1.Vite混淆處理

項目環(huán)境:Vue3+Vite

1、安裝
yarn add --dev rollup-plugin-obfuscator javascript-obfuscator

或者

npm install --save-dev rollup-plugin-obfuscator javascript-obfuscator
在打包時候還會報錯,需要安裝下面的依賴
yarn add javascript-obfuscator -D
2、引入

在vite.config.ts中引入插件,并進(jìn)行設(shè)置

import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import obfuscator from 'rollup-plugin-obfuscator';
export default defineConfig({
  // base: "",
  build: {
    minify: 'esbuild', // 默認(rèn)
  },
  esbuild: {
    drop: ['console', 'debugger'],//打包去除
  },
  plugins: [
    vue(),
    obfuscator({
      global:false,
      // options配置項實際為 javascript-obfuscator 選項,具體可查看https://github.com/javascript-obfuscator/javascript-obfuscator
      options: {
        compact: true,
	      controlFlowFlattening: true,
	      deadCodeInjection: true,
	      debugProtection: true,
	      debugProtectionInterval: 0,
	      disableConsoleOutput: false,
	      identifierNamesGenerator: "hexadecimal",
	      log: false,
	      numbersToExpressions: false,
	      renameGlobals: false,
	      selfDefending: false,
	      simplify: true,
	      splitStrings: false,
	      stringArray: true,
	      stringArrayCallsTransform: false,
	      stringArrayCallsTransformThreshold: 0.5,
	      stringArrayEncoding: [],
	      stringArrayIndexShift: true,
	      stringArrayRotate: true,
	      stringArrayShuffle: true,
	      stringArrayWrappersCount: 1,
	      stringArrayWrappersChainedCalls: true,
	      stringArrayWrappersParametersMaxCount: 2,
	      stringArrayWrappersType: "variable",
	      stringArrayThreshold: 0.75,
	      unicodeEscapeSequence: false,
      }
    })
  ]
})

3、配置項解釋

關(guān)于 rollup-plugin-obfuscator 插件的配置選項列表,每個選項都用于定制代碼混淆和壓縮的方式??梢詤⒖磈avascript-obfuscator 的配置表

4.官方推薦的幾種配置

1.高混淆,低性能。性能會比沒有混淆的時候慢很多

{
    compact: true,
    controlFlowFlattening: true,
    controlFlowFlatteningThreshold: 1,
    deadCodeInjection: true,
    deadCodeInjectionThreshold: 1,
    debugProtection: true,
    debugProtectionInterval: 4000,
    disableConsoleOutput: true,
    identifierNamesGenerator: 'hexadecimal',
    log: false,
    numbersToExpressions: true,
    renameGlobals: false,
    selfDefending: true,
    simplify: true,
    splitStrings: true,
    splitStringsChunkLength: 5,
    stringArray: true,
    stringArrayCallsTransform: true,
    stringArrayEncoding: ['rc4'],
    stringArrayIndexShift: true,
    stringArrayRotate: true,
    stringArrayShuffle: true,
    stringArrayWrappersCount: 5,
    stringArrayWrappersChainedCalls: true,    
    stringArrayWrappersParametersMaxCount: 5,
    stringArrayWrappersType: 'function',
    stringArrayThreshold: 1,
    transformObjectKeys: true,
    unicodeEscapeSequence: false
}

2.中等混淆,最佳性能。性能會比沒有混淆時慢

{
    compact: true,
    controlFlowFlattening: true,
    controlFlowFlatteningThreshold: 0.75,
    deadCodeInjection: true,
    deadCodeInjectionThreshold: 0.4,
    debugProtection: false,
    debugProtectionInterval: 0,
    disableConsoleOutput: true,
    identifierNamesGenerator: 'hexadecimal',
    log: false,
    numbersToExpressions: true,
    renameGlobals: false,
    selfDefending: true,
    simplify: true,
    splitStrings: true,
    splitStringsChunkLength: 10,
    stringArray: true,
    stringArrayCallsTransform: true,
    stringArrayCallsTransformThreshold: 0.75,
    stringArrayEncoding: ['base64'],
    stringArrayIndexShift: true,
    stringArrayRotate: true,
    stringArrayShuffle: true,
    stringArrayWrappersCount: 2,
    stringArrayWrappersChainedCalls: true,
    stringArrayWrappersParametersMaxCount: 4,
    stringArrayWrappersType: 'function',
    stringArrayThreshold: 0.75,
    transformObjectKeys: true,
    unicodeEscapeSequence: false
}

3.低混淆、高性能。表現(xiàn)會處于比較正常的水平

{
    compact: true,
    controlFlowFlattening: false,
    deadCodeInjection: false,
    debugProtection: false,
    debugProtectionInterval: 0,
    disableConsoleOutput: true,
    identifierNamesGenerator: 'hexadecimal',
    log: false,
    numbersToExpressions: false,
    renameGlobals: false,
    selfDefending: true,
    simplify: true,
    splitStrings: false,
    stringArray: true,
    stringArrayCallsTransform: false,
    stringArrayEncoding: [],
    stringArrayIndexShift: true,
    stringArrayRotate: true,
    stringArrayShuffle: true,
    stringArrayWrappersCount: 1,
    stringArrayWrappersChainedCalls: true,
    stringArrayWrappersParametersMaxCount: 2,
    stringArrayWrappersType: 'variable',
    stringArrayThreshold: 0.75,
    unicodeEscapeSequence: false
}

4.默認(rèn)預(yù)設(shè),高性能文章來源地址http://www.zghlxwxcb.cn/news/detail-825339.html

{
    compact: true,
    controlFlowFlattening: false,
    deadCodeInjection: false,
    debugProtection: false,
    debugProtectionInterval: 0,
    disableConsoleOutput: false,
    identifierNamesGenerator: 'hexadecimal',
    log: false,
    numbersToExpressions: false,
    renameGlobals: false,
    selfDefending: false,
    simplify: true,
    splitStrings: false,
    stringArray: true,
    stringArrayCallsTransform: false,
    stringArrayCallsTransformThreshold: 0.5,
    stringArrayEncoding: [],
    stringArrayIndexShift: true,
    stringArrayRotate: true,
    stringArrayShuffle: true,
    stringArrayWrappersCount: 1,
    stringArrayWrappersChainedCalls: true,
    stringArrayWrappersParametersMaxCount: 2,
    stringArrayWrappersType: 'variable',
    stringArrayThreshold: 0.75,
    unicodeEscapeSequence: false
}

到了這里,關(guān)于vite下javascript-obfuscator 代碼混淆的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • uniapp之通過vue-cli命令行創(chuàng)建Vue3/Vite版,JavaScript開發(fā),引入uni-ui擴展組件

    注意: Vue3/Vite版要求 node 版本^14.18.0 || =16.0.0 如果使用 HBuilderX(3.6.7以下版本)運行 Vue3/Vite 創(chuàng)建的最新的 cli 工程,需要在 HBuilderX 運行配置最底部設(shè)置 node路徑 為自己本機高版本 node 路徑(注意需要重啟 HBuilderX 才可以生效) HBuilderX Mac 版本菜單欄左上角 HBuilderX-偏好設(shè)置

    2024年02月12日
    瀏覽(91)
  • vue3 + vite 性能優(yōu)化,詳細(xì)代碼說明

    對于Vue 3和Vite應(yīng)用的性能優(yōu)化,以下是一些常見的技巧和建議: 使用Tree-shaking:Vue 3和Vite支持ES模塊的靜態(tài)分析,因此可以利用Tree-shaking特性,只引入項目中實際使用的模塊,減少打包體積。 懶加載路由:使用Vue Router的動態(tài)導(dǎo)入功能,將路由按需加載,可以減少初始加載的

    2024年02月02日
    瀏覽(57)
  • JavaScript混淆加密

    什么是JS混淆加密? JavaScript混淆加密是一種通過對源代碼進(jìn)行變換,使其變得難以理解和分析的技術(shù)。它的目標(biāo)是增加攻擊者破解代碼的難度,同時保持代碼的功能不受影響?;煜用艿哪康氖鞘勾a難以逆向工程,從而防止攻擊者竊取知識產(chǎn)權(quán)或利用漏洞對應(yīng)用程序進(jìn)行攻

    2024年02月09日
    瀏覽(24)
  • Vue3+Vite+TS項目集成ESlint +Prettier實現(xiàn)代碼規(guī)范檢查和代碼格式化

    Vue3+Vite+TS項目集成ESlint +Prettier實現(xiàn)代碼規(guī)范檢查和代碼格式化

    我在這里直接是通過vite提供的默認(rèn)模板來創(chuàng)建一個vue3?+ ts的項目。這里可以cmd,然后npm -v來查看版本。 這樣一個vue3 + ts的項目就創(chuàng)建好了,使用vscode打開該項目,然后執(zhí)行 yarn 安裝依賴 依賴安裝完成后,執(zhí)行?? yarn dev ?啟動項目就可以在瀏覽器中正常訪問了。 ? 初始化

    2024年01月24日
    瀏覽(30)
  • Vite4+Typescript+Vue3+Pinia 從零搭建(4) - 代碼規(guī)范

    項目代碼同步至碼云 weiz-vue3-template 要求代碼規(guī)范,主要是為了提高多人協(xié)同和代碼維護效率,結(jié)合到此項目,具體工作就是為項目配置 eslint 和 prettier 。 安裝 EditorConfig for VS Code 插件,根目錄下新建 .editorconfig 文件,增加以下配置 如果是非windows系統(tǒng), end_of_line 設(shè)置為 cr 安

    2024年02月05日
    瀏覽(92)
  • vite 創(chuàng)建vue3項目,使用 Prettier 統(tǒng)一格式化代碼,集成 ESLint、Stylelint 代碼校驗規(guī)范

    vite 創(chuàng)建vue3項目,使用 Prettier 統(tǒng)一格式化代碼,集成 ESLint、Stylelint 代碼校驗規(guī)范

    在團隊開發(fā)中,保持代碼風(fēng)格的一致性和代碼質(zhì)量的高度,對于項目的可維護性和可讀性非常重要。為了實現(xiàn)這一目標(biāo),我們可以使用工具來自動格式化代碼并進(jìn)行代碼校驗,在開發(fā)過程中捕獲潛在的問題,并提供修復(fù)建議。 本示例中,我們將使用 Vite 來創(chuàng)建一個新的 Vue

    2024年04月28日
    瀏覽(24)
  • uniapp+vite+vue3+ts配置eslint代碼檢查及prettier規(guī)范檢查

    uniapp+vite+vue3+ts配置eslint代碼檢查及prettier規(guī)范檢查

    首先要知道eslint與prettier的區(qū)別,ESLint 是一個用于檢測?JavaScript?代碼中的錯誤和潛在問題的工具。它只關(guān)注你寫的代碼是否正確,不會管你代碼的格式;Prettier 則是一個代碼格式化工具,它旨在確保代碼在縮進(jìn)、空格、換行、引號和分號等格式化方面遵循一致的規(guī)則,在

    2024年03月16日
    瀏覽(42)
  • Vite + Vue3 + Ts 解決打包生成的index.html頁面顯示空白、資源跨域、找不到資源、404-Page Not Found等錯誤;關(guān)于vite build后訪問報錯
關(guān)于vite build后訪問報錯:Expected a JavaScript module script but the server responded with a MIME type of “

    Vite + Vue3 + Ts 解決打包生成的index.html頁面顯示空白、資源跨域、找不到資源、404-Page Not Found等錯誤;關(guān)于vite build后訪問報錯 關(guān)于vite build后訪問報錯:Expected a JavaScript module script but the server responded with a MIME type of “

    一.vite.config.ts配置:主要的就是base: env.VITE_MODE === \\\'production\\\' ? \\\'./\\\' : \\\'/\\\', 二. 打包后的結(jié)果如圖所示,文件路徑是 ./ 其實 去掉./ 也 是可以 的,但是打包后是 /favicon.ico 這種路徑是訪問不到的,參考第一部分 三. 配置路由:路由改成?createWebHashHistory? ?四. vscode安裝Live Server? ?

    2024年02月11日
    瀏覽(23)
  • 代碼混淆與反混淆學(xué)習(xí)-第二彈

    代碼混淆與反混淆學(xué)習(xí)-第二彈

    deflat腳本鏈接:GitHub - cq674350529/deflat: use angr to deobfuscation 這里以代碼混淆與反混淆學(xué)習(xí)-第一彈中的OLLVM 混淆樣本為例進(jìn)行去除?!綥LVM-4.0】 控制流平坦前 控制流平坦后 python deflat.py --file main-bcf --addr 0x401180 deflat.py 成功去除后效果: 去混淆后,效果還算可以,能分析程序流程

    2023年04月09日
    瀏覽(43)
  • android 混淆規(guī)則作用,Android代碼混淆詳解

    一、混淆的意義 混淆代碼并不是讓代碼無法被反編譯,而是將代碼中的類、方法、變量等信息進(jìn)行重命名,把它們改成一些毫無意義的名字,同時也可以移除未被使用的類、方法、變量等。 所以直觀的看,通過混淆可以提高程序的安全性,增加逆向工程的難度,同時也有效

    2024年03月09日
    瀏覽(23)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包