loveqq520 发表于 2024-4-4 23:12

某人之家登陆逆向分析,初学者记录!

本帖最后由 loveqq520 于 2024-4-4 23:23 编辑

自学逆向,第一次发帖,有不妥的话欢迎大佬指出
样本:5Yac5Lq65LmL5a62(小米商城下载)
工具:Eclipse (4.30.0)、JEB 4.20.0、Fiddler、MT管理器
一、初窥门径
打开fiddler,配置好代{过}{滤}理抓包,在app里选择账号密码登录,抓到如下包

可以看到抓到了登录包,点进去发现账号是明文,密码被加密了,再抓一次试试看

第二次使用相同密码发现再抓包发现密码的密文改变了,刚开始猜测是不是加了时间戳,后来发现是rsa加密,且是RSA/ECB/PKCS1Padding模式,由于填充,所以密文不一样,并查阅了资料,链接:https://blog.csdn.net/guyongqiangx/article/details/74930951
二、崭露头角
使用MT管理器提取apk,发现未加固,扔进JEB反编译根据技巧搜“password”搜索到好几个结果,一个个点进去看,发现可疑点

转化为java查看
看到这,我大致就觉得应该就是rsa加密了,这里正是登陆的Url,跟踪函数进去
三、渐入佳境

发现了key,可以看出是公钥,跟踪进去StrUtil类看看

可以看到了加密模式,这里就是将密码和公钥一起加密

自己练手就写了一下java自己实现一下
package com.frank;

import java.security.KeyFactory;
import java.security.PublicKey;
import java.security.spec.X509EncodedKeySpec;
import java.util.Base64;
import javax.crypto.Cipher;

public class RSA {
   
    public static String str_pubK = "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC7qPCn9w81CW7I9dbc+0YReFNEkiP/x7nTs5lAw+hLXmLsxNZtE/2kFN2XK3jcFOw6TSq/EbGhC9CD51q6n1B4AyfId+aGgB52ejRUrxvK+JOEWJrzXCbIOZg0QLfai+tFkmTi5jK91mQpX2di6xhiMk18gwnBmmNQQrSlEr1YgwIDAQAB";
    public static String data = "a12345678";
   
    public static PublicKey getPublicKey(String key) throws Exception {
      byte[] arr_b = Base64.getDecoder().decode(key);
      X509EncodedKeySpec keySpec = new X509EncodedKeySpec(arr_b);
      KeyFactory keyFactory = KeyFactory.getInstance("RSA");
      PublicKey publicKey= keyFactory.generatePublic(keySpec);
      return publicKey;
    }
   
    public static byte[] encryptByPublicKey(String data, PublicKey publicKey) throws Exception {
      
      Cipher cipher = Cipher.getInstance("RSA");
      cipher.init(1, publicKey);
      return cipher.doFinal(data.getBytes());
    }
   
    public static void main(String[] args) throws Exception {
      byte[] arr_b = encryptByPublicKey(data, getPublicKey(str_pubK));
      System.out.println(Base64.getEncoder().encodeToString(arr_b));
    }
}
由于每次加密都是随机的,又获取不到私钥解密,所以加密过程中有没有动过其他手脚未知

正己 发表于 2024-4-9 22:33

JIeJaitt 发表于 2024-4-9 19:21
算法助手是什么?大佬能指个路吗?我也是逆向新手

看我课程第九集

loveqq520 发表于 2024-4-5 20:14

正己 发表于 2024-4-5 18:55
像这种原生加密,直接算法助手通杀

感谢正己大佬!哈哈哈,我是觉得初学的话最好不要上来就通杀,不然可能把自己都杀斯了,我马上还要发一篇帖子,自吐脚本通杀的,马上完稿了:Dweeqw

258239234 发表于 2024-4-5 08:53

感谢楼主分享,支持一下!

seamusyang 发表于 2024-4-5 11:01

感谢分享,学习好方法

lihuhu 发表于 2024-4-5 15:11

学习学习

raykeer 发表于 2024-4-5 15:27

学习了。

正己 发表于 2024-4-5 18:55

像这种原生加密,直接算法助手通杀{:301_997:}

GoingUp 发表于 2024-4-6 07:57

8楼开始排队感谢{:1_918:}
你这已经超出很多初学者了,利害了。

忧郁之子 发表于 2024-4-6 09:33

我突然感觉自己还不如初学者{:1_907:}

西枫游戏 发表于 2024-4-6 10:49

只要公钥没啥问题,RSA加密出来的结果 再怎么变都是有效的 相信我就行
页: [1] 2 3 4
查看完整版本: 某人之家登陆逆向分析,初学者记录!