逆向实践:批量验证微信号是否存在

逆向实践:批量验证微信号是否存在

逆向破解hacker2018-02-14 19:50:3712654A+A-

"一、序言

xposed是这款安卓平台下强劲的hook架构,人们能够用他来开发设计许多强劲的软件,为此来协助人们更便捷地处理一些实际上的难题。文中将试着运用xposed来处理1个实际上难题:怎样大批量地认证微信号码是不是存有。

二、确立总体目标

如今手头上有首批微信号码,愿意辨别出至少什么是合理存有的,什么是找不到的。显而易见要是立即手动式去手机微信上一道道检索,会是这件很不便的事儿,接下去还要科学研究怎样来大批量地认证这批微信号码。最先看来一下下这一检索插口:

从图中能够看得出实际上这一插口可以依据手机QQ号和手机号码来检索某一微信号码是不是存有。人们的目地就是说期待可以全自动地可控性地很多地来启用这一插口帮人们开展认证。

三、确认构思

确立了总体目标以后,人们就会想起,获得这一插口的函数调用栈是很关键的,那样人们就能够在重要涵数上下左右hook点,随后添加人们自个的逻辑性编码,为此来无拘无束地操纵这一插口,超过人们最后的目地。因此大概能够小结出那样的流程:1、获得这一全过程中关键的函数调用栈。2、从函数调用栈中寻找适合的涵数,hook这一涵数。3、思索全部大批量认证的逻辑性,添加人们自个的逻辑性编码,建立xposed软件,为此来操纵全部认证步骤。4、用三小批样例来认证人们的软件是不是合理。

四、动手能力实践活动

1、

怎样获得1个全过程的函数调用栈?它是1个人们在反向的全过程中常常会碰到的难题。最初触碰反向的那时候我只用到关键字搜索,之后触碰的专用工具多了,发觉用andbug非常好,能够怎样把点一下全过程中的全部全过程都弄出,直至前好多个月在看雪上见到TraceReader,才发觉原先有更强用的专用工具。我觉得反向的好专用工具有许多,可用的顺手牵羊的专用工具就是说好专用工具,主要的专用工具的使用方法我不这里赘述了。

用我的是TraceReader。获得一大堆函数调用栈以后,接下去还要找人们必须的启用栈,我觉得它是整个过程中较难的难题。由于这一那时候获得的涵数量因此挺大挺大,而人们本质我不知道人们必须的涵数的姓名是啥,要是又碰上微信这类搞混超级变态的运用,那麼那步因此还要花销人们很多的時间。那步没什么好的方法,运势是最重要的要素,随后就是说依据诸多征兆来逻辑推理人们必须的涵数的部位。八仙过海各显神通,我而言说我的作法。由于这一插口的作用是“检索某一微信号码是不是存有”,因此我先加关键词“search”来看运气,或许那麼多涵数,包括这一关键词的涵数有许多。随后我再在这种包括“search”的涵数里一个一个去看看,結果运势非常好,寻找1个既带“search”,又带“AddFriendUI”的涵数。依据涵数名,这一涵数挺大将会就是说人们要找的涵数。如图所示:

接下去认证一下下人们找的对吗,用xposed来hook这一“AL”涵数,复印出他的主要参数,xposed的使用方法在网上许多,不要表明。最终結果如图所示:

我还在输入框随意键入了一长串字符串,結果复印出去的这一“AL”涵数的键入主要参数更是我键入的字符串,来看找的部位非常好,哪个这一涵数所属的全部函数调用栈就是说人们要找的物品了,用jeb逆他的编码后能够细心地看下这种涵数,协助人们了解整个过程。

2、

接下去是找适合的hook涵数。我觉得hook涵数必须2个,1个是hookpost请求,为此来操纵全部大批量认证步骤;另一个1个是hook回复一部分,为此分辨当今认证的微信号码的回到結果。

