问问各位大佬一个技术问题。。

fuck520   ·   发表于 2023-6-29   ·   随便说说

出于好奇。对领克官方APP进行了一波测试。想将控制车辆的接口给抓出来,然后写个脚本挂服务器上面定时推送。无奈通过一顿操作过后。发现该APP的api接口对某些参数进行了加密操作,该加密是在APP底层操作的,目前所提取出来的有(X-SIGNATURE,x-api-signature-nonce)无奈换了个思路,准备逆一波APk。。但是一顿操作后,发现该app关键代码做了混淆处理,奈何本人对这一块不是很熟,所以想请教下坛子里的技术大佬。有擅长逆向这一块的师傅帮忙看看该签名的算法。万分感谢。。

6 条回复   |  直到 2023-8-14 | 918 次浏览

admin
发表于 2023-7-1

官方APP用了企业级加固 DEX基本上不可逆 想要逆向出来价格预计在3000 以上

还有加密算法也基本被加固到so文件 还涉及密钥等数据 

这套逆向想解开 价格超过一万

评论列表

  • 加载数据中...

编写评论内容

fuck520
发表于 2023-7-3

admin

2023-7-1

官方APP用了企业级加固 DEX基本上不可逆 想要逆向出来价格预计在3000 以上

还有加密算法也基本被加固到so文件 还涉及密钥等数据 

这套逆向想解开 价格超过一万

hook了一下有点点头绪了。密钥也拿到了。。。但是还有一些小问题。。

评论列表

  • 加载数据中...

编写评论内容

fuck520
发表于 2023-7-3

admin

2023-7-1

官方APP用了企业级加固 DEX基本上不可逆 想要逆向出来价格预计在3000 以上

还有加密算法也基本被加固到so文件 还涉及密钥等数据 

这套逆向想解开 价格超过一万

能解出签名的内容。也拿到密钥了。但是找不出签名组合的规则。只能盲猜。。

评论列表

  • 加载数据中...

编写评论内容

nxb0maqr9brn
发表于 2023-7-27


这不是按照他的拼就行了吗

评论列表

  • 加载数据中...

编写评论内容

nxb0maqr9brn
发表于 2023-7-27

public String sign(String str, Headers headers, TreeMap<String, String> treeMap, String str2, String str3, String str4, String str5, int i) throws NoSuchAlgorithmException, InvalidKeyException {

String url = getUrl(str5);
String md5 = getMD5(str2, i);
String str6 = getHeaders(headers) + "\n" + getParam(treeMap) + "\n" + md5 + str3 + "\n" + str4 + "\n" + url;
Mac instance = Mac.getInstance("HMACSHA1");
instance.init(new SecretKeySpec(str.getBytes(Charset.forName("utf-8")), "HMACSHA1"));
return Base64.encodeToString(instance.doFinal(str6.getBytes(Charset.forName("utf-8"))), 0);
}


都逆向出来了,还愁找不到算法?照着这个拼

评论列表

  • 加载数据中...

编写评论内容

fuck520
发表于 2023-8-14

nxb0maqr9brn

2023-7-27

public String sign(String str, Headers headers, TreeMap<String, String> treeMap, String str2, String str3, String str4, String str5, int i) throws NoSuchAlgorithmException, InvalidKeyException {

String url = getUrl(str5);
String md5 = getMD5(str2, i);
String str6 = getHeaders(headers) + "\n" + getParam(treeMap) + "\n" + md5 + str3 + "\n" + str4 + "\n" + url;
Mac instance = Mac.getInstance("HMACSHA1");
instance.init(new SecretKeySpec(str.getBytes(Charset.forName("utf-8")), "HMACSHA1"));
return Base64.encodeToString(instance.doFinal(str6.getBytes(Charset.forName("utf-8"))), 0);
}


都逆向出来了,还愁找不到算法?照着这个拼

老哥。能否给个联系方式进一步交流下?

评论列表

  • 加载数据中...

编写评论内容
登录后才可发表内容