第二课https://github.com/guanchao/AppProtect整理一些app常见的加固方法,包括java层、native层和资源文件加固等1.HiddenMethod 隐藏dex文件的method2.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这样在虚拟机中就可以链接这个模拟器 查看模拟器的架构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_204settings put global captive_portal_https_url https://www.google.cn/generate_204settings put global ntp_server 1.hk.pool.ntp.orgreboot后续只要把时区调对,时间会自动同步的。 二、虚拟机挂科学apt-get install proxychainsnano /etc/proxychains.conf 三、诊断网络链接1 虚拟机ping 物理机 ping 192.168.0.124 2 查看端口有没有打开telnet 192.168.0.124 1080查看走代{过}{滤}理的端口到底是什么 3 看协议到底是什么协议 四、neofetch查看进程 手机中的linuxtopps -e 查看进程id (虚拟机中需要用ps aux 查看完整信息)ps -e |grep -i tencent 过滤出有tencent的进程dumpsys meminfo 4457 内存映射的信息 cat /proc/4457/maps 查看进程加载的socat /proc/4457/maps |grep so 过滤so 加-i就是忽略大小写 运行时库的核心 libart.so 所有的java 代码是通过他来解析的 运行 实现会加载到每一个进程中去 源码是写脱壳机的关键 五、linux命令ls -alit 打印目录按时间排序也会打印出隐藏文件权限符也会打出 |more 分屏 空格查看clear 清屏netstat -tunlp|grep 9001 查看某个端口对应的进程号netstat -alpe |grep - i 443 查看正在通信的接口进程echoecho 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信息太多需要加 |moredumpsys package com.tencent.mm |more 按空格翻页 dumpsys dbinfo com.tencent.mm 查看数据库信息adb install -r -t 进程, 方法