吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 3646|回复: 28
收起左侧

[原创] 对webview2 客户端资源爬取

  [复制链接]
少年持剑 发表于 2024-5-8 23:50
本帖最后由 少年持剑 于 2024-5-8 23:58 编辑

某款软件代码和资源的提取,软件是基于webview2 的,网上没有看到webview2相关逆向的教程,所以发个贴记录一下。

简单分析

软件安装后只有一个exe文件,软件打开后界面风格很像一个网页
}%M`A7[JV6543K){Q5AK8A2.png
X64dbg附加软件后,发现它加载了一个edge的dll

ZPAOP7BMTUBS~L]UOPC~L9W.png
搜索后发现是使用webview2 后会使用的一个EmbeddedBrowserWebView.dll

WebView2

WebView2控件使用微软的Edge作为渲染引擎,WebView2允许你在本地App里面嵌入web相关的技术(例如HTML,CSS和JavaScript)。

既然是web就要看能不能打开开发者工具了,进入微软webview2开发者文档,可以看到提供了一个OpenDevToolsWindow函数来打开开发者工具

7~8%`)IA`MEC7](5ZML4J{4.png

IDA 打开EmbeddedBrowserWebView.dll ,加载符号文件,查看OpenDevToolsWindow,可以看到它是embedded_browser_webview_current下的一个虚函数

J@I@UD3QOB{5~BM}HSL2B42.png

查看微软提供的webview2的代码示例Win32_GettingStarted,可以看到它调用了一个Navigate函数来访问页面


sam

sam


Navigate函数也是embedded_browser_webview_current下的一个虚函数,这里我通过修改虚表中Navigate的地址指向,
EmbeddedBrowserWebView.dll text段末尾空闲位置调用OpenDevToolsWindow



MOX17G`B0DN]EZZ8PBRP%TN.png

X64dbg 打上补丁 ,替换dll
这时候开发者工具就会弹出来了。

U6(DN@L{QX2R8S089G9RK}F.png

代码和资源提取

在开发者工具的源代码tab 导出所有的js文件和其它资源文件

R(KS@FS4B_[$R@G(_D067SQ.png

并记下它的虚拟域名

环境搭建


在之前的Win32_GettingStarted gitclone下来,使用SetVirtualHostNameToFolderMapping设置虚拟域名并Navigate调用


QV4E1P[$~(@QRJIZINCQ6ZO.png


编译运行后开发者工具中会有几个报错。根据工具报错的提示,到正常软件的开发者工具获取正常环境就行了。

tihuan

tihuan


与开发者的工具的本地覆盖相比,提取出代码后js更容易修改和稳定,而且c++提供的操作也会更灵活。


EmbeddedBrowserWebView.dll 文件位于 C:\Program Files (x86)\Microsoft\EdgeWebView\Application\124.0.2478.80\EBWebView\x64  目录下,不同版本应该不通用


EmbeddedBrowserWebView.7z (1.58 MB, 下载次数: 66)




免费评分

参与人数 8威望 +1 吾爱币 +26 热心值 +8 收起 理由
dyjpxc + 1 + 1 谢谢@Thanks!
小朋友呢 + 2 + 1 我很赞同!
hopecolor514 + 1 热心回复!
Hmily + 1 + 20 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
三滑稽甲苯 + 2 + 1 用心讨论,共获提升!
wshq + 1 + 1 谢谢@Thanks!
discom + 1 鼓励转贴优秀软件安全工具和文档!
Yukeer666 + 1 鼓励转贴优秀软件安全工具和文档!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

我是不会改名的 发表于 2024-5-9 09:26
实际上只需要添加环境变量就行了,官方文档有写的,只不过藏得很深
set WEBVIEW2_ADDITIONAL_BROWSER_ARGUMENTS="--auto-open-devtools-for-tabs"
这里的文档里面有写
https://learn.microsoft.com/en-u ... -dotnet-1.0.1774.30
playwright里面也有
https://playwright.nodejs.cn/docs/webview2#google_vignette

免费评分

参与人数 1热心值 +1 收起 理由
404错误 + 1 你可以通过设置 WEBVIEW2_ADDITIONAL_BROWSER_ARGUMENTS 环境变量来传递浏.

查看全部评分

qq465881818 发表于 2024-5-9 06:53
eric1tian 发表于 2024-5-9 07:32
houdongen 发表于 2024-5-9 07:54

学到了,赞一个
nitian0963 发表于 2024-5-9 07:57
学习,感谢楼主
uliaxs0n 发表于 2024-5-9 08:26
感谢楼主,学习了
Xieweiping 发表于 2024-5-9 08:40
学到了 楼主辛苦
vilenyuu 发表于 2024-5-9 08:56
学到了 辛苦楼主
HuskyHappy 发表于 2024-5-9 09:18
学无止境,谢谢楼主
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-12-14 04:01

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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