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

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

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

    Feeling

        三人行,必有我師焉

       ::  :: 新隨筆 :: 聯系 ::  :: 管理 ::
      185 隨筆 :: 0 文章 :: 392 評論 :: 0 Trackbacks
    現在網絡上越來越流行.net和java寫的客戶端的小應用程序,而且后綴是exe。本文討論的是如何從exe4j封裝的exe文件中將自己想要的jar抽取出來。

    exe4j一直是一種比較通用的java exe封裝工具,但是其并沒有將jar轉換為本地文件,而是將jar文件通過特殊處理后,封裝成的一個exe文件。因此只要我們了解了exe4j的原理,就可以將jar文件從exe文件中提取出來,并通過反編譯工具來查看程序代碼。

    1. 分析Exe4J,得知其在添加文件到.exe時,使用0x88將文件內容Xor,所以第一步,我們需要將原始的數據提取出來:
    import java.io.*;
    import java.util.*;

    public class gen {
        
    public static void main(String args[]) throws IOException {
            FileInputStream fin 
    = new FileInputStream(args[0]); // 可以將整個exe文件解碼
            FileOutputStream fout = new FileOutputStream(args[1]);
            BufferedInputStream bin 
    = new BufferedInputStream(fin);
            BufferedOutputStream bout 
    = new BufferedOutputStream(fout);
            
    int in = 0;
            
    do {
                in 
    = bin.read();
                
    if (in == -1)
                    
    break;
                in 
    ^= 0x88;
                bout.write(in);
            } 
    while (true);
            bin.close();
            fin.close();
            bout.close();
            fout.close();
        }
    }

    2.分析提取出來的數據文件,使用WinHex查看其16進制代碼。由于Jar文件的開頭總是PK開頭,并且總包含有manifest.mf文件,并且結尾總是有3個00,同時結尾段有整個Jar包文件的索引,我們可以根據這一特性來分析我們需要的片段。

    1、搜索Jar的manifest,然后往前找,找到的第一個PK段,即為一個Jar的開頭。
    2、查看片段里Jar里的每個class信息,直到最后的文件索引片段。
    3、一個Jar的結束片段位于索引片段之后,仍然包含著PK段,并且最后包含著3個00,且這3個00距離PK大概20個字節左右

    根據以上3條準則,足以提取整個Jar數據段,然后導入新文件中,并且以zip字段命名,嘗試用ZIP解壓縮軟件打開,看看是否抽取正確。

    需要注意的是WinHex非注冊版,只能保存280K大小的文件,更大的Jar文件,需要注冊版的WinHex才行。
    posted on 2010-08-22 01:03 三人行,必有我師焉 閱讀(6813) 評論(4)  編輯  收藏

    評論

    # re: 從exe4j生成的exe中抽取jar文件 2012-09-03 22:33 silenceleaf
    這個辦法對于新的EXE4J文件似乎已經失效了,哎……  回復  更多評論
      

    # re: 從exe4j生成的exe中抽取jar文件[未登錄] 2015-02-06 14:18 test
    成功提取  回復  更多評論
      

    # re: 從exe4j生成的exe中抽取jar文件 2015-07-23 16:50 游客
    今天使用了該方法,也成功把代碼找回來了。多些樓主。  回復  更多評論
      

    # re: 從exe4j生成的exe中抽取jar文件[未登錄] 2015-07-29 08:16 chan
    不知道用j2ewiz打包的java怎么提取呢  回復  更多評論
      


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


    網站導航:
     
    GitHub |  開源中國社區 |  maven倉庫 |  文件格式轉換 
    主站蜘蛛池模板: 亚洲日韩精品无码专区网站 | 亚洲午夜无码AV毛片久久| 97在线视频免费公开观看| 日产久久强奸免费的看| 中文字幕亚洲综合久久综合 | 免费成人高清在线视频| 国产在亚洲线视频观看| 亚洲精品123区在线观看| 久久久久亚洲AV片无码下载蜜桃| 亚洲一级特黄无码片| 日韩免费视频在线观看| 欧美好看的免费电影在线观看| 最近中文字幕免费mv在线视频| 大地资源中文在线观看免费版| 一级看片免费视频| 日日AV拍夜夜添久久免费| 久草在视频免费福利| 亚洲免费一级视频| 日韩插啊免费视频在线观看| a级大片免费观看| 羞羞视频免费网站在线看| 精品多毛少妇人妻AV免费久久| 国产亚洲精品国产福利在线观看| 亚洲youwu永久无码精品| 亚洲日韩小电影在线观看| 亚洲Av无码乱码在线观看性色| 蜜桃精品免费久久久久影院| 成全影视免费观看大全二| 成人看的午夜免费毛片| 中文字幕无码免费久久99| 精品国产无限资源免费观看| 成人免费大片免费观看网站| 国产92成人精品视频免费| 国产精品久久免费| 在线看片免费不卡人成视频| 成人片黄网站色大片免费| 四虎影视永久免费视频观看| 亚洲国产天堂久久综合| 日韩一卡2卡3卡4卡新区亚洲 | 无码人妻一区二区三区免费n鬼沢| 无码精品人妻一区二区三区免费看|