SO
乡村隐士
宝剑锋之磨砺出,梅花香自苦寒来。
展开
-
常用cmd命令
adb 是谷歌开发的 电脑控制手机的 调试桥adb devicesadb shell //要用到 adb指令 基本都要先 运行这个指令ls //查看当前目录下的 文件adb push xxx.android_server /data/local/tmp/as //上传as 到手机的目录里cd /data/local/tmp //到这个目录去./as //运...原创 2019-09-23 14:09:45 · 234 阅读 · 0 评论 -
58 招财猫变形 RSA 与变形 BASE64 逆向分析
0x0 概述:58 招财猫登陆密码算法经过:libcom_wuba_uc_rsa.so 中 Java_com_wuba_uc_RsaCryptService_encrypt 函数加密,下面简称 encrypt 函数。Encrypt 先 调 用 JByte2CChar 把 Java byte 数 组 转 换 为 char * , 然 后 进 一 步 调 用encrypt_default 进...原创 2019-09-25 14:17:55 · 1005 阅读 · 1 评论 -
IDA中操作快捷键
TAB 切换窗口 快捷键G 跳转到 某个地址处F2 下断点F9 运行F8 步过F7 步入空格键 汇编界面到 图形界面 可以互相切换原创 2019-09-24 20:13:07 · 1258 阅读 · 0 评论 -
IDA中分析 JNI静态动态注册
JNI接口函数 可以通过两种方式实现一种是 静态注册一种是 动态注册静态注册函数名如下JAVA_包名_函数名 (其中包名里的.用_)如果在export导出函数里 搜java关键字 搜不出来 接口函数的话那么就是使用了 动态注册的机制那么我们搜 关键函数 JNI_OnLoad 函数如果把so 对比成 dll的话这里的JNI_OnLoad 函数 就相当于dll里的 启动函数Main...原创 2019-09-24 18:13:47 · 1071 阅读 · 0 评论 -
ARM汇编中寄存器分析
理解寄存器 对于我们 动态调试SO 捕获关键值 是非常重要的R0非常重要R0 R1 R2R0 作为函数的第一个参数传递R1 作为函数的第二个参数传递R1 作为函数的第三个参数传递同时R0也是作为 函数的返回值意思是一个函数调用完后 有返回值的话 就保存在 R0里面例如:v7 = (v4->functions->GetStringUTFChars)(v4);我们...原创 2019-09-24 15:17:03 · 643 阅读 · 0 评论 -
在IDA中改写so库里的C代码
memset(&v17, 0, v8 + v9 + 3);// v17 = “”strcat(&v17, v7);// v17 = v17 + v7strcat(&v17, &unk_27A0);//像这样的 就是IDA没翻译出来 是数据段 选中unk_27A0 双击进去.rodata:000027A0 unk_27A0 DCB 0x65...原创 2019-09-24 14:58:41 · 578 阅读 · 0 评论 -
So中算法常见C库函数
void *memset(void *str, int c, size_t n) 复制字符 c(一个无符号字符)到参数 str 所指向的字符串的前 n 个字符。char *strcat(char *dest, const char *src) 把 src 所指向的字符串追加到 dest 所指向的字符串的结尾。int sprintf(char *str, const char *format, ...原创 2019-09-24 14:46:00 · 426 阅读 · 0 评论 -
JNI中常用函数
字符串(JNI)从java程序中传过去的String对象在本地方法中对应的是jstring类型,jstring类型和c中的char不同,所以如果你直接当做char使用的话,就会出错。因此在使用之前需要将jstring转换成为c/c++中的char*,这里使用JNIEnv的方法转换.下面是访问String的一些方法:GetStringUTFChars将jstring转换成为UTF-8格式的ch...原创 2019-09-24 14:40:18 · 189 阅读 · 0 评论 -
美拍sig算法so分析
美拍apk分析sig的算法一:fiddler抓包GEThttps://newapi.meipai.com/common/online_switch.json?device_system_version=4.4.2&language=zh-Hans&client_id=1089857302&device_id=866571024961545&version=4...原创 2019-09-24 00:17:48 · 1335 阅读 · 1 评论 -
IDA里so里Java接口函数
IDA中so里导出函数 java接口函数F5里 看C代码 这样的v8 = (*(int (__fastcall **)(_JNIEnv *, int, int))(*(_DWORD *)v6 + 692))(v6, v5, v4);v9 = (*(int (__fastcall **)(_JNIEnv *, int, _DWORD))(*(_DWORD *)v6 + 736))(v6, v...原创 2019-09-23 19:00:28 · 701 阅读 · 0 评论 -
IDA中 初识SO原理
记住一点:IDA 不是全能的 翻译C代码时 并不能精准的翻译出来所有代码最关键的还是要考 汇编代码so 是用c 或c++ 写的 提供给java调用的 库 相当于dllso存放位置apk压缩包下的 lib文件夹里里面有各种平台的文件夹那么我们是要分析哪个文件夹下的so呢一般来说 我们要分析的是armeabi-v7a 文件夹里的sojava里 加载so库代码例如:packag...原创 2019-09-23 18:01:59 · 781 阅读 · 0 评论 -
推送服务的分析(小米商城 推送服务)
手机上方的 一些推送服务 推送信息如果要进行 抓包 分析的话不是在 主程序里 的在主程序里是分析不到的而是在 推送的进程里比如 小米商城的主程序进程是com.xiaomi.shop推送服务的 进程是com.xiaomi.shop:pushservice...原创 2019-09-29 21:57:09 · 323 阅读 · 0 评论