最近一段时间继续学习android病毒分析,发现代码还是以混淆为主,所以就想分析研究一下,望各路大侠指教~ 先上几张代码图: 对于这种代码其实也还是可以尝试一下的,研究了一下看雪上关于APK混淆的一篇文章http://www.kanxue.com/bbs/showthread.php?t=137112 发现对于一些继承的函数名是不会改变的,不过不管你改不改,import肯定是少不了的,所以直接搜索关键字好了,有思路就动手吧,寻找敏感库函数,比较顺利,搜索了一个就有:TelephonyManager,函数继承自Service: 这里很明显是对手机隐私的记录,并储存,向上回溯,很容易找到获取手机敏感信息的地方: 既然做了手机信息的扫描和记录,不可能没有传输服务器,自己本地扫着玩吧,所以接下来很自然的找与服务器通信的地方,一般来说有两种:http或是tcp/ip 搜索可以找到: 上半部分通过一个HashMap储存了手机信息,使用loadUrl进行传输,上网查了一下android的官方资料,的确有这个方法: 接下来基本上就是关键了,看看这些行为是否是用户运行下操作的,最开始的那个方法是继承Service的,而且是个onCreate方法,那么这个服务是怎么调用的呢,很简单,直接搜索广播,很快可以定位到: 开机自启动。。。死吧。。你就是个病毒。。。 PS:上次大侠们说要学习IDA分析和smali,最近也学习了一下,IDA使用还不是很熟练,smali看着也不是很习惯,不过会继续努力,回头看看使用IDA分析或是看smali会不会更简单一点~ 前一段时间用动态调试和抓包好像也不错,就是有点不稳定,研究好了再放上来~ 学习总结贴~继续请大侠指教~~~
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)