<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    BlogJava 聯系 聚合 管理  

    Blog Stats

    隨筆檔案

    exams


    java世界

    世界Java

    首先我們來看看Java程序的反加密,也就是通常所說的Crack過程,只有明白了這個過程,我們才能有效的對我們的程序進行加密。

    通常我們得到的Java程序的Crack包有兩種,一種屬于KeyGen(注冊碼生成器)、一種屬于替換修改;

    我們先看第一種,當我們找到一個應用程序的KeyGen的時候我們總是很佩服那個做出KeyGen的人,覺得他很厲害,但是你仔細分析一下,為什么他能做出KeyGen呢?只有
    他對這個Java程序的加密算法了解的非常清楚;這種人有哪些呢?一個是那個公司里面的人,那不可能,除非內訌,還又呢,就是猜想,反推,這個可能嗎?呵呵,更不可能,那這個算法從哪里來呢?呵呵,往往泄漏秘密的就是秘密本身……回過頭來想想,Java應用程序怎么知道你輸入的注冊碼是否正確呢?呵呵,那你就該從應用程序入手……
    得到的它的加密算法,自然KeyGen就不在話下了……(但是這也有列外,如果它是用的公鑰秘鑰對加密的,就沒有辦法嘍,只能用第二種方法。)

    這種辦法只適合對付只要一個注冊號,別的什么都不要的情況,經典代表Borland JBuilder & Optimizeit Suite

    再看第二種,為什么要用替換修改?我們是修改了那部分呢?不用想,肯定是License驗證的部分,為什么我們不像上面的方法那樣找加密算法呢?原因有兩種:(1)使用上面的辦法搞不定;(2)Java程序不僅要Key,還有其他的License配置;遇到這種情況,我們只要找到用于License驗證的類,進行修改替換就行了。

    這種辦法使用于任何情況,經典代表BEA WebLogic

    經過上面的分析,我們的問題就集中了,關鍵就是怎么找到用于License驗證的部分或加密算法的部分,我們需要3個工具:一個是Sun公司提供的標準JVM:),一個是你
    的耐心和細心:),一個是Jad(經典Java反編譯工具)。

    第一步是定位,這也是最關鍵的一步,我們這里以Together For JBuilder Edition為例,啟動Together,先看看長什么樣子?喔,上來就問我要License;Ok,
    每關系,退出;找到Together的啟動Bat文件,找到它的啟動命令:java .....,OK,在Java啟動的時候給一個參數:“ -Xrunhprof:cpu=times”,保存,在啟動,還是要
    License,退出,這個時候,我們可以發現,在這個目錄下多了一個“java.hprof.txt”文件,打開一看,就是我要的JVM的Dump文件,好多內容啊,沒關系,慢慢看來。

    我們可以看見這個文件里面有好多熟悉的東西?。簀ava.*/com.sun.*/javax.*等等,但這個不是我們關心的,我們要的是com.togethersoft.*或者是一些沒有包名的zd.d等等。(這里插一句,幾乎所有的Java應用程序都會混淆的,其實混淆的原理也很簡單,我們后面再說。)先找找有沒有License有關的,Serach一下,嘿嘿,果然,474行:com.togethersoft.together.impl.ide.license.LicenseSetup.execute([DashoPro-V2-050200]:Unknown line),Ok上那堆classpath中的Jar包里面找一下吧(推薦用WinRAR),找到了之后用Jad反編譯,一看,這個沒有混淆,但是用了一個zae的類,這個看名字就知道混淆過了,先不理它,再看看下面一句IdeLicenseAccess.setLicense(zae1),Ok接著找到IdeLicenseAccess,哈哈,就這點名堂,所有的License驗證都是走的這個類,面向對象的思想不錯,呵呵:)

    定位定完了,接下來的事情就是按猜想的方法修改這兩個類,屏蔽掉LicenseSetup里面execute方法的實際內容,修改IdeLicenseAccess,讓多有的驗證都返回true,然后編譯,替換;不要高興太早,這還沒有完呢,要有責任心?。覶ogether,果然,這下不要License了,有啟動畫面,進去了,但是一片灰色,怎么回事,一看控制臺,一堆錯,沒關系,就怕不出錯,查找根源,還有一個IdeLicenseUtil類出了問題,再反編譯,修改,替換;這下搞定了。再啟動,測試一下,OK MB7-222 70-210 1Y0-327 。

    就這樣,一個Java應用程序搞定了??纯雌鋵嵰埠芎唵巍?/p>

    再來說說混淆,大家可能都知道沒有經過混淆的Java的Class反編譯回來連方法和變量的名字都不會變,這是什么原因呢?這就要追述到Class文件的結構了,簡單來說,Class文件種包含又一個常數池(constant pool)這個里面就存放了變量和方法的名稱等一下和Class相關的東西,我們通常所說的混淆就是用一種工具把這個常數池里面的東東弄的胡涂一點,這樣就能騙過反編譯器和你,呵呵:)這就是為什么有時候反編譯回來的東西編譯不過去的原因。

    再回過頭來說說Java程序的加密;從上面的兩種方法來看,Java程序似乎是沒有什么完美的辦法進行加密的,其實不然,我們必須遵循一些原則,才能有效的保護你的產品。

    原則一,盡量使用公鑰和秘鑰對進行加密;
    原則二,不要在加密驗證的部分使用面向對象思想:)把驗證的方法寫在程序的各個角落,并標注為private final void,讓編譯器替你處理成內聯方法;
    原則三,盡可能的大幅度混淆:)找個好點的混淆器

    posted on 2008-01-03 17:51 java2java 閱讀(5411) 評論(5)  編輯  收藏

    評論

    # re: Java程序的加密和反加密[未登錄] 2008-01-03 23:06 彈弓
    赫赫 。。把class給你加密了,就Over了,看你怎莫辦。  回復  更多評論
      

    # re: Java程序的加密和反加密 2008-01-03 23:35 wǒ愛伱--咾婆
    哈哈..我去仔細研究下才好  回復  更多評論
      

    # re: Java程序的加密和反加密 2008-01-05 22:48 Jay
    好文章,深入淺出!  回復  更多評論
      

    # re: Java程序的加密和反加密 2008-01-07 14:02 良少
    "盡量使用公鑰和秘鑰對進行加密"
    有用嗎?
    我只要找到main那個執行類,把ClassLoader類找出來,改掉,讓她把生成的byte數組保存到文本文件中,我就可以得到解密以后的Java的.class文件了。
    然后再反編譯,不久可以知道java的源代碼了?!  回復  更多評論
      

    # re: Java程序的加密和反加密 2010-05-05 11:25 gml
    眾所周知,java開發語言提供了很方便的開發平臺,開發出來的程序很容易在不同的平臺上被移植,現在越來越多的人使用它來開發軟件,與.net語言并駕齊驅。Java有它方便的一面,同時也給開發者帶來了一個不小的煩惱,就是保護程序代碼變得困難,因為java語言編譯和代碼執行的特殊性,目前,除了深圳海之博提供的HASP外,還沒有一個更好的解決辦法或保護方案,但如果不采取有力的措施,則自己辛辛苦苦開發出來的程序很容易被人復制而據為己有,一般情況下,大多數的人都是用混編器(java obfuscator)來把開發出來的程序進行打亂,以想達到防止反編譯的目的,但是,這種方法在網上很容易找到相關的軟件來重新整理,那么這個混編器工具也只能控制一些本來就沒有辦法的人,而對于稍懂工具的人幾乎是透明的,沒有任何意義。再說硬件加密鎖,大多數廠商提供的加密鎖只能進行dll的連接或簡單的api調用,只要簡單地反編譯,就很容易把api去掉,這樣加密鎖根本起不了作用,那到底是否還有更好的解決辦法呢? 現提供2種解決辦法:詳情請點擊,http://www.chinahasp.com/jiejufa.asp?id=3。聯系人:高美林,電話:0755-25502212,手機:13682595010,歡迎來電垂詢。
      回復  更多評論
      


    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 亚洲中文字幕日产乱码高清app| 久久久久久久久免费看无码| 亚洲?V无码乱码国产精品| 亚洲色无码专区一区| 国产一精品一AV一免费孕妇| 亚洲一日韩欧美中文字幕在线| 97无码免费人妻超级碰碰夜夜 | a级大片免费观看| 亚洲一区中文字幕在线观看| 人妻无码久久一区二区三区免费 | 国产激情久久久久影院老熟女免费| 亚洲不卡AV影片在线播放| 免费精品视频在线| 伊人婷婷综合缴情亚洲五月| 久久精品国产免费一区| 777亚洲精品乱码久久久久久 | 无码精品国产一区二区三区免费| 久久久无码精品亚洲日韩蜜臀浪潮| 亚洲av永久无码一区二区三区| 国产午夜鲁丝片AV无码免费| 国产亚洲日韩在线a不卡| 国产精品亚洲w码日韩中文| 玖玖在线免费视频| 亚洲最大视频网站| 成年女人午夜毛片免费看| 免费观看亚洲人成网站| 亚洲人成图片小说网站| 国产成人亚洲精品电影| 中文字幕亚洲电影| 最近免费mv在线电影| 亚洲另类自拍丝袜第五页 | 久久久亚洲欧洲日产国码是AV| 成视频年人黄网站免费视频| 特级一级毛片免费看| 亚洲AV美女一区二区三区| 波多野结衣在线免费视频| 国产成人综合久久精品亚洲| 亚洲国产女人aaa毛片在线| 永久黄网站色视频免费| 亚洲伦理一二三四| **实干一级毛片aa免费|