首先我们用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;
