逆向微信小程序之通讯数据签名

一.这里主要使用微信小程序开发者工具,后面说到怎么用 官网下载地址: https://developers.weixin.qq.com/miniprogram/dev/devtools/download.html 二.使用adb 获取微信小程序包,并解包小程序。这里用到 https://github.com/jozxing/wxappUnpacker 三.分析小程序通讯签名方法 关键字:sign、sort、还需要使用console.log(“标识….”,打印的log变量或者函数)输出调试 开始: 1.使用adb登陆手机后,输入 su 进入超级管理员状态,然后进入/data/data/com.tencent.mm/MicroMsg/ 目录,里面会有一些已经存在32位字符串的目录,这些是其他或者使用过的小程序目录,为了方便调试目标小程序,先把这些文件删除。 […]

查看全部


apk文件脱壳之dump dex文件使用jadx-gui 分析

Android一键脱壳工具 Xposed插件,必须获取root权限,可脱360加固,爱加密等 1.安装MDEX并在Xposed框架中激活。 2.打开MEDX点击需要脱壳的应用,选择DUMPDEX。(会跳转到选择的应用界面,完成脱壳会将路径自动复制到剪贴板),过程中请耐心等待。 3.使用air adb连接手机,然后把dump出来的dex目录copy出来 即: MDEX.apk 文件 xposed3.1.2 一切都是傻瓜式操作,代码直接拉到电脑直接用jadx-gui一顿分析即可,不过都是被混淆过的函数,慢慢看。

查看全部


mac动态调试安卓应用之无usb

前因: 想爬某个app里的数据,奈何所有接口都是做了数据签名,想破解签名,静态调试没办法hook函数,又是各种代码混淆。折腾到心累,于是…. 动态调试试试。至于文件怎么到手机里,直接起一个http服务就好。这里用php -S 0.0.0.0:80 即可。 条件: macpro13电脑一台,备用机魅蓝note6,无数据线(这才是折腾蛋疼的地方) 首先: root魅蓝note6,魅族自带的root功能并不能得到最大的权限。所以还得先root,各种弯弯曲曲的路走了半天,最终解决。这个百度有具体的方案。 魅蓝note6 root工具: 使用stwrp.apk文件把twrp.img文件刷到手机里,然后重启,再把magisk.zip这个文件刷到手机里。然后让你重启的时候别选择Superoot.重启后安装magisk manager.apk文件,稍微该有的提示都设置一下。 这了主要用的是ai […]

查看全部


Mac环境IDA动态调试Android应用

一、环境 1.Mac 11.1 (20C69)2.Root后的魅蓝Note63.IDA Version 7.0.170914 4.mprop 使用IDA调试安卓应用需要满足以下两个条件的任何一条1)  App的AndroidManifest.xml中Application标签包含属性android:debuggable=true,这个方法需要修改文件后重新打包再签名文件,麻烦。2)修改boot.img中 /default.prop中ro.debuggable的值为1, 这个方法需要修改安卓的boot.img,然后再刷机,还是麻烦。所以,如果以上两种条件都不满足的时候,这时候就用到了mprop,使用adb运行mprop命令即可实现使用IDA动态调试安卓应用。下面会详细说明 二、开始调试 1.上传IDA开启远程调试服务文件授权并执行在ida.app/Content […]

查看全部


SQLCipher之攻与防

0x00 SQLCipher 在移动端,不管是iOS还是Android,开发人员用的最多的本地数据库非SQlite莫属了。SQLite是一个轻量的、跨平台的、开源的数据库引擎,它的在读写效率、消耗总量、延迟时间和整体简单性上具有的优越性,使其成为移动平台数据库的最佳解决方案。 但是,用SQLite保存一些不是很敏感的信息还可以接受,存储敏感信息就值得商榷了,免费版的SQLite中的信息是明文存放的,你甚至直接用文本编辑器打开都可以看到敏感内容,比如下面这个: 其实SQLite是提供了加密功能的,即SQLite Encryption Extension (SEE),但是,要收费!还不便宜,2000刀。Coder们穷啊,于是大家寻找免费的解决方案,最终SQLCipher成了比较理想的选择,因为它免费、开源,而其它家的SQLiteEncrypt、SQLiteCrypt等还是要收费。 SQLCip […]

查看全部


AX ,BX ,CX ,DX SI 各种寄存器

AX――累加器(Accumulator),使用频度最高 BX――基址寄存器(Base Register),常存放存储器地址 CX――计数器(Count Register),常作为计数器 DX――数据寄存器(Data Register),存放数据 SI――源变址寄存器(Source Index),常保存存储单元地址 DI――目的变址寄存器(Destination Index),常保存存储单元地址 BP――基址指针寄存器(Base Pointer),表示堆栈区域中的基地址 SP――堆栈指针寄存器(Stack Pointer),指示堆栈区域的栈顶地址 IP――指令指针寄存器(Instruction Pointer),指示要执行指令所在存储单元的地址。IP寄存器是一个专用寄存器。 最早8位机只有a,b等寄存器。 到16位机a,b扩展到16位以后,就把16位叫ax,bx。 高8位叫ah,bh,低8位 […]

查看全部