內存提取SWF,破解doswf方法概述

參考文獻:html

http://blog.ceflash.com/%E5%86%99%E7%82%B9swf%E4%BA%8C%E8%BF%9B%E5%88%B6%E7%9A%84%E4%B8%9C%E8%A5%BF/java

http://m.blog.csdn.net/blog/crazyingBird/7173445spa

http://bbs.9ria.com/thread-173116-1-1.html.net

http://my.oschina.net/zhyuliang/blog/207175code

http://stackoverflow.com/questions/13856300/converting-hexadecimal-to-byte-in-javahtm

 

步驟:blog

1. 運行HxD,打開IE的進程,就是加載了flash那個。進程

2. 到達二進制的最後一個位置,向前查找FWS。ci

3. 找到以後,簡單看下內容,符合文檔

FWS.‰œ..x.._... .....D.....C.ÿÿÿ?._œ..ˆ.'<.getSWFVersion.timeout.target.ASSetPropFlags.isConnected.ASnat

這樣的,就是一個有效開頭。

4. 向後找40 00 00 00. 而後整段複製到剪貼板。

5. 使用Java加載這段16進制,轉爲二進制:

        String hello = FileUtils.readFileToString(new File("E:\\Baiduyun\\俠物語\\新建文本文檔.txt"));

        List<Byte> b = new ArrayList<Byte>();
        for (String bbb : hello.split(" ")) {
            b.add((Byte) (byte) (int) (Integer.parseInt(bbb, 16) & 0xFF));
        }
        byte[] bbbb = new byte[b.size()];
        for (int i = 0; i < bbbb.length; i++)
            bbbb[i] = b.get(i);
        FileUtils.writeByteArrayToFile(new File("E:\\Baiduyun\\俠物語\\GameLoader.crack.swf"), bbbb);

6. 用asv2010打開,完成破解。

相關文章
相關標籤/搜索