微信网页版没有公众号号有没

逆向实践:批量验证微信号是否存在
*本文原创作者:siotb,本文属FreeBuf原创奖励计划,未经许可禁止转载
xposed是一款安卓平台下强大的hook框架,我们可以用他来开发很多强大的插件,以此来帮助我们更方便地解决某些实际的问题。本文将尝试利用xposed来解决一个实际问题:如何批量地验证微信号是否存在。
二、明确目标
现在手头有一批微信号,想要分辨出其中哪些是有效存在的,哪些是不存在的。显然如果直接手动去微信上一条条搜索,会是一件很麻烦的事情,接下来就要研究如何来批量地验证这批微信号。首先来看一下这个搜索接口:
从图中可以看出事实上这个接口还可以根据qq号和手机号来搜索某个微信号是否存在。我们的目的就是希望能够自动地可控地大量地来调用这个接口帮我们进行验证。
三、确定思路
明确了目标之后,我们就会想到,得到这个接口的函数调用栈是很重要的,这样我们就可以在关键函数上下hook点,然后插入我们自己的逻辑代码,以此来随心所欲地控制这个接口,达到我们最终的目的。所以大致可以总结出这样的步骤:1、得到这个过程中重要的函数调用栈。2、从函数调用栈中找到合适的函数,hook这个函数。3、思考整个批量验证的逻辑,插入我们自己的逻辑代码,实现xposed插件,以此来控制整个验证流程。4、用一小批样例来验证我们的插件是否有效。
四、动手实践 1、
如何得到一个过程的函数调用栈?这是一个我们在逆向的过程中经常会遇到的问题。最开始接触逆向的时候我只会用关键字搜索,后来接触的工具多了,发现用andbug不错,可以把一个点击过程中的所有过程都弄出来,直到前几个月在看雪上看到TraceReader,才发现原来有更好用的工具。其实逆向的好工具有很多,能用的顺手的工具就是好工具,具体的工具的用法我就不在这里赘述了。
我用的是TraceReader。得到一堆函数调用栈之后,接下来就要找我们需要的调用栈,我认为这是整个过程中最难的问题。因为这个时候得到的函数量往往很大很大,而我们根本不知道我们需要的函数的名字是什么,如果又碰上微信这种混淆超级变态的应用,那么这一步往往就要花费我们大量的时间。这一步没有什么好的办法,运气是最关键的因素,然后就是根据种种迹象来推理我们需要的函数的位置。八仙过海各显神通,我来说说我的做法。因为这个接口的功能是“搜索某个微信号是否存在”,所以我先用关键字“search”来碰运气,当然那么多函数,包含这个关键字的函数有很多。然后我再在这些包含“search”的函数里一个个去看,结果运气不错,找到一个既带“search”,又带“AddFriendUI”的函数。根据函数名,这个函数很大可能就是我们要找的函数。如图:
接下来验证一下我们找的对不对,用xposed来hook这个“AL”函数,打印出他的参数,xposed的用法网上很多,不再说明。最后结果如图:
我在搜索框随便输入了一串字符串,结果打印出来的这个“AL”函数的输入参数正是我输入的字符串,看来找的位置不错,那个这个函数所在的整个函数调用栈就是我们要找的东西了,用jeb逆他的代码后可以仔细地看一下这些函数,帮助我们理解整个过程。
接下来是找合适的hook函数。其实hook函数需要两个,一个是hook请求,以此来控制整个批量验证流程;另外一个是hook应答部分,以此判断当前验证的微信号的返回结果。
请求的hook函数暂时就定为前面找的”AL”函数,如果之后测试的时候出现问题再考虑换,这一步并没有确定的答案,只能是通过实际的测试来验证,所以选哪个函数无所谓,到时候不行的话再返回来看源码,重新选择测试即可。
应答的hook函数一般可以通过看前面的请求函数调用栈来找,但也不绝对,找的方法和前面一样,怀疑哪里就测试哪里。这一步我是在请求的调用栈中找的,但是找了好多地方都没有找到一个合适的位置,然后也没耐心继续找了,就用了个取巧的办法。一个微信号不存在和存在的返回页面是不同的,如图:
显然我们可以根据返回页面的不同来判断当前的微信号是否存在。接下来查看一下两个页面的activity,如图:
可见两种情况的activity是不同的,当微信号存在时,会返回该微信号的信息界面,该界面的activity是ContactInfoUI,那么我们就可以通过hook这个activity,判断这个activity是否被创建,来判断某个微信号是否存在。接下来验证一下我们的猜想,hook一下这个类的构造器:
生效后来看下效果:
确实按照我们的预想打印出了“YES”,也就验证了我们的猜想。
批量验证逻辑这部分也没有确定的模式,完全可以根据个人的需求来进行定制。值得一提的是,上一步中hook的位置和这一步逻辑的设计有很大关联。比如说,在上一步中,我没有找到一个很好的应答hook位置,只是取巧根据activity来判断,那么也就是说,只有当一个微信号的搜索结果页面被加载出来之后,我才能对结果进行判断,这中间就会产生出很多问题。比如我必须控制两个请求之间的间隔时间,留出充分时间来让搜索结果界面进行加载。又比如当微信号数量比较大的时候,持续的页面加载会消耗大量内存,导致程序越来越慢,甚至机器发热,损耗电池。而这些问题都是必须在设计程序时应该考虑的问题。反之,如果前一步找的hook位置更合适的话,那么后续就会简单方便很多。欠下的债总是要还的,总的来说如果前面偷懒了,那么相应的后面就麻烦很多,而如果前面下了功夫,那么后面就会更轻松。条条大路通罗马,具体在整个过程中如何选择,最好根据自己实际的需求和手头上的资源来确定。
现在我们只是做一个简单的测试,并不用考虑太多。我的想法是截断上面找到的“AL”函数,并自己控制对他的循环调用,代码比较粗糙,也不贴上来了,直接看最后的结果。
输入的微信号存在txt文件里,放在sdcard中,输出最后的判断结果,也存成文件,在正确的微信号后面加上“YES”标签,如图:
本文只是一个xposed应用的小例子,在这个过程中想必大家也发现了,只要运用得当,很多接口都可以用这个方法来加以利用,同时也能满足很多小需求。
当然如果进一步考虑对方的风控规则,整个流程的自动化等等的因素之后,这种方法同样也能满足一些大的需求,大家可以自行探索。
*本文原创作者:siotb,本文属FreeBuf原创奖励计划,未经许可禁止转载
责任编辑:
声明:本文由入驻搜狐号的作者撰写,除搜狐官方账号外,观点仅代表作者本人,不代表搜狐立场。
今日搜狐热点检测手机号qq号是否开通微信号下载2016最新免费版_西西软件下载
西西软件园多重安全检测下载网站、值得信赖的软件下载站!
相关软件 /英文/ /英文/ /中文/ /中文/ /中文/ /中文/ /中文/ /中文/ /中文/ /中文/顶好评:50%踩坏评:50%请简要描述您遇到的错误,我们将尽快予以修正。轮坛转帖HTML方式轮坛转帖UBB方式
173M&&|&&中文&&|&&6.838.7M&&|&&中文&&|&&9.338.8M&&|&&中文&&|&&6.6
728KB/中文/6.7
53.2M/中文/7.5
230KB/中文/2.8
14KB/中文/2.7
1.1M/中文/2.5
2.9M/中文/3.9
5.2M/中文/5.7
检测手机号qq号是否开通号是一款可以帮助用户查询手机号码和QQ号码是否开通工具,我们平时一般注册账号都是用的手机号码,或者QQ号,该软件可以帮助我们检测手机号码和QQ号码是否开通微信,支持批量查询。使用方法下载打开软件后,建个文本把你要查询的手机号全部放进去即可!然后在到软件这里点击导入就好啦!导入好后就点击开始就可以扫描出那些手机开通了微信!软件特色1、支持批量导入手机号码、QQ号码和QQ邮箱地址2、支持批量查询3、支持云打码功能
安卓官方手机版
IOS官方手机版
检测手机号qq号是否开通微信号 2016最新免费版
下载帮助西西破解版软件均来自互联网, 如有侵犯您的版权, 请与我们联系。一招教你怎么查看自己的微信号是否安全呢?一招教你怎么查看自己的微信号是否安全呢?科技先知频道百家号说起手机支付,我们最常用的两个工作就是微信和支付宝,因为支付宝仅仅是一个功能相对多的支付工具,而微信则即是通讯工具又是支付工具,看到这里请你打开下自己的微信点击菜单我—钱包,是不是零钱也有不少呢?言归正传,怎么查看自己的微信号是否安全呢?方法很简单,我们只需要看看自己的微信号有没有在其它设备中有异常登录就行了,我们在微信中依次点击,我—设置—账号与安全—登录设备管理,如下图:这个时候我们就认真看下登录设备,有没有不属于自己设备的,如果有请及时删除设备并修改自己的微信登录密码,删除方法很简单,只需要点击右上角的编辑就可以随意删除了,如果将某个设备删除后再次登录时就需要短信验证方可登录。显示的登录名称,手机端登录显示的是手机型号民,PC端显示的是计算机名称,请知悉。本文仅代表作者观点,不代表百度立场。系作者授权百家号发表,未经许可不得转载。科技先知频道百家号最近更新:简介:过去的科幻变成今日的现实。作者最新文章相关文章免费发布咨询,坐等律师在线服务
需求发布后
10分钟内收到律师在线回复
平均有多个律师参与回复
得到了圆满解决
您的位置: &
只有微信号,没有电话号码,怎么能查到本人的电话号码
只有微信号,没有电话号码,怎么能查到本人的电话号码
律师回答地区:云南-昆明咨询电话:帮助网友:5556 次点赞人数:<span class="s-c666" id="r_8 人这种一般只有公安系统才能通过警务通之类的查得到。 13:56地区:云南-德宏咨询电话:帮助网友:1456 次点赞人数:<span class="s-c666" id="r_ 人有名字吗/? 16:34
无锡推荐律师

我要回帖

更多关于 企业微信号申请 的文章

 

随机推荐