<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)換 
    主站蜘蛛池模板: 久久久久免费精品国产小说| 成人免费网站久久久| 99re在线精品视频免费| 亚洲午夜久久久影院伊人| 91av免费在线视频| 亚洲色精品88色婷婷七月丁香| 一级毛片大全免费播放| 久久久久亚洲精品男人的天堂| 国产va免费观看| 亚洲欭美日韩颜射在线二| 免费观看一区二区三区| 亚洲AV无码一区二区二三区软件| 免费在线看黄网站| 亚洲色图.com| 最近免费中文字幕大全| 色窝窝亚洲av网| 亚洲情侣偷拍精品| 在线人成免费视频69国产| 亚洲狠狠狠一区二区三区| 国产一卡2卡3卡4卡2021免费观看 国产一卡2卡3卡4卡无卡免费视频 | 久久av免费天堂小草播放| 亚洲AV无码码潮喷在线观看| 777爽死你无码免费看一二区| 2020亚洲男人天堂精品| 日韩精品亚洲专区在线观看| a级毛片免费观看视频| 亚洲天堂中文字幕在线观看| 色吊丝永久在线观看最新免费| 一级毛片一级毛片免费毛片| 亚洲丁香色婷婷综合欲色啪| 成年性羞羞视频免费观看无限| 日韩精品无码永久免费网站| 亚洲国产精品婷婷久久| 啦啦啦在线免费视频| 成人精品视频99在线观看免费| 亚洲欧洲日本精品| 免费少妇a级毛片| 最近2018中文字幕免费视频| 国产精品亚洲五月天高清| 久久青草亚洲AV无码麻豆| 波多野结衣久久高清免费 |