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

SpringBoot 代碼混淆真香,再也不用擔心反編譯代碼泄露...

這篇具有很好參考價值的文章主要介紹了SpringBoot 代碼混淆真香,再也不用擔心反編譯代碼泄露...。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

編譯

簡單就是把代碼跑一哈,然后我們的代碼 .java文件 就被編譯成了 .class 文件

SpringBoot 代碼混淆真香,再也不用擔心反編譯代碼泄露...

反編譯

就是針對編譯生成的 jar/war 包 里面的 .class 文件 逆向還原回來,可以看到你的代碼寫的啥。

比較常用的反編譯工具 JD-GUI ,直接把編譯好的jar丟進去,大部分都能反編譯看到源碼:

SpringBoot 代碼混淆真香,再也不用擔心反編譯代碼泄露...

那如果不想給別人反編譯看自己寫的代碼呢?

怎么做?

混淆

該篇玩的代碼混淆 ,是其中一種手段。Java技術進階路線:https://www.yoodb.com/

我給你看,但你反編譯看到的不是真正的代碼。

先看一張效果示例圖 :

SpringBoot 代碼混淆真香,再也不用擔心反編譯代碼泄露...

開搞

正文

先看一下我們混淆一個項目代碼,要做啥?
SpringBoot 代碼混淆真香,再也不用擔心反編譯代碼泄露...

第一步,在項目路徑下,新增一份文件proguard.cfg:

proguard.cfg

#指定Java的版本
-target 1.8
#proguard會對代碼進行優(yōu)化壓縮,他會刪除從未使用的類或者類成員變量等
-dontshrink
#是否關閉字節(jié)碼級別的優(yōu)化,如果不開啟則設置如下配置
-dontoptimize
#混淆時不生成大小寫混合的類名,默認是可以大小寫混合
-dontusemixedcaseclassnames
# 對于類成員的命名的混淆采取唯一策略
-useuniqueclassmembernames
#混淆時不生成大小寫混合的類名,默認是可以大小寫混合
-dontusemixedcaseclassnames
#混淆類名之后,對使用Class.forName('className')之類的地方進行相應替代
-adaptclassstrings
 
#對異常、注解信息予以保留
-keepattributes Exceptions,InnerClasses,Signature,Deprecated,SourceFile,LineNumberTable,*Annotation*,EnclosingMethod
# 此選項將保存接口中的所有原始名稱(不混淆)-->
-keepnames interface ** { *; }
# 此選項將保存所有軟件包中的所有原始接口文件(不進行混淆)
#-keep interface * extends * { *; }
#保留參數(shù)名,因為控制器,或者Mybatis等接口的參數(shù)如果混淆會導致無法接受參數(shù),xml文件找不到參數(shù)
-keepparameternames
# 保留枚舉成員及方法
-keepclassmembers enum * { *; }
# 不混淆所有類,保存原始定義的注釋-
-keepclassmembers class * {
                        @org.springframework.context.annotation.Bean *;
                        @org.springframework.beans.factory.annotation.Autowired *;
                        @org.springframework.beans.factory.annotation.Value *;
                        @org.springframework.stereotype.Service *;
                        @org.springframework.stereotype.Component *;
                        }
 
#忽略warn消息
-ignorewarnings
#忽略note消息
-dontnote
#打印配置信息
-printconfiguration
-keep public class com.example.myproguarddemo.MyproguarddemoApplication {
        public static void main(java.lang.String[]);
    }

注意點:

SpringBoot 代碼混淆真香,再也不用擔心反編譯代碼泄露...

其余的看注釋,可以配置哪些類不參與混淆,哪些枚舉保留,哪些方法名不混淆等等。

第二步,在pom文件上 加入proguard 混淆插件 :

build標簽里面改動加入一下配置

