簡單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。
就醬子了,復雜的繼續研究吧,反正挺有意思的。