简单demo,为抛砖引玉吧!
360的加固我们先写一个最简单的so,带导出函数。
这已经足够简单了,界面上打印这个值。
运行起来就这样。
简单的简直过分。
好了,现在我们让360加固一下。
拿下来自己签名下,安装好,没问题吧。
我们要找的so是libnative-lib.so
我们修改下VA的代码IOUniformer.cpp中(*orig_haddleadd)(ab)new_haddleadd(ab){
}
onSoLoaded(*name*handle) {
(strstr(name))
{
(name)* haddleadd = dlsym(handle)(namehaddleadd)inlineHookDirect(() haddleadd(*) new_haddleadd(**) &orig_haddleadd)}
}
这样HOOK一下
我们启动程序
已经变成100了,这是最简单的,但是360加固似乎完全觉察不到,我们HOOK其中的函数。
而且既不需要ptrace也不需要root。
就酱子了,复杂的继续研究吧,反正挺有意思的。