<build>
    <plugins>
        <plugin>
            <groupId>com.github.wvengen</groupId>
            <artifactId>proguard-maven-plugin</artifactId>
            <version>2.6.0</version>
            <executions>
                <!-- 以下配置說明執(zhí)行mvn的package命令時候,會執(zhí)行proguard-->
                <execution>
                    <phase>package</phase>
                    <goals>
                        <goal>proguard</goal>
                    </goals>
                </execution>
            </executions>
            <configuration>
                <!-- 就是輸入Jar的名稱,我們要知道,代碼混淆其實是將一個原始的jar,生成一個混淆后的jar,那么就會有輸入輸出。 -->
                <injar>${project.build.finalName}.jar</injar>
                <!-- 輸出jar名稱,輸入輸出jar同名的時候就是覆蓋,也是比較常用的配置。 -->
                <outjar>${project.build.finalName}.jar</outjar>
                <!-- 是否混淆 默認是true -->
                <obfuscate>true</obfuscate>
                <!-- 配置一個文件,通常叫做proguard.cfg,該文件主要是配置options選項,也就是說使用proguard.cfg那么options下的所有內(nèi)容都可以移到proguard.cfg中 -->
                <proguardInclude>${project.basedir}/proguard.cfg</proguardInclude>
                <!-- 額外的jar包,通常是項目編譯所需要的jar -->
                <libs>
                    <lib>${java.home}/lib/rt.jar</lib>
                    <lib>${java.home}/lib/jce.jar</lib>
                    <lib>${java.home}/lib/jsse.jar</lib>
                </libs>
                <!-- 對輸入jar進行過濾比如,如下配置就是對META-INFO文件不處理。 -->
                <inLibsFilter>!META-INF/**,!META-INF/versions/9/**.class</inLibsFilter>
                <!-- 這是輸出路徑配置,但是要注意這個路徑必須要包括injar標簽填寫的jar -->
                <outputDirectory>${project.basedir}/target</outputDirectory>
                <!--這里特別重要,此處主要是配置混淆的一些細節(jié)選項,比如哪些類不需要混淆,哪些需要混淆-->
                <options>
                    <!-- 可以在此處寫option標簽配置,不過我上面使用了proguardInclude,故而我更喜歡在proguard.cfg中配置 -->
                </options>
            </configuration>
        </plugin>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
            <executions>
                <execution>
                    <goals>
                        <goal>repackage</goal>
                    </goals>
                    <configuration>
                        <mainClass>com.example.myproguarddemo.MyproguarddemoApplication</mainClass>
                    </configuration>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>

注意點:

SpringBoot 代碼混淆真香,再也不用擔心反編譯代碼泄露...

SpringBoot 代碼混淆真香,再也不用擔心反編譯代碼泄露...

然后可以看到:

SpringBoot 代碼混淆真香,再也不用擔心反編譯代碼泄露...

然后點擊package,正常執(zhí)行編譯打包流程就可以 :

SpringBoot 代碼混淆真香,再也不用擔心反編譯代碼泄露...

然后可以看到jar的生成:

SpringBoot 代碼混淆真香,再也不用擔心反編譯代碼泄露...

看看效果:

SpringBoot 代碼混淆真香,再也不用擔心反編譯代碼泄露...

好了,該篇就到這。文章來源地址http://www.zghlxwxcb.cn/news/detail-461312.html

到了這里,關于SpringBoot 代碼混淆真香,再也不用擔心反編譯代碼泄露...的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

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

領支付寶紅包贊助服務器費用

相關文章

  • 漏洞掃描工具大全,媽媽再也不用擔心我挖不到漏洞了

    漏洞掃描工具大全,媽媽再也不用擔心我挖不到漏洞了

    Acunetix Web Vulnerability Scanner(簡稱AWVS)是一款知名的網(wǎng)絡漏洞掃描工具,它通過網(wǎng)絡爬蟲測試你的網(wǎng)站安全,檢測流行安全漏洞。 AWVS常見功能: 網(wǎng)站爬行

    2024年02月09日
    瀏覽(24)
  • 使用ChatGPT+MindShow一鍵生成PPT,以后再也不用擔心制作PPT啦

    使用ChatGPT+MindShow一鍵生成PPT,以后再也不用擔心制作PPT啦

    ?? 作者簡介:大家好,我是阿牛,全棧領域優(yōu)質(zhì)創(chuàng)作者。?? ?? 個人主頁:館主阿牛?? ?? 支持我:點贊??+收藏??+留言?? ??格言:迄今所有人生都大寫著失敗,但不妨礙我繼續(xù)向前!?? 我們經(jīng)常會有制作ppt的需求,尤其大學里面的小組報告,什么班會團課之類的,

    2023年04月23日
    瀏覽(19)
  • 解析不同種類的StableDiffusion模型Models,再也不用擔心該用什么了

    解析不同種類的StableDiffusion模型Models,再也不用擔心該用什么了

    Stable Diffusion是一個基于Latent Diffusion Models(潛在擴散模型,LDMs)的文圖生成(text-to-image)模型。具體來說,Stable Diffusion在 LAION-5B 的一個子集上訓練了一個Latent Diffusion Models,該模型專門用于文圖生成。Latent Diffusion Models通過在一個潛在表示空間中迭代“去噪”數(shù)據(jù)來生成圖

    2023年04月19日
    瀏覽(19)
  • Z-Libary最新地址檢測,再也不用擔心找不到ZLibary了

    Z-Libary最新地址檢測,再也不用擔心找不到ZLibary了

    Z-Library。世界上最大的數(shù)字圖書館。?如果你知道了一本書的書名,那在Z-Library上基本上都可以找到進行下載, Z-Library 有很多入口,分為官方和民間鏡像。官方自己做了個跳轉(zhuǎn)站點,會自動尋找官方可用網(wǎng)站。一般用官方入口即可,但也存在所有官方入口均封閉情況,此時建議

    2024年02月08日
    瀏覽(20)
  • C語言——程序環(huán)境和預處理(再也不用擔心會忘記預處理的知識)

    C語言——程序環(huán)境和預處理(再也不用擔心會忘記預處理的知識)

    先簡單了解一下程序環(huán)境,然后詳細總結(jié)翻譯環(huán)境里的編譯和鏈接,然后在總結(jié)編譯預處理。 在 ANSI C 的任何一種實現(xiàn)中,存在兩個不同的環(huán)境 翻譯環(huán)境:這個環(huán)境中源代碼被轉(zhuǎn)換為可執(zhí)行的機器指令。 執(zhí)行環(huán)境:執(zhí)行二進制代碼。 計算機如何執(zhí)行二進制指令? 我們寫的C語

    2024年02月09日
    瀏覽(36)
  • 初識Linux(上),看了這篇文章,媽媽再也不用擔心我Linux找不到門了。

    初識Linux(上),看了這篇文章,媽媽再也不用擔心我Linux找不到門了。

    “我會定期分享我的學習經(jīng)驗,也歡迎大家留言和交流,讓我們共同學習和進步!感謝大家的支持,讓我們一起開啟這段充滿技術樂趣的旅程吧!” 系列文章 初識Linux(上).媽媽再也不用擔心我Linux找不到門了。 初識Linux(中).媽媽再也不用擔心我Linux找不到門了。 初識Linux(下

    2024年02月05日
    瀏覽(22)
  • 有了它,你再也不用擔心作曲啦!智能作曲新紀元:Suno AI引領音樂創(chuàng)作的未來之路!

    有了它,你再也不用擔心作曲啦!智能作曲新紀元:Suno AI引領音樂創(chuàng)作的未來之路!

    Suno?AI:賦予音樂無限想象,你的個人智能作曲家,讓靈感瞬間躍動成曲!?-?精選真開源,釋放新價值。 Suno?AI,這一開創(chuàng)性的人工智能音樂創(chuàng)作平臺,是由全球頂尖的科技創(chuàng)新企業(yè)Anthropic公司以及相關前沿科研團隊深度研發(fā)并精心打磨的結(jié)晶。該解決方案以革新性的視角,

    2024年04月17日
    瀏覽(22)
  • Selenium教程05:使用webdriver-manager自動下載瀏覽器驅(qū)動,再也不用擔心driver版本的問題了

    Selenium教程05:使用webdriver-manager自動下載瀏覽器驅(qū)動,再也不用擔心driver版本的問題了

    WebDriverManager是一個用于管理Web驅(qū)動程序的工具,主要用于自動化測試領域。在進行 Selenium 測試時,需要一個與瀏覽器相匹配的 Web 驅(qū)動程序,以便控制和操作瀏覽器。WebDriverManager可以自動下載和管理瀏覽器驅(qū)動程序,會自動檢測本地系統(tǒng)中安裝的瀏覽器,并下載對應的瀏覽

    2024年01月17日
    瀏覽(31)
  • 【大麥小米學量化】使用xtquant調(diào)用迅投MiniQMT客戶端定時操作逆回購,再也不擔心忘了賺零花錢了(含完整源代碼)

    前面很多人提到逆回購,但是經(jīng)常一忙就忘了收盤后下單逆回購,白給的肉又飛了。這里我們使用xtquant玩玩逆回購,代碼簡單,復制到本地,配置好即可運行,收益無負擔,送你的錢不要白不要。 簡單來講,逆回購從本質(zhì)上講是一種短期貸款,就是你把錢借給別人,獲得固

    2024年02月02日
    瀏覽(40)
  • 學會這幾招,再也不擔心電腦被黑客入侵

    學會這幾招,再也不擔心電腦被黑客入侵

    人們常說Mac不能被黑客入侵,但事實并非如此。雖然Mac可能不像Windows PC頻繁的受到攻擊,但黑客成功入侵Mac的例子有很多,從虛假程序到利用漏洞。 Windows PC比MacBook更頻繁成為目標的重要原因之一是市場占用份額。截至 2022 年,Windows 在桌面市場的操作系統(tǒng)中的全球市場份額

    2024年01月22日
    瀏覽(19)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領取紅包

二維碼2

領紅包