已经快一周了 就差最后的签名校验了 怀疑是在so文件中做的签名校验
一开始我以为是在java层做的签名校验,全局搜索signature找到这里调用系统的获取签名的方法。修改后发现不行, 在这里下了断点后调试发现根本没有在这里停下来过。就怀疑是.so文件做校验处理。
只有一个.so 文件,另一个是空的
拖到ida里面看export表里的函数名,好家伙都是天文(小菜鸡一个。。)
看论坛里的教程搜索signature来到这个位置
同样把BEQ跳转改了一下还是不行。。。最后实在没有法子了想求助一下论坛的大佬们,有没有什么思路
应用链接:
链接:https://pan.baidu.com/s/1HnOPbkcp1ENlMqXtHJGCAQ
提取码:o6yr
复制这段内容后打开百度网盘手机App,操作更方便哦 我还是帮你hook好了
https://qoop.lanzouj.com/itWLVln5rbc 像这个一键hook不行吗?没必要手改那么麻烦 芽衣 发表于 2021-2-13 16:44
像这个一键hook不行吗?没必要手改那么麻烦
一键hook是编xposed模块吗? 如果那样子的话给别人用的话不就是对方手机要root 470798745 发表于 2021-2-13 19:52
一键hook是编xposed模块吗? 如果那样子的话给别人用的话不就是对方手机要root
不是啊,安卓有很多工具可以一键hook签名的,mt管理器或者np管理器都可以。 而且我看你给的那个so图表,感觉像是获取签名的函数,这里不能改的,你应该找一下调用。 运行后不是有签名被篡改的提示吗,这个提示是在com/uzmap/pkg/uzcore/r$a.smali显示的,去那里找找线索吧 lies2014 发表于 2021-2-13 21:32
运行后不是有签名被篡改的提示吗,这个提示是在com/uzmap/pkg/uzcore/r$a.smali显示的,去那里找找线索吧
这里我已经排查过了,在这个入口之前就有做签名的判断了,这里只是做一个错误的输出,我尝试过用没有签名的版本是不会走到这里的。。而且这个是一个单独的线程,找不到调用的位置。 芽衣 发表于 2021-2-13 21:24
而且我看你给的那个so图表,感觉像是获取签名的函数,这里不能改的,你应该找一下调用。
调用的位置都被混淆了。。我看不出是什么意思
部分代码:
package com.uzmap.pkg.uzcore.external;
import com.uzmap.pkg.uzapp.d;
/* access modifiers changed from: package-private */
public final class Enslecb {
static {
System.loadLibrary("sec");
}
private Enslecb() {
}
private static native String bbs(byte[] bArr, int i);
private static native String bmd(byte[] bArr, int i);
private static native String bs(String str, int i);
private static native String km(Object obj);
private static native String md(String str, int i);
private static native String oc(Object obj);
private static native String og();
private static native byte[] oh(byte[] bArr, String str);
private static native byte[] ohs(byte[] bArr, String str);
private static native String pm(Object obj);
private static native byte[] rc(byte[] bArr, String str);
private static native boolean sm(Object obj);
protected static synchronized String xbde(byte[] b) {
String bbs;
synchronized (Enslecb.class) {
bbs = b == null ? "" : bbs(b, 1);
}
return bbs;
}
protected static synchronized String xben(byte[] b) {
String bbs;
synchronized (Enslecb.class) {
bbs = b == null ? "" : bbs(b, 0);
}
return bbs;
}
protected static synchronized String xbmd(byte[] b, int h) {
String bmd;
synchronized (Enslecb.class) {
bmd = b == null ? "" : bmd(b, h);
}
return bmd;
}
protected static synchronized String xde(String s) {
String bs;
synchronized (Enslecb.class) {
if (s == null) {
s = "";
}
bs = bs(s, 1);
}
return bs;
}
芽衣 发表于 2021-2-13 22:06
我还是帮你hook好了
https://qoop.lanzouj.com/itWLVln5rbc
万分感谢!但是我还是想知道您是用什么hook呢? 想学习一下
页:
[1]
2