PC端微信的逆向分析
更新时间:2019-03-18 23:00 浏览:80 关闭窗口 打印此页
最近,当一位朋友问我如何将libcef注入js时,他谈到了libcef的小额信贷云。
经过一个愉快的下午后,我学会了如何注入js并发现我的朋友需要一个自动ui控件。
它立刻崩溃了....
确实,微信浏览器的某些功能使用cef,但主界面是由duilib编写的。
与cef没有任何关系,(libcef打包在qbcore.dll中.libcef导出函数被挂钩以启动浏览器并替换回调。)
主题返回到PC端的微信自动控制UI,以及如何获取有关“控制”的信息。
以下是开头的截图,我不知道,请检查duilib的来源。
GetWindowLongPtr可以获取CWindowWnd指针
CWindowWnd指针== WindowImplBase指针
然后通过
static_castINotifyUI *(pWinImplBase)
翻译INotifyUI指针,然后通过虚函数地址表找到Notify指针。
最后,您可以使用通知指针监视所有duilib事件。
事件的结构是pSender是事件的触发器,您可以获得稍后获取根节点的所有CControlUI。
在此结构被篡改后,您可以直接调用原始的Notify回调来模拟接口行为。
当每个xml创建一个CControlUI树时,将调用CDialogBu?? ?? ilder :: Create。
您可以通过挂钩此函数来获取根节点。
这是平衡容器节点的开始。如果父级是容器节点,则连接到父级。
获得节点树后,需要列出所有节点。
看看这些虚拟功能非常好,不是很有用吗?我正在考虑技术com
这个虚拟功能更漂亮(笑)。
为了吸引我不需要判断数字,你应该只判断结果是否为NULL,枚举是否结束。
该方案发布后,建议查看duilib的源代码,计算机端的WeChat接口是由duilib编写的,基本虚函数的替换并未改变虚函数)。
当然,一些结构已经改变,所以我不会在这里触摸它,但仔细看看duilib新闻流的源代码。
以下是代码的一部分,请自行完成完整版本
最后,它是一个效果图像。
本文来自原始的通泽宇雪论坛。
转载请从雪社区展示。
热门阅读
我有一个问题。2017安全开发者峰会
ARM在物联网上爆炸。
基本程序集教程ARM-ARM程序集概述
基本程序集教程ARM数据类型和记录
基本汇编教程ARM-ARM指令集
CVE-2017-10661原理,触发分析
修改源代码以实现全局注入预防注入检测(无根)
单击以阅读/阅读原始文本
更干的产品等着你吗?

下一篇文章 :下一篇:没有了