|
求助,一个电子书阅读器的反向编译
求指点迷津,真的喜欢这本书~ 花了165新台币刷信用卡刷的~ |
|
求助,一个电子书阅读器的反向编译
请问高手研究的咋样啦~ |
|
求助,一个电子书阅读器的反向编译
书的目录下还有个license.txt 的文件,里面是base64加密过的内容。 反编译的jar里面有个 bouncycastle 的文件夹,是不是也用了这个算法库? |
|
求助,一个电子书阅读器的反向编译
http://pan.baidu.com/s/1ntLtmDb 已上传! 多谢! |
|
求助,一个电子书阅读器的反向编译
还有个cipher.jad 里面的内容是: // Decompiled by DJ v3.12.12.98 Copyright 2014 Atanas Neshkov Date: 2014/12/7 1:09:54 // Home Page: http://www.neshkov.com/dj.html - Check often for new version! // Decompiler options: packimports(3) package CipherClass; import java.io.*; import org.apache.commons.codec.digest.DigestUtils; import org.bouncycastle.crypto.BufferedBlockCipher; import org.bouncycastle.crypto.engines.AESFastEngine; import org.bouncycastle.crypto.modes.CBCBlockCipher; import org.bouncycastle.crypto.paddings.PaddedBufferedBlockCipher; import org.bouncycastle.crypto.params.KeyParameter; public class Cipher { public Cipher(String s) { password = s; } private void transform(boolean flag, String s, String s1) throws Exception { byte abyte0[] = DigestUtils.md5(password.getBytes("UTF-8")); PaddedBufferedBlockCipher paddedbufferedblockcipher = new PaddedBufferedBlockCipher(new CBCBlockCipher(new AESFastEngine())); paddedbufferedblockcipher.init(flag, new KeyParameter(abyte0)); FileInputStream fileinputstream = new FileInputStream(new File(s)); byte abyte1[] = new byte[0x100000]; byte abyte2[] = new byte[paddedbufferedblockcipher.getOutputSize(abyte1.length)]; FileOutputStream fileoutputstream = new FileOutputStream(s1); do { int j; do { int i = fileinputstream.read(abyte1); if(i == -1) { int k = paddedbufferedblockcipher.doFinal(abyte2, 0); if(k > 0) fileoutputstream.write(abyte2, 0, k); fileinputstream.close(); fileoutputstream.close(); return; } j = paddedbufferedblockcipher.processBytes(abyte1, 0, i, abyte2, 0); } while(j <= 0); fileoutputstream.write(abyte2, 0, j); } while(true); } private byte[] transformXRML(boolean flag, byte abyte0[]) throws Exception { byte abyte1[] = DigestUtils.md5(password.getBytes("UTF-8")); PaddedBufferedBlockCipher paddedbufferedblockcipher = new PaddedBufferedBlockCipher(new CBCBlockCipher(new AESFastEngine())); paddedbufferedblockcipher.init(flag, new KeyParameter(abyte1)); ByteArrayInputStream bytearrayinputstream = new ByteArrayInputStream(abyte0); ByteArrayOutputStream bytearrayoutputstream = new ByteArrayOutputStream(); byte abyte2[] = new byte[1024]; byte abyte3[] = new byte[paddedbufferedblockcipher.getOutputSize(abyte2.length)]; do { int j; do { int i = bytearrayinputstream.read(abyte2); if(i <= -1) { int k = paddedbufferedblockcipher.doFinal(abyte3, 0); if(k > 0) bytearrayoutputstream.write(abyte3, 0, k); return bytearrayoutputstream.toByteArray(); } j = paddedbufferedblockcipher.processBytes(abyte2, 0, i, abyte3, 0); } while(j <= 0); bytearrayoutputstream.write(abyte3, 0, j); } while(true); } public void decrypt(String s, String s1) throws Exception { transform(false, s, s1); } public byte[] decryptXRML(byte abyte0[]) throws Exception { return transformXRML(false, abyte0); } public void encrypt(String s, String s1) throws Exception { transform(true, s, s1); } private final String password; } |
|
求助,一个电子书阅读器的反向编译
这种pdf 用base64加密,解密的基本思路是怎样呢? 是不是比当当的加密方式还要简单些? |
|
求助,一个电子书阅读器的反向编译
[QUOTE=qqsunqiang;1336313]byte abyte0[] = Base64.decode(s); Cipher cipher = new Cipher(s1); try { xrml = new String(cipher.decryptXRML(abyte0), "UTF-8"); base64加密 ...[/QUOTE] 感谢回复,已上传到快传, 其中22.jar是对apk反向编译生成的jar文件,反向编译用的是dex2jar,我也附上了udn读书吧的apk安装包,以及电子书pdf和epub http://kuai.xunlei.com/d/400lAH-.GNeDVAQA85b |
|
[原创]新人转正贴
恭喜楼主,新人也来报道!希望多多交流,学到真知识 |
|
[求助]学脱UPX壳,有问题请大大帮助
请问如何找出真实的入口点,怎么附加数据呢 |
操作理由
RANk
{{ user_info.golds == '' ? 0 : user_info.golds }}
雪币
{{ experience }}
课程经验
{{ score }}
学习收益
{{study_duration_fmt}}
学习时长
基本信息
荣誉称号:
{{ honorary_title }}
能力排名:
No.{{ rank_num }}
等 级:
LV{{ rank_lv-100 }}
活跃值:
在线值:
浏览人数:{{ visits }}
最近活跃:{{ last_active_time }}
注册时间:{{ user_info.create_date_jsonfmt }}
勋章
兑换勋章
证书
证书查询 >
能力值