一螃概、準(zhǔn)備工作
1、JEB 版本 2.2.7 鸽疾,說明: 不是此版本的請自行采坑吊洼,坑坑更健康!V瓢埂冒窍!
2、app名稱 : 5aSp5rav56S+5Yy6YXBwIOeJiOacrOWPtyA3LjAuMQ==
3豺鼻、app下載鏈接 :?aHR0cDovL3d3dy50aWFueWEuY24vbW9iaWxlLw==
4综液、雷電模擬器
二、抓包分析儒飒,本次目標(biāo)?dPassword? 就是它了
三谬莹、Jeb分析
1、=========================================================
public static ClientRecvObject a(Context arg11,? 此處交叉引用即可
2桩了、=========================================================
3附帽、=========================================================
4、=========================================================
5井誉、=========================================================
四蕉扮、Jeb動(dòng)態(tài)調(diào)試
1、這個(gè)方法送悔,按Q跳轉(zhuǎn)到 smali 代碼處慢显,按Ctrl+B 打斷點(diǎn) 也是 取消斷點(diǎn)
2、Debugger ----> start?
選擇模擬器????搜索包名????附加進(jìn)程????進(jìn)入即可
3欠啤、手機(jī)界面點(diǎn)擊登錄? 密碼 123456?
4荚藻、出現(xiàn)箭頭 斷到此處
5、VM/Locals? 修改 Type? :? ?int 為 string
DESede 密碼? V3? :tianyaiphone and android
登錄? ? ? ?密碼? V4? :123456
五洁段、最終加密代碼
package com.jeb;
import javax.crypto.Cipher;
import javax.crypto.spec.SecretKeySpec;
import java.security.Key;
public class tianya {
? ? public static void main(String[] args) {
? ? ? ? String arg3 = "tianyaiphone and android";
? ? ? ? String arg4 = "123456";
? ? ? ? String dPassword = encrypt(arg3, arg4);
? ? ? ? System.out.println("dPassword : " + dPassword);
? ? ? ? // dPassword : DEF410FD8D3D687C
? ? }
? ? public static String encrypt(String arg3, String arg4) {
? ? ? ? String v1 = null;
? ? ? ? if(arg4 != null && arg3 != null) {
? ? ? ? ? ? byte[] v0 = a1(arg3, arg4.getBytes());
? ? ? ? ? ? if(v0 != null) {
? ? ? ? ? ? ? ? v1 = a3(v0);
? ? ? ? ? ? }
? ? ? ? }
? ? ? ? return v1;
? ? }
? ? public static byte[] a1(String arg2, byte[] arg3) {
? ? ? ? return a2(arg2.getBytes(), arg3);
? ? }
? ? public static byte[] a2(byte[] arg6, byte[] arg7) {
? ? ? ? try {
? ? ? ? ? ? SecretKeySpec v1 = new SecretKeySpec(arg6, "DESede");
? ? ? ? ? ? Cipher v0 = Cipher.getInstance("DESede");
? ? ? ? ? ? v0.init(1, ((Key)v1));
? ? ? ? ? ? byte[] v5 = v0.doFinal(arg7);
? ? ? ? ? ? return v5;
? ? ? ? }
? ? ? ? catch(Exception v4) {
? ? ? ? ? ? v4.printStackTrace();
? ? ? ? }
? ? ? ? return null;
? ? }
? ? public static String a3(byte[] arg5) {
? ? ? ? String v0 = "";
? ? ? ? int v1;
? ? ? ? for(v1 = 0; v1 < arg5.length; ++v1) {
? ? ? ? ? ? String v2 = Integer.toHexString(arg5[v1] & 255);
? ? ? ? ? ? v0 = v2.length() == 1 ? v0 + "0" + v2 : v0 + v2;
? ? ? ? }
? ? ? ? return v0.toUpperCase();
? ? }
}
六应狱、注意此處
動(dòng)態(tài)調(diào)試之前的工程列表
Debugger ----> start? 之后出現(xiàn) 小蟲子哦
七、到此結(jié)束l羲俊<采搿除嘹!網(wǎng)絡(luò)上教程坑B賊多。
各種反編譯岸蜗、回編譯尉咕、重新簽名、開啟debugger模式等等璃岳,都是TMD坑BD甓小!铃慷!
且行且珍惜5ノ摺!犁柜!