首先我們用Java實現一下MD5調用
結果
然后換so層實現一下
so代碼:
都是可以的,我們現在來unidbg實現一下.參數改一改先
報錯沒找到方法,我們debug看一下
顯示的是這個 ==>
而so文件的是這個
所以我們略作修改一下,之前那個錯消失了
我們再把這個錯誤干掉,再運行一遍出現這個,接下來就是補環境了
接着補
繼續
done!
注意點:
1.在編寫so的時候記得反射調用md5,有點像補環境的思想
2.在黑盒調用的時候要善於debuger and analysis
3.在補環境的時候請注意vm和獲取參數這一知識點
精華采擷:
int intArg = vaList.getIntArg(0);
Object value = vm.getObject(intArg).getValue();
DvmObject obj = vm.resolveClass("com/longtou/unidbgtest/MainActivity").newObject(null);
DvmObject<?> object = ProxyDvmObject.createObject(vm, digest);
vm.addLocalObject(object);
return object;
StringObject stringObject = new StringObject(vm, s);
vm.addLocalObject(stringObject);
return stringObject;
