摘要:
这静态看代码,看了半天,愣是没看出来哪里用了system.loadlibrary。
用这个grep找到的是这个so,其实并不是
这里继续用yang神的hook_RegisterNative.js,一顿输出,直接找到这个so:
很nice。
卧槽,跑完直接把我手机干关机了。有点6 阅读全文
摘要:
但是有个问题就是,那个network类,需要在构造方法里定义一下:
另外,这个方法的签名,怎么拿到,用jadx的smali代码查看:
这里就直接有了,复制过去就可以用,注意最后的【;】也要带上。
5.验证是否可用
试试刚才的两种调用的结果,能不能拿来请求,然后正常返回呢?
ok,两个都可以 ,说明主动调用,整个过程,很成功
结语
整个过程很轻松加愉快。除了最后的dvmObject数组的转换,其他没啥需要记录的。 阅读全文
摘要:
不能搞。过程我就不细说了,结果就是我帮她找回来了并给了她。
然后她顺便跟我说了整个被骗的过程,就是在Q群,微信群,有所谓的兼职,工作是快递单号填写,打字员之类的,你加完qq去聊,他先跟你说保证绝对免费之类的,玩的就是各种话术了,最后大部分人都会被骗的,其中他们是用某语音在聊天,然后这个app只会保存几天的消息(现在改没有就不知道了),聊天记录时间长了就会自动清除,所以你如果报警,聊天记录已经不好提供了(截图的话,我听说是不太具有可信度的,因为可以p图)
然后这个某语音app就是今天的目标了,当时我同学是很想举报这个软件的,这个app网上搜,应用市场里的评论基本都说是骗子啥的,大部分被骗案例在那段时间里也确实用的这个软件,我个人觉得,当时来看,这个软件的归属者一定有责任的,该平台没有举报中心,没有审核机制,谁都可以在里面发消息,发的诈骗消息他们也不管的。
如今突然想起来这个app,当时的我还不会app逆向,再看它,感觉整改过了,所以还得多亏有关部门这几年来的严厉打击网络犯罪啊 阅读全文
摘要:
继续跟着龙哥的unidbg学习:SO逆向入门实战教程六:s_白龙~的博客-CSDN博客
还是那句,我会借鉴龙哥的文章,以一个初学者的角度,加上自己的理解,把内容丰富一下,尽量做到不在龙哥的基础上画蛇添足,哈哈。感谢观看的朋友
分析
首先抓个包看看: 阅读全文
摘要:
public static void main(String[] args) {
roadbook test = new roadbook();
System.out.println(test.xPreAuthencode());
}
public String xPreAuthencode(){
List 阅读全文
摘要:
1.看so的调用逻辑,如果有loadlibrary的同时有调用某个方法,unidbg模拟执行的时候也要先调用这个方法
2.如果加载so文件的时候,给定的第二个参数是false,加上so文件有字符串加密和混淆的话就会乱码,所以这里最好给为true,ida里,shift+F7,可以看
3.补环境的时候,要根据报错,最核心的部分进行补环境,同时也要结合实际的执行逻辑
4.构造context,用vm.resolveClass("android/content/Context").newObject(null)
5.dvmObject.getObjectType()可以获取当前类的class
6.emulator.getPid(),获取pid 阅读全文
摘要:
6.setJNIload方法只有动态注册方法的时候才执行,静态注册的不用执行
7.keystone,是将汇编语言转成地址的。capstone是将地址转成汇编语言的
8.在线汇编和地址互转的网站:https://armconverter.com/
9.参数的基本类型,比如int,long等,其他的对象类型一律要手动 addLocalObject,其中context对象用:
DvmObject context = vm.resolveClass("android/content/Context").newObject(null);// context
list.add(vm.addLocalObject(context))
10.找准一行汇编,Alt+G快捷键,查看架构类型,值为1则是thumb,为0则是arm,如果ida解析有误,可以手动修改这个值
11.RM调用约定,入参前四个分别通过R0-R3调用,返回值通过R0返回
12.unidbg的项目可以打包成java包执行 阅读全文
摘要:
首先手机需要root
然后在手机目录: 阅读全文