打印分析某个app中发送的Intent中的内容
https://www.52pojie.cn/thread-578912-1-1.html
对于一个移动安全审计人员来说,有时候是有这个需求的,就是我需要知道某个app在某个时候发送的Intent的内容是什么,以便能更好的去审计是否是安全的。打印Intent的内容不算什么,在github上也有比较成熟的项目了,就是IntentLogger。基本上有用的信息都能打印出来了。那么问题就是如何去打印某个app的发送的Intent了。
我们可以通过Xposed去hook所有的跟intent相关的函数(不能是抽象类下的函数,也不能是抽象函数)。然后打印相应的Intent,同时将packageName或action等打印出来,通过grep就能很好的区分了。代码很简单。但是却很实用。
https://github.com/cogbee/dumpIntent
下面是通过这个去分析 某app的一个简单过程android 需root。安装xposed。
当我们去进行注册的时候,发现这么一个日志:
```
02-07 19:22:49.929 6854-6854/? V/dumpIntent(startActivity) (packageName:co****): Intent[@450770f0] content:
02-07 19:22:49.929 6854-6854/? V/dumpIntent(startActivity) (packageName:co****): Action : null
02-07 19:22:49.929 6854-6854/? V/dumpIntent(startActivity) (packageName:co****): Category : null
02-07 19:22:49.929 6854-6854/? V/dumpIntent(startActivity) (packageName:co****): Data : null
02-07 19:22:49.929 6854-6854/? V/dumpIntent(startActivity) (packageName:co****): Component: com.****/com.********.register.RegisterInfoActivity
02-07 19:22:49.929 6854-6854/? V/dumpIntent(startActivity) (packageName:co****): Flags : 0
02-07 19:22:49.929 6854-6854/? V/dumpIntent(startActivity) (packageName:co****): HasExtras: true
02-07 19:22:49.929 6854-6854/? V/dumpIntent(startActivity) (packageName:co****): Extra[phoneNumber] :18202753457
02-07 19:22:49.929 6854-6854/? V/dumpIntent(startActivity) (packageName:co****): Extra[valIDAtionCode] :69348
02-07 19:22:49.929 6854-6854/? V/dumpIntent(startActivity) (packageName:co****): Extra[nickname] :小七
02-07 19:22:49.929 6854-6854/? V/dumpIntent(startActivity) (packageName:co****): Extra[J_Page.childID] :-1
02-07 19:22:49.929 6854-6854/? V/dumpIntent(startActivity) (packageName:co****): Extra[needValid] :true
02-07 19:22:49.929 6854-6854/? V/dumpIntent(startActivity) (packageName:co****): Extra[password] :123456
02-07 19:22:49.929 6854-6854/? V/dumpIntent(startActivity) (packageName:co****): Extra[isPhone] :true
```
从上面可以看到,基本上注册的信息都在里面了。有注册的手机号码,手机接收到的注册码,密码,昵称等。都是以明文形式在app内部传播的。这样基本上可以去分析一个组件到另外一个组件之间传递的intent的内容。有助于发现一些敏感信息等,帮助安全人员进行逆向分析等。