webpack hook自动扣代码自动下载

1、背景

js逆向经常会遇到webpack,需要进行扣除模块,根据key手动搜索太慢,网上有个自动扣代码的脚本,玩逆向的小伙伴应该都很熟悉了。

//在加载器后面下断点  执行下面代码
// 这里的f 替换成需要导出的函数名
window.zhiyuan = f;
window.wbpk_ = "";
window.wbpk_json = {};
window.isz = false;
f = function(r){
	if(window.isz)
	{
        // e[r]里的e 是加载器里的call那里
		window.wbpk_ = window.wbpk_ + r.toString()+":"+(e[r]+"")+ ",";
	}
	return window.zhiyuan(r);
}
//在你要的方法加载前下断点 执行 window.isz=true
//在你要的方法运行后代码处下断点  执行 window.wbpk_  拿到所有代码  注意后面有个逗号

但是这里有个问题,在控制台输出的是一个字符串,如果直接复制粘贴到Python里面运行会报错,原因是控制台里面有很多转义符号“\”,如果我们一个个去替换,就很麻烦,而且会容易出错。如果"\\“是这种符号可以直接替换,我遇见的还有”\'"就没法统一替换了。
在这里插入图片描述在这里插入图片描述

2、webpack扣模块下载

针对这种情况,我找到一种笨方法,就是通过js直接把内容保存在文本里面下载到本地,下面代码是在网上找到,window.wbpk_是要保存的内容字符串。注意:在控制台定义的变量需要使用let,如果使用var会报错。

let blob = new Blob([window.wbpk_], {type: 'text/plain'});
 
// 使用URL.createObjectURL()方法生成一个指向该blob对象的URL
let url = URL.createObjectURL(blob);
 
// 创建一个<a>元素并设置其href属性为上面生成的URL
let link = document.createElement('a');
link.href = url;
 
// 设置<a>元素的download属性为所希望的文件名(包括后缀)
link.setAttribute('download', 'example.txt');
 
// 模拟点击事件,自动下载文件
link.click();

打开保存的文件,可以发现这里的转义已经正常了。
在这里插入图片描述直接复制文件里的内容,放到加载模块的位置,就可以正常运行了。
在这里插入图片描述
ps: 大家如果有什么好的解决方案欢迎交流!

自动webpack是指通过一些技巧和方法,对webpack代码进行解析和提取的过程。这样可以帮助我们更好地理解和分析webpack的工作原理以及实现细节。 首先,我们需要了解webpack的组成部分。根据引用所述,webpack由加载器函数和执行对象组成。加载器函数在真实网站中的功能更加完善,并且与执行对象在同一个文件中。因此,对于自动webpack代码而言,我们需要关注加载器函数以及它们与执行对象之间的关系。 具体来说,我们可以通过观察真实网站的webpack代码来获得一些启发和参考。根据引用,这些代码与我们自己写的webpack代码并没有太大的差别,只是加载器函数中的功能更加完善。因此,我们可以尝试取这些加载器函数的实现部分,以及它们与执行对象之间的交互逻辑。 至于如何具体webpack代码,这需要进一步的研究和实践。我建议您可以深入学习webpack的相关文档和资料,并借助一些工具和技术,例如代码分析工具、调试工具等来辅助取过程。另外,与其他开发者交流和分享经验也是非常有帮助的。 总结起来,自动webpack是通过一些技巧和方法对webpack代码进行解析和提取的过程。这可以帮助我们更好地理解和分析webpack的工作原理以及实现细节。具体的取方法需要深入学习和实践,并借助相关工具和技术来辅助。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [ast自动webpack脚本实战](https://blog.csdn.net/zjq592767809/article/details/122355530)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [js逆向——webpack法](https://blog.csdn.net/sin_0119/article/details/129658679)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值