乐易论坛-乐易网易语言培训教程火山PC视窗中文编程交流论坛

 找回密码
 立即注册

手机号登录

用手机号号登陆

微信登录

微信扫码,快速开始

QQ登录

用QQ账号登陆

办理VIP,定制软件,报名培训联系QQ[重磅]2024年实地培训高清培训目录火山PC版乐易模块使用教程
有了火山,易语言是否还有必要学习吗?易语言0基础入门课程火山PC视窗0基础入门课程
乐易论坛官方QQ群一览表易语言外挂0基础入门课程火山PC视窗火山HOOK入门课程
易语言误报处理课程QQ空间POST课程2022年火山PC易语言POST系列课程
Android逆向Jeb动态调试0基础课程QQ邮箱网页POST课程WeChat个微Hook实战课程
百日Js加密分析实战课程(无密下载)QQ群POST课程h5游戏WebSocket逆向视频
JavaScript加密特训课程易语言汇编快速入门课程破解实战系列课程
手游模拟器脚本0基础课程易语言加密防破解0基础入门课程广告位招租联系QQ1615457736
查看: 18738|回复: 1

[IOS 交流] 某WX插件的验证机制的分析

[复制链接]

[IOS 交流] 某WX插件的验证机制的分析

[复制链接]
已绑定手机
已实名认证
揰掵佲
等级头衔

等級:乐易运营组

Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20

积分成就
易币
贡献
主题
精华
金钱
积分
33688
注册时间
2014-8-2
最后登录
1970-1-1

勋章墙

2017-7-15 22:41:07 | 显示全部楼层 |阅读模式

据统计90%查看本帖的人,都已经注册本站了哦

您需要 登录 才可以下载或查看,没有账号?立即注册

×
本帖最后由 djcsdjcs 于 2017-4-29 00:14 编辑


首先来个声明: 本文为论文性质,请勿转载;本文仅学习讨论加密解密技术,勿用于其他任何用途,否则与本人无关!为了避免不必要的麻烦,屏蔽相关软件的名字。
    有朋友请我研究一个WX插件的验证机制,一直没找到整块时间,回头想起来这个事花了点时间看了看,很简单,不过插件已经过气了。记录一下逆向过程,开始吧!插件为DEB格式,解压后出现了一个Application和三个dylib,安装后会弹出一个UIAlertView,要求输入用户名和验证码,随便输入一个会弹出注册失败。好,就从这个UIAlertView入手,因为它的initWithTitle跟这个DEB包的名字是一样的,根据这个去定位相关函数,把三个dylib和一个application都扔进IDA,查看输入表,找到OBJC_CLASS___UIAlertView的交叉引用,最后确定一个z开头的dylib里负责弹出这个UIAlertView,代码如下:

我用的是IDA6.8,里面的Unicode支持不好,使用相关插件后,会自动在注释中标上对应的中文,但是跟心中期望的直显中文还是有所距离,没有6.9也没办法,我凑合用大家凑合看吧。
再去找消息响应函数,代码如下:

我们来看一下
dispatch_after的官方解释  Enqueue a block for execution at the specified time.
可以理解成在指定的时间执行代码块,至于代码块,IDA已经帮我们分析好了,就是这个block_invoke。IDA为了表述方便吧,他重新定义了一个函数表示这个代码块。那就去看这个block吧!

翻译一下:鑜孮1"就是注册失败,看一下text也挺清楚的,左边成功,右边失败。



接下来就是去分析那个V8啥时候为1(注册成功),代码很清楚:checkUID textFieldAtIndex.text  encrypt(getuuid())。验证你输入的验证码和一个加密了的uuidgetuuid顾名思义,

接着去看看encrypt

看起来很清晰,uuid先经过utf8编码,然后做MD5,把HASH值打成string再统一大写。
这样看下来其实不是加密,编码而已checkUID的俩参数都搞清楚了,再去看看这个方法

打开一看有些篇幅,分析分析啊,看字符串的样子,明显是base64编码过的,注意代码中的这行  v10 = objc_msgSend(v9, "initWithData:encoding:", v8, 4);  这个4其实是


确定是标准的BASE64解码,解码后其实是一个URL地址,就是验证服务器的。接着往下看,向这个地址发起了一个HTTP请求,把那个“加了密”的UUID和我输入的验证码统统发给服务端验证,然后在response里面找code,这个值就是服务器的验证结果。到这里这个验证机制就分析清楚了,这个插件的验证太简单了,方法名没混淆,连个像样的加密算法也没加,严阵以待的LLDB都没用上,就当给刚刚入门的朋友们增加信心吧。On the last,我顺便看了看其他dylib的代码,发现这套验证也是HOOK了其他人的验证,贵圈真乱啊。。。。

回复

使用道具 举报

已绑定手机
阿炮
等级头衔

等級:编程学徒

Rank: 3Rank: 3

积分成就
易币
贡献
主题
精华
金钱
积分
131
注册时间
2017-11-2
最后登录
1970-1-1

勋章墙

2017-11-17 23:31:13 | 显示全部楼层
希望多出点IOS相关的帖子
回复

使用道具 举报

如果懒得打字,请选择右侧内容快捷回复 提醒:以任何方式进行『恶意灌水』的行为,进行封号处理
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

热点推荐上一条 /5 下一条

QQ|网站地图|手机版|小黑屋|乐易论坛-乐易网 | 湘ICP备19007035号

拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表乐易立场!

娄底市乐易网络科技有限公司声明:乐易原创培训课程版权均为我公司所有,未经许可,不得擅自翻录,盗版,破解本站课课程,我们将保留法律诉讼的权利

GMT+8, 2024-4-25 06:07 , Processed in 0.037218 second(s), 39 queries .

Powered by Discuz! X3.4

Copyright © Tencent Cloud.

快速回复 返回顶部 返回列表