某度翻译的sign逆向
本帖最后由 hakerman 于 2024-3-7 17:01 编辑很容易看出https://fanyi.baidu.com/v2transapi?from=en&to=zh这个就是翻译接口,因为每次更换翻译单词的时候sign都会发生变化,所以我们需要逆向sign
首先复制标头的v2transapi?from到搜索窗口
看到只有一个js文件,我们直接双击,然后右键进入到源代码中
然后ctrl+f搜索:sign,可能会有搜到很多结果,一直搜就行,直到如下图这样。类似sign:xx() 这样的,然后下断点试试看翻译的时候能不能断下,如果不能断下则跳过继续往下找
断下之后,双击进入函数,我们发现参数t就是我们需要翻译的单词
把这个export函数扣到js文件里面尝试运行
报错了,r没定义,我们到源码发现,原来前面还有一句var r = null;
加上之后发现还是报错,我们没有window环境咋办,到源码中下断点看看r是否是固定值
经过测试发现r的确是固定值 等于"320305.131321201"
那么我们直接修改r就行了,如下图
那是不是可以正常运行了呢?发现还是报错。n这个函数我们没有扣,再到源码里面抠一下就好了
也就是这个函数
运行正常,得到了们想要的sign。这次逆向就到这里了
js代码已经打包下面了
jjyy774447 发表于 2024-3-7 08:34
F12一打开就被无限debugger的情况 咋办
hook代码 ,注入js//1 .去除无限debugger
Function.prototype.__constructor_back = Function.prototype.constructor;
Function.prototype.constructor = function() {
if(arguments && typeof arguments==='string'){
//alert("new function: "+ arguments);
if("debugger" === arguments){
//arguments="console.log(\"anti debugger\");";
//arguments=";";
return
}
}
return Function.prototype.__constructor_back.apply(this,arguments);
} 本帖最后由 jessylake 于 2024-3-11 08:53 编辑
对比了一下5年前的那个获取sign的函数,差不太多,第一个函数除了参数名称变了其他基本一样,第二个函数代码翻了一倍,不过获取这两个函数的方法基本一样,只是所在的js文件变了 谢谢大佬分享思路。 没看懂,是直接post就可以获取翻译吗 技术不错,不过现在翻译应该没啥人用了吧,直接gpt呗 樓主厲害,得到sign之后就可以做自己的翻譯界面了 {:1_889:} F12一打开就被无限debugger的情况 咋办{:1_923:} 谢谢大佬分享 jjyy774447 发表于 2024-3-7 08:34
F12一打开就被无限debugger的情况 咋办
一般hook就能过 求问这个sign是怎么用的? 感谢分享,沉浸翻译+gemini够用了