标签:android 反编译 mac apktool dex2jar
我在博客上发表一些我的Android学习心得,希望对大家能有帮助。
在前一章我们学习了反编译。
这一章再次学习一下两个demo。
两个demo下载地址
KeygenMe#1.apk crackme0a.apk
链接: http://pan.baidu.com/s/1kTs11Tt 密码: davk
1、首先在模拟器安装测试
由于模拟器检测不到wifi mac地址,所以会报错。
我们首先需要将检测代码跳过
先通过dex2jar和jd-gui查看源代码进行分析
查看了main.class文件中,
在public static String _activity_create(boolean paramBoolean)方法中找到了判断wifi的语句,
由于模拟器不能接入wifi网络,所以必须跳过才能继续下去
使用apktool工具反编译
通过goto :cond_1来直接跳过上面if语句,跳转到label229标签处
使用apktool和signapk.jar
重新安装后又显示检测IMEI错误
重新打开,发现通过跳转代码,再查看源代码直接就跳过了wifi验证
下面继续通过上面提示的错误信息,来进行查找
错误显示由_emulator_dete1()函数产生,在main.smali中找到此函数
跳过判断语句,添加goto语句,直接跳过判断语句,修改完成后我们进行验证破解。
由于这里需要读取key.txt文件,在解压出来的apk中没找到此文件,所以最终还是进行跳转破解了
判断函数是_check_code(),我们需要其每次进行判断都是正确
修改if-eqz为if-nez,则不管输入什么都能验证成功(除了正确的验证码)
我们第一件事情就是安装后进行初步查看
主要功能是通过输入的code来验证
下面我们通过dex2jar和jd-gui来进行查看源代码
验证的函数是validateSerial()函数
在validateSerial()函数中,最重要的是generateIDHash()函数
下面,我自己通过generateIDHash()函数编写一个注册机代码
import java.math.BigInteger;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
public class Test {
public static void main(String[] args) {
// TODO Auto-generated method stub
Test t = new Test();
System.out.println(t.generateIDHash());
}
private String generateIDHash() {
int k;
String str = "IMEI code";
MessageDigest localMessageDigest = null;
try {
localMessageDigest = MessageDigest.getInstance("MD5");
} catch (NoSuchAlgorithmException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
localMessageDigest.update(str.getBytes(), 0, str.length());
byte[] arrayOfByte1 = localMessageDigest.digest();
byte[] arrayOfByte2 = new byte[arrayOfByte1.length];
int i = 0;
int j = 0;
while (true) {
if (i >= arrayOfByte1.length)
return new BigInteger(1, arrayOfByte2).toString(16).substring(0, 15);
if (i >= -1 + arrayOfByte1.length)
k = 0;
else
k=i+1;
arrayOfByte2[j] = (byte)(arrayOfByte1[i] ^ arrayOfByte1[k]);
i += 2;
++j;
}
}
}
最开始的str是输入你自己手机的IMEI码,通过计算后会得出验证code
版权声明:本文为博主原创文章,未经博主允许不得转载。
Android学习心得(11) --- MAC下Android反编译(3)
标签:android 反编译 mac apktool dex2jar
原文地址:http://blog.csdn.net/qiyu93422/article/details/47344739