第二课
-
https://github.com/guanchao/AppProtect
-
整理一些app常见的加固方法,包括java层、native层和资源文件加固等
1.HiddenMethod 隐藏dex文件的method
2.DexEncrypt 对dex文件整体加密解密
3.SectionEncrypt 对so文件的指定section进行整体加密解密
4.MethodEncrypt 对so文件的指定方法进行加密解密
5.Dalvik运行时篡改字节码 在运行时动态修改dex中方法的字节码
6.通过hook重定向native方法 使用cydia substrate hook框架重定向native方法,达到保护native方法的目的
7.动态注册native方法 自己注册native方法,隐藏带有Java_xxx_xxx_xxx的函数名特征
一、装模拟器
-
Genymotion
- 安卓8.0
-
安装wifiadb
-
-
这样在虚拟机中就可以链接这个模拟器
-
-
查看模拟器的架构
-
uname -a
-
- i686 —》x86 32位
-
安装arm桥
- https://github.com/m9rco/Genymotion_ARM_Translation/blob/master/package/Genymotion-ARM-Translation_for_8.0.zip
- 让模拟器可以安装arm架构的软件
-
开机后wifi有感叹号
- settings put global captive_portal_http_url https://www.google.cn/generate_204
- settings put global captive_portal_https_url https://www.google.cn/generate_204
- settings put global ntp_server 1.hk.pool.ntp.org
- reboot
- 后续只要把时区调对,时间会自动同步的。
二、虚拟机挂科学
-
apt-get install proxychains
-
nano /etc/proxychains.conf
三、诊断网络链接
- 1 虚拟机ping 物理机
- ping 192.168.0.124
- 2 查看端口有没有打开
- telnet 192.168.0.124 1080
- 查看走代理的端口到底是什么
- 3 看协议到底是什么协议
四、neofetch
-
查看进程 手机中的linux
- top
- ps -e 查看进程id (虚拟机中需要用ps aux 查看完整信息)
- ps -e |grep -i tencent 过滤出有tencent的进程
- dumpsys meminfo 4457 内存映射的信息
- cat /proc/4457/maps 查看进程加载的so
- cat /proc/4457/maps |grep so 过滤so 加-i就是忽略大小写
-
-
运行时库的核心 libart.so 所有的java 代码是通过他来解析的 运行 实现
- 会加载到每一个进程中去
-
源码是写脱壳机的关键
五、linux命令
- ls -alit 打印目录按时间排序
- 也会打印出隐藏文件
- 权限符也会打出
- |more 分屏 空格查看
- clear 清屏
- netstat -tunlp|grep 9001 查看某个端口对应的进程号
- netstat -alpe |grep - i 443 查看正在通信的接口进程
- echo
- echo cn.youlor.mydemo >> /data/local/tmp/unpacker.config
- 写命令
- cat 读文件
- adb logcat 查看当前日志
adb logcat |grep -i com.tencent.mm
六、htop
- 区域1 : CPU、内存、Swap的使用情况
- 区域二:任务、线程、平均负载及系统运行时间的信息
- 区域三:当前系统中的所有进程。各列说明
- NI:进程的优先级别数值
- VIRT:进程占用的虚拟内存值
- RES:进程占用的物理内存值
- 区域四:当前界面中F1-F10功能键中定义的快捷功能。
- 手机上需要使用按键123切换wlan0 才能看见进程
七、kali一般不支持pixel手机
八、常见adb命令
dumpsys package com.tencent.mm
- 信息太多需要加 |more
dumpsys package com.tencent.mm |more
按空格翻页
dumpsys dbinfo com.tencent.mm
查看数据库信息- adb install -r -t