微信分身版各种疯传,不少人都安装了不同功能的微信分身版,不管是一键转发,一键评论,自动抢红包 还是带有其它功能的微信分身版。
很显然很多人安装了这些分身版却不知道其中可能存在的风险,这些微信分身版无非就是通过load command动态库注入hook函数进行篡改,虽然你的手机没有越狱,但是安装了微信分身版后,你所用微信的所有信息都暴露在别人的面前了。包括获取你的微信账号密码,聊天记录等等,所有的信息。
笔者就从如何获取微信账号密码并传到指定服务器做一个简单的分析,看完这个后,你安装的分身版微信很可能就已经收集你的微信账号和密码。
下面笔者就从如何获取微信账号密码并传到指定服务器做一个简单的分析,看完这个后,你安装的分身版微信很可能就已经收集你的微信账号和密码。首先进入微信登录界面,查看ViewController的继承关系:[[[UIWindow keyWindow] rootViewController] _printHierarchy], state: appeared, view:|, state: appeared, view:可以得到当前的ViewController为WCAccountLoginLastUserViewController,跟踪该类。然后点击登录按钮,可以看到调用onNext方法。使用IDA进入里面分析,可以得知是WCAccountLoginControlLogic类来负责处理具体的登录逻辑。跟踪WCAccountLoginControlLogic可以发现登录的时候调用了
- (void)onLastUserLoginUserName:(NSString*) name Pwd:(NSString*) pwd{}
其中传的参数就是微信的账号和密码,借用网上开源大神(coder)之作,现在演示一下如何拦截微信账号密码,并发送到指定服务器。
既然需要一个服务器来接受传输的数据,那么就使用python的BaseHTTPRequestHandler来搭建一个简单的服务器。
既然需要一个服务器来接受传输的数据,那么就使用python的BaseHTTPRequestHandler来搭建一个简单的服务器。
简单的服务器搭建好了,post用来接受从微信传过来的账号和密码信息并保存到本地文件,然后通过get不断去请求刷新获取的账号密码。
编写tweak拦截账号密码,并发送到刚刚搭建的服务器上:
重签名微信,生成一个在非越狱机器上运行的微信分身版,这个已经在上一篇文章中讲过。进入登录界面输入账号密码,每次输入账号密码就发把账号密码发送到我们搭建的服务器上面,然后在浏览器输入http://localhost:8080/就能实时看到输入的账号密码是什么了。
上面只是一个简单的演示,当然实际的分身版不可能写的这么简单,一般都经过混淆和加密的,但是也就是说,一旦你安装了微信分身版,那么你微信上面所有的信息都可能被监控,导致隐私泄露。
所以即使你的手机没有越狱,也不要去网上下载微信分身版,也不要去第三方渠道下载应用,因为很可能你在第三方渠道下载的应用就是被篡改过的。