<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倉庫 |  文件格式轉換 
    主站蜘蛛池模板: 亚洲最新黄色网址| 99久久亚洲精品无码毛片| 久久亚洲精品成人无码| 国产va免费精品观看精品| 亚洲黄色在线视频| 成人黄色免费网址| 亚洲自国产拍揄拍| 女人被弄到高潮的免费视频| 亚洲sss综合天堂久久久| 成人免费毛片观看| 美女被羞羞网站免费下载| 亚洲AV伊人久久青青草原| 一级视频在线免费观看| 国产a v无码专区亚洲av| 最新亚洲成av人免费看| 久久亚洲私人国产精品vA| 国产免费AV片在线播放唯爱网| 日本亚洲色大成网站www久久 | 亚洲人成人伊人成综合网无码| 午夜老司机免费视频| 免费无码午夜福利片69| 亚洲乱码中文字幕久久孕妇黑人| 黄色免费在线网站| 亚洲av午夜精品无码专区| 吃奶摸下高潮60分钟免费视频| 好吊色永久免费视频大全| 亚洲国产一区国产亚洲| 在线观看免费毛片| 久久久久久毛片免费看| 亚洲国产精品久久丫| 国产乱弄免费视频| 日韩免费人妻AV无码专区蜜桃| 亚洲中文字幕乱码AV波多JI | 国产无遮挡吃胸膜奶免费看视频| 一级一级一片免费高清| 亚洲精品成人久久| 亚洲成人高清在线| 国产国产人免费视频成69堂| 真人无码作爱免费视频| 亚洲首页在线观看| 亚洲AⅤ永久无码精品AA|