post请求的hook涵数临时就列入前边找的”AL”涵数,要是以后检测的那时候出現难题再考虑到换,那步并沒有确认的参考答案,只有是根据实际上的检测来认证,因此选哪家涵数不在乎,晚些不好得话再回到看来源代码,再次挑选检测只能。

回复的hook涵数通常能够根据看前边的post请求函数调用栈来找,但都不絕對,找的方式和前边相同,猜疑哪儿就检测哪儿。那步我就是在post请求的启用栈中找的,可是找了许多地区也没有寻找1个适合的部位,随后也没细心再次找了,就用了个取巧的方法。1个微信号码找不到和存有的回到网页页面是不一样的,如图所示:

显而易见人们能够依据回到网页页面的不一样来分辨当今的微信号码是不是存有。接下去查询一下下2个网页页面的activity,如图所示:

看得见二种状况的activity是不一样的,当微信号码存有时,会回到该微信号码的信息内容页面,该页面的activity是ContactInfoUI,那麼人们就能够根据hook这一activity,分辨这一activity是不是被建立,来分辨某一微信号码是不是存有。接下去认证一下下人们的猜测,hook一下下这一类的构造器:

起效之后看看实际效果:

的确依照人们的预期复印出了“YES”,也就认证了人们的猜测。

3、

大批量认证逻辑性一部分都没有确认的方式,彻底能够依据本人的要求来开展订制。值得一提的是,上一步中hook的部位和那步

逆向实践:批量验证微信号是否存在 第1张

逆向实践:批量验证微信号是否存在 第2张

逆向实践:批量验证微信号是否存在 第3张

逆向实践:批量验证微信号是否存在 第4张

逆向实践:批量验证微信号是否存在 第5张

逆向实践:批量验证微信号是否存在 第6张

逆向实践:批量验证微信号是否存在 第7张

逆向实践:批量验证微信号是否存在 第8张

逆向实践:批量验证微信号是否存在 第9张

逆向实践:批量验证微信号是否存在 第10张

逆向实践:批量验证微信号是否存在 第11张


点击这里复制本文地址 以上内容由黑资讯整理呈现,请务必在转载分享时注明本文地址!如对内容有疑问,请联系我们,谢谢!
  • 4条评论
  • 只影笑惜2022-06-02 04:37:40
  • ok这一activity,分辨这一activity是不是被建立,来分辨某一微信号码是不是存有。接下去认证一下下人们的猜测,hook一下下这一类的构造器: 起效之后看看实际效果: 的确依照人们的预期复印出
  • 忿咬樱甜2022-06-02 00:03:26
  • "一、序言 xposed是这款安卓平台下强劲的hook架构,人们能够用他来开发设计许多强劲的软件,为此来协助人们更便捷地处理一些实际上的难题。文中将试着运用xposed来处理1个实际上难题:怎样大批量地认证微信号码是不是存有。 二、确立总体目标 如今手头上
  • 掩吻颇倔2022-06-02 00:54:07
  • 好多个月在看雪上见到TraceReader,才发觉原先有更强用的专用工具。我觉得反向的好专用工具有许多,可用的顺手牵羊的专用工具就是说好专用工具,主要的专用工具的使用方法我不这里赘述了。 用我的是TraceReader。获得一大堆函数调用栈以后,接下去还要找人们必须的启用栈
  • 礼忱苍阶2022-06-01 19:26:40
  • 看实际效果: 的确依照人们的预期复印出了“YES”,也就认证了人们的猜测。 3、 大批量认证逻辑性一部分都没有确认的方式,彻底能够依据本人的要求来开展订制。值得一提的是,上一步中hook的部位和那步

支持Ctrl+Enter提交

黑资讯 © All Rights Reserved.  
Copyright Copyright 2015-2020 黑资讯
滇ICP备19002590号-1
Powered by 黑客资讯 Themes by 如有不合适之处联系我们
网站地图| 发展历程| 留言建议| 网站管理