之前发现家里电视柜的设备有点乱,就整理了一下,顺便理顺一下电线和清一下灰,也趁机写一篇博文纪念一下。
设备列表:小米路由3G、电信机顶盒、树莓派3B+、西数的移动硬盘、TP-Link的交换机、Google Home mini、PS4、Switch、群晖218j。
whmcs模块的shadowsocks插件
之前想弄一个shadowsocks的插件,发现网上要不是frankwei98开发的这种需要架设API的,就是soft-wiki这种功能极其简陋,UI不友好的。然后就又在网上找了一些传说中shadowsocks 3.x版本的安装,发现里面的代码被改得乱七八糟的,明显是不想给人用的,然后自己能看懂一点代码,就这几天把这些代码改好,然后放出来共享一下。
架设ps4专用的HTTP**服务器(已失效)
在MUTV中看曼联档案馆的比赛
在新浪体育买了MUTV的转播之后,在范加尔连欧联杯都可以输的今天,真系睇比赛都睇到绝望,系今日睇到曼联对切尔西的比赛,11年的9月18,先讲下阵容,曼联系德赫亚,埃弗拉,伊文斯,琼斯,斯莫林,扬,安德森,费莱切,纳尼,鲁尼和赫尔南德斯。
libprotectClass.so版本的360加固宝DEX文件静态恢复
首先这篇文章是具体参考【原创】**应用加固的脱壳分析和修复,上文作者在今年2月12号发了一篇文章详细分析了整个过程,由于腾讯加固的技术也不断演进,所以我在上文的基础,分析现在7月份腾讯加固采用的新方法。与上文重复的部分就不再过多说明,所以阅读本文之前,要首先看懂上文的大致思路。
腾讯应用加固的脱壳分析和修复
首先这篇文章是具体参考【原创】**应用加固的脱壳分析和修复,上文作者在今年2月12号发了一篇文章详细分析了整个过程,由于腾讯加固的技术也不断演进,所以我在上文的基础,分析现在7月份腾讯加固采用的新方法。与上文重复的部分就不再过多说明,所以阅读本文之前,要首先看懂上文的大致思路。
如何制作一个windows下真正通用的adb驱动
转载,英文原文链接 网上很多人宣称可以给windows系统提供一个通用adb驱动,但他们通常只是重新打包一下Google提供给亲儿子Nexus设备的USB驱动包,通过修改android_winusb_inf
文件,添加大量USB的Vendor ID
和Product ID
进去。为什么这样还做不到真正的通用呢?因为如果你设备的ID信息没有添加进去,这样的驱动并不能驱动你的设备。
然而微软的系统提供一种实现通用的驱动的方法。给一个设备寻找相应驱动的时候,windows系统可以通过硬件ID(例如:USB的Vendor ID
和Product ID
),也可以通过兼容ID(例如:InterfaceClassClassID
,InterfaceSubClassID和InterfaceProtocolID
)。幸运的是,所有安卓adb驱动的接口ID都是一样的。
在几年前,我曾经做了一个这样的adb驱动,并已经在很多不同的安卓设备上试验成功。
Android动态调试so之dump内存数据
配置环境
一台已root手机
- IDA pro6.6
- Android SDK
准备工作:
- 把Android SDK添加到环境变量中
- 把已root手机的系统中关键so拖到本地,必要时可以静态读取,获取系统函数的偏移地址。 例如把手机系统的
system/lib
的文件拖到本地debugging
文件夹中。adb pull /system/lib .\debugging\lib
- 在IDA pro6.6中找出
android_server
,并把android_server
放到手机system/bin
中。push的时候没有root权限,可以如下操作:1
2
3
4adb push android_server /data/local/tmp
adb shell
su
cp /data/local/tmp/android_server /system/lib
Android APK加壳技术的研究-内存动态加载
本文主要参考博客:
CSDN的大牛写的博客太简洁了,内存动态加载主要参考taoyuanxiaoqi的博文,写得比较详细。我的上一篇文章提到使用DexClassLoader
函数,把apk文件加载进来,不过这样的做法会导致apk文件躺在文件系统中,这样的做法并不安全,在4.0之后,可以通过封装Dalvik_dalvik_system_DexFile_openDexFile_bytearray
函数,可以在解密出dex文件的byteArray数组后,不需要保存到文件系统的路径上,直接通过4.0的函数在内存中读取。
参考博客他们的做法是,通过修改DexShellTool
,并不是把payload.apk
拼接到unshell.dex
的后面,只是把payload.apk
的classes.dex
拼接到unshell.dex
的后面。然后通过读取出classes.dex
数组,并不保存到文件系统中,实现在内存中动态加载。
但是我比较懒,不想修改DexShellTool
,还是把payload.apk
拼接到后面,然后把payload.apk
解压放到文件系统中,然后把里面的classes.dex
数组读出来,这样进行动态加载,主要是想验证Dalvik_dalvik_system_DexFile_openDexFile_bytearray
函数,文件系统还是躺着一个apk。
Android APK加壳技术的研究
本文主要参考博客:
由于之前没有接触过安卓编程,所以即便有两篇这么详细的教程,但是还是走了不少弯路,都折腾了大概一个星期左右。而且两个博主都没有放出demo,所以就想回顾一下这个学习的过程,并给出一个Demo。