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

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

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

    Feeling

        三人行,必有我?guī)熝?/p>

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

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

    1. 分析Exe4J,得知其在添加文件到.exe時,使用0x88將文件內(nèi)容Xor,所以第一步,我們需要將原始的數(shù)據(jù)提取出來:
    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.分析提取出來的數(shù)據(jù)文件,使用WinHex查看其16進(jìn)制代碼。由于Jar文件的開頭總是PK開頭,并且總包含有manifest.mf文件,并且結(jié)尾總是有3個00,同時結(jié)尾段有整個Jar包文件的索引,我們可以根據(jù)這一特性來分析我們需要的片段。

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

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

    需要注意的是WinHex非注冊版,只能保存280K大小的文件,更大的Jar文件,需要注冊版的WinHex才行。

    評論

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

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

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

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


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


    網(wǎng)站導(dǎo)航:
     
    GitHub |  開源中國社區(qū) |  maven倉庫 |  文件格式轉(zhuǎn)換 
    主站蜘蛛池模板: 亚洲乱码中文论理电影| 亚洲色成人网站WWW永久| 亚洲成年人电影网站| 久9热免费精品视频在线观看| 久久久久亚洲AV无码专区桃色| 免费一级做a爰片久久毛片潮| 亚洲一区二区三区乱码A| 中文字幕在线免费播放| a级亚洲片精品久久久久久久| 国产日韩精品无码区免费专区国产 | 国产精品亚洲综合专区片高清久久久| 老司机精品视频免费| 亚洲另类少妇17p| a级毛片免费完整视频| 亚洲国产精品久久久久网站 | 免费视频成人国产精品网站| 亚洲午夜成人精品电影在线观看| 一级毛片在播放免费| 亚洲综合无码精品一区二区三区 | 国产亚洲精品国产| 91香焦国产线观看看免费| 亚洲区视频在线观看| 啦啦啦在线免费视频| 无码免费又爽又高潮喷水的视频 | 亚洲手机中文字幕| 国产免费卡一卡三卡乱码| 国产精品免费久久久久影院| 亚洲av无码专区国产乱码在线观看| 美丽姑娘免费观看在线观看中文版| 亚洲色欲色欲www| 亚洲精品老司机在线观看| 日本免费高清视频| 亚洲一线产区二线产区区| 亚洲欧洲国产精品香蕉网| 国产成人精品免费视频网页大全| 久久亚洲中文字幕无码| 国产亚洲真人做受在线观看| 一个人免费观看www视频在线| 又粗又长又爽又长黄免费视频| 亚洲人成电影福利在线播放 | 久久精品国产亚洲AV|