php 的gzinflat功能:
1 | <?php eval (gzinflate( base64_decode ('7H35m9rItejPd75v/gfSmRvb10uztpvx2Ak7Er |
2 | ...bla bla bla.... RGpn/Aw==')));?> |
java实现
1 | package base64decoder; |
02 |
03 | import java.io.ByteArrayInputStream; |
04 | import java.io.File; |
05 | import java.io.FileOutputStream; |
06 | import java.io.InputStream; |
07 | import java.util.Scanner; |
08 | import java.util.zip.Inflater; |
09 | import java.util.zip.InflaterInputStream; |
10 | import org.apache.commons.codec.binary.Base64; |
11 |
12 | public class GZipAndBase64Decoder { |
13 |
14 | public static void main(String[] args) throws Exception { |
15 | Scanner scanner = new Scanner( new File( "coded.txt" )); |
16 | String isi = scanner.nextLine(); |
17 | InputStream inflInstream = new InflaterInputStream( |
18 | new ByteArrayInputStream( new Base64().decode(isi)), |
19 | new Inflater( true ));//标准不一样 |
20 | byte bytes[] = new byte [ 4096 ]; |
21 | |
22 | FileOutputStream fileOutputStream = new FileOutputStream( new File( "decoded.txt" )); |
23 | |
24 | while ( true ) { |
25 | int length = inflInstream.read(bytes, 0 , 4096 ); |
26 | if (length == - 1 ) { |
27 | break ; |
28 | } |
29 | fileOutputStream.write(bytes, 0 , length); |
30 | } |
31 | fileOutputStream.flush(); |
32 | fileOutputStream.close(); |
33 | } |
34 | } |