js7逆向案例_禁止f12打开&sojson打开

1、就是我们debugger会出现,禁止f12打开

一般禁止location是无法hook的,我们认识如下代码调试

onbeforeunload

javascript 复制代码
(funciton(){
	window.onbeforunload(){
		debugger;
		}
})

当我们找到js文件后,调试

我们可以找到其js,然后整个代码注释即可

目标url:http://120.53.92.179/sojson/cp1/index.html

发现debugger的调用栈如下这样的形式的

javascript 复制代码
// function A(){
//     debugger;
//     B();
// }
// function B(){
//     debugger;
//     A()
// }

never pause here可以,但是会出现console控制台溢出的问题

然后我们发现这个报错是一秒或者几秒不断产生的,所以猜测有setInterval(xxx,xxxms)

代码在pythcharm编译工具编译后格式化却发现运行不了,原因就是浏览器还是程序检测了函数是否和原先的相等,将函数转换为了字符串。

以下代码就是为了检测函数是否转换成了字符串!

javascript 复制代码
var func_toString = Function.prototype.toString;
Function.prototype.toString = function(){
	var s = func_toString.apply(this,arguments);
	console.log(s)
	// debugger
	return s;
}

通过debugger检测到如下使用了正则,检测哪些函数,有调用toString!然后RegExp就是这个函数是否被字符串化!没有的话就是如图中那样被格式化的!

所以如下没更改过的干回去,替换回去即可!

剩下抓包看sign和time得值

sojsonV6版本

先加载页面后打开f12

我们在Function.prototype.toString()方法时候,可以在console输出台直接敲this都可以知道当前哪个函数调用

当我们debugger断点的释放之后,发现页面一直打转,这个时候debugger就可以注释掉了,然后继续刷新跑代码即可

sojson主要就是为了检测代码是否格式化,目的也是反被调试

JSFU***CK

案例二

注意是改了Funciton.prototype.constructor还是改了Function("debugger")这个自己注意!

相关推荐
-今昭-1 小时前
《V2V 迁移实战:将 VMware 虚拟机转为 OpenStack 可用 Glance qcow2 镜像》
开发语言·python
excel1 小时前
Nuxt + Twin CSS 中宽度超过屏幕时底部出现空白的原因与解决方案
前端·javascript
黑马程序员毕设3 小时前
基于Java的医院药品管理系统的优化设计与实现
java·开发语言·spring boot·小程序·架构·课程设计·毕设
_Twink1e3 小时前
openJiuwen 实训营 Day 1 · WorkSwarm 入门教程
开发语言·c++·openjiuwen
问天_观心3 小时前
大模型微调学习(一)
开发语言·人工智能·学习·语言模型·github
阿里嘎多学长4 小时前
2026-09-03 GitHub 热点项目精选
开发语言·程序员·github·代码托管
一个游离的指针4 小时前
函数管道:消除深度嵌套调用
前端·javascript
柚yuzumi4 小时前
前端优化,从少触发一次开始:防抖与节流
前端·javascript
源代码•宸4 小时前
前置准备:定时微服务背景和现状
开发语言·经验分享·后端·微服务·云原生·架构·golang
2601_967338714 小时前
C#上位机开发零基础入门到精通全套视频
开发语言·c#