<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進制代碼。由于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)航:
    博客園   IT新聞   Chat2DB   C++博客   博問  
     
    GitHub |  開源中國社區(qū) |  maven倉庫 |  文件格式轉(zhuǎn)換 
    主站蜘蛛池模板: 亚洲欧洲免费无码| 亚洲伦理一区二区| 亚洲Av永久无码精品黑人| 国产福利在线免费| 99热亚洲色精品国产88| 一二三四视频在线观看中文版免费| 亚洲精品国产情侣av在线| 67194成手机免费观看| 亚洲国产成人精品无码一区二区| 亚洲黄色免费电影| 久久久久久亚洲精品影院| 日韩高清在线高清免费| 国产偷国产偷亚洲清高APP| 亚洲A∨精品一区二区三区| 一区二区三区精品高清视频免费在线播放 | 国产精品成人亚洲| 婷婷综合缴情亚洲狠狠尤物| 久久WWW免费人成—看片| 久久亚洲精品成人综合| 九九精品免费视频| 精品无码专区亚洲| 国产精品xxxx国产喷水亚洲国产精品无码久久一区 | 免费日韩在线视频| 波霸在线精品视频免费观看| 久久精品国产亚洲综合色| 国产黄色免费网站| 成人亚洲国产精品久久| 国产成人精品日本亚洲网站| 亚洲免费视频网址| 国产精品久久亚洲一区二区| 亚洲精品无码国产| 久九九精品免费视频| 一区二区免费国产在线观看| 亚洲美免无码中文字幕在线| 在线观看免费精品国产| 男女一边摸一边做爽的免费视频| 91嫩草私人成人亚洲影院| 国产免费看插插插视频| 日韩电影免费在线观看中文字幕 | 亚洲精品视频在线观看免费 | 亚洲国产精品婷婷久久|