我正在尝试使用脚本简化流程。发生的事情是我有一个大小适中的脚本,它有很多 base-64 编码的字符串,我想用解码版本替换它们(使用 atob
和 btoa
).例如,我有 atob("MHhfZXhwb3J0")
并想用 atob("MHhfZXhwb3J0")
的输出替换它,即 "0x_export"
。我尝试拆分 atob("
的代码,然后保存内容并替换它们,但由于某种原因它在某些时候中断了。我尝试使用 string.replace(/*/g, *)
,但是你好像不能在replace中使用函数。很抱歉,如果我描述的问题不是最好的,所以如果有人有进一步的问题,我很乐意回答。
下面显示了我正在尝试做的一个小例子:
开始示例脚本:
function test(callback, number, reason) {
if (number != atob("MA==")) {
console.log(atob("RmFpbGVkOiA=") + reason + atob("LiBQbGVhc2UgdHJ5IGFnYWluLg=="));
} else {
callback(number);
}
}
之后的示例脚本:
function test(number, reason) {
if (number != "0") {
console.log("Failed: " + reason + ". Please try again.");
} else {
callback(number);
}
}
最佳答案
您可以传递函数来替换 - 您可以将整个代码作为字符串粘贴到某个 Javascript 编辑器中,然后替换
atob("...")
解码后的文本:
const inputScript = `
function test(callback, number, reason) {
if (number != atob("MA==")) {
console.log(atob("RmFpbGVkOiA=") + reason + atob("LiBQbGVhc2UgdHJ5IGFnYWluLg=="));
} else {
callback(number);
}
}
`;
const outputScript = inputScript
.replace(/atob\("([^\"]+)"\)/g, (_, p1) => `"${atob(p1)}"`)
.trim();
console.log(outputScript);
关于javascript - 基于找到的内容的高级查找和替换 - Javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51013893/