Comments (7)
fork出去可能没人看得到,所以发在这里吧。
改request比改response简单很多。
elapsedTurn我这个基本没做处理,这个数值我觉得可能不是越大越好。通关时间短,elapsedTurn却很大,反而容易被怀疑。
有一些关卡敌人打不死,这里直接清空了aliveUniqueIds不知道会有什么后果。
开挂本就逆天而行,被封号也很正常.jpg
from anyproxy-fgo-rule.
你要替换成“xx科技,xx元/月,唯一QQ群xxx”这样的图片吧。。。
我对此没啥感想其实
你这个科技跟老铁,以及影之国群里那个差不多啊,都是用ss或者ssr,难道他们没告诉你怎么放?
其实不用那么麻烦,你只需要把这个请求替换成你的图床里的图片的链接就行。不一定要改response,改request效果一样。
from anyproxy-fgo-rule.
不好意思,错怪你了,我看见你在贴吧发得科技了,谢谢你给更多的人带来快乐
from anyproxy-fgo-rule.
if (oSession.url.Contains("ac.php")){
oSession["ui-color"] = "red";
var str = oSession.GetRequestBodyAsString();
if(str.Contains("battleResult%22%3a3"))
{
var tmp = Math.random()*8+3;
var val = tmp.toFixed(0);
var turn = /elapsedTurn%22%3a\d+/ig;
str = str.replace(turn,"elapsedTurn%22%3a" + val);
}
str = str.replace("battleResult%22%3a3", "battleResult%22%3a1");
var regex1 = /aliveUniqueIds%22%3a%5b([\d+,%2c]+)%5d/gi;
str = str.replace(regex1,"aliveUniqueIds%22%3a%5b%5d");
oSession.utilSetRequestBody(str);
}
}
增加了修改战斗请求的判断逻辑:正常胜利或正常失败的话不作修改,撤退的话会改为判定胜利,并将elapsedTurn改为3-10之间的随机数,且清空aliveUniqueIds。这是我在吾爱上看的别人代码,跟兄弟代码对比下。
from anyproxy-fgo-rule.
@EndPoem 谢谢啊我再试试
from anyproxy-fgo-rule.
module.exports = {
*beforeSendRequest(requestDetail) {
if ((requestDetail.url.indexOf('ac.php') != -1) && requestDetail.requestData.indexOf('key=battleresult')!=-1) {
var newRequestData = requestDetail.requestData;
var newReqBodyStr = newRequestData.toString();
if(newReqBodyStr.indexOf('battleResult%22%3a3')!=-1){
newReqBodyStr = newReqBodyStr.replace('elapsedTurn%22%3a1','elapsedTurn%22%3a3');
newReqBodyStr = newReqBodyStr.replace('elapsedTurn%22%3a2','elapsedTurn%22%3a3');
newReqBodyStr = newReqBodyStr.replace("battleResult%22%3a3", "battleResult%22%3a1");
var regex1 = /aliveUniqueIds%22%3a%5b([\d+,%2c]+)%5d/gi;
newReqBodyStr = newReqBodyStr.replace(regex1, "aliveUniqueIds%22%3a%5b%5d");
}
var b = new Buffer(newReqBodyStr);
newRequestData = b;
return {
requestData: newRequestData
};
}
},
*beforeSendResponse(requestDetail, responseDetail) {
// 带key=battlesetup,battleresume参数分别为新建战斗和战斗重开
if ((requestDetail.url.indexOf('ac.php') != -1) && (requestDetail.requestData.indexOf('key=battlesetup') != -1 || requestDetail.requestData.indexOf('key=battleresume') != -1)) {
const newResponse = responseDetail.response;
var newbodyString = newResponse.body.toString();
var dec = new Buffer(newbodyString.replace(/%3D/g, '='), 'base64').toString();
var decJson = JSON.parse(dec);
if (decJson['cache']['replaced']['battle']) {
var svts = decJson['cache']['replaced']['battle'][0]['battleInfo']['userSvt'];
//var count = 0;
for (var i = 0; i < svts.length; i++) {
// 筛选所有敌方从者
if (svts[i]['hpGaugeType'] != undefined) {
// 修改血量 1/3
var eohp = Number(svts[i]['hp']);
ehp = parseInt(1);
if (typeof svts[i]['hp'] === 'number') {
svts[i]['hp'] = String(ehp);
} else {
svts[i]['hp'] = ehp;
}
// 最大1动
svts[i]['maxActNum'] = 1;
// 充能6格
svts[i]['chargeTurn'] = 6;
}
// 筛选所有己方从者
if (svts[i]['status'] != undefined && svts[i]['userId'] != undefined && svts[i]['userId'] != '0' && svts[i]['userId'] != 0) {
// 原始数据中好友从者HP为string类型,需先转换为number
var ohp = Number(svts[i]['hp']);
hp = ohp + 100000;
if (typeof svts[i]['hp'] === 'number') {
svts[i]['hp'] = String(hp);
} else {
svts[i]['hp'] = hp;
}
svts[i]['skillLv1'] = '10';
svts[i]['skillLv2'] = '10';
svts[i]['skillLv3'] = '10';
svts[i]['treasureDeviceLv'] = '5';
//console.log('原始血量:'+ ohp + ' 新血量:' + svts[i]['hp']);
//count = i;
}
}
decJson['cache']['replaced']['battle'][0]['battleInfo']['userSvt'] = svts;
//console.log('改后JSON对象中血量:第'+ count +'个 ' + decJson['cache']['replaced']['battle'][0]['battleInfo']['userSvt'][count]['hp']);
var encStr = JSON.stringify(decJson);
//JSON.stringify(JSON.parse(?))组合拳会将内容进行两次转义
//以下操作将转义后的字符串还原回转义前,以防止客户端报错
var preStr = '\\u';
// 转换中文到unicode
var cnReg = /[\u0391-\uFFE5]/gm;
if (cnReg.test(encStr)) {
var encStr = encStr.replace(cnReg,
function(str) {
return preStr + str.charCodeAt(0).toString(16)
});
}
// 转换转义字符
encStr = encStr.replace(/\//g, '\\\/');
// base64加密
var enc = new Buffer(encStr).toString('base64');
// 替换URI字符
enc = enc.replace(/=/g, '%3D');
// 重建buffer
var b = new Buffer(enc);
newResponse.body = b;
return {
response: newResponse
};
}
}
},
};
这样写没问题
from anyproxy-fgo-rule.
@ZizhuoWang 谢谢老兄我再试试,我贴的太乱了删了。成功了我也去分享下吧
from anyproxy-fgo-rule.
Related Issues (17)
- 大佬好强啊 HOT 3
- error 1.21 HOT 5
- fiddlerScript.js HOT 2
- 关于Fiddler中的%3D问题
- 且用且珍惜 HOT 3
- 自己研究的新功能 HOT 3
- 科技还没凉透,整合版genymotion专用ova包了解一下 HOT 8
- 从上一次更新之后貌似直接删掉sign就不行了。
- 修改了一下fgo.js, 使之能处理国服的新圣杯战线 HOT 1
- 留下使用方法,有缘人看到这里可以试试 HOT 7
- 是失效了吗还是我的配置问题? HOT 13
- 关于anyproxy缓存问题 HOT 1
- 在安卓手机本机跑科技服务器 HOT 12
- IOS测试时永远跑芙芙 HOT 8
- 如何修改英灵携带的礼装 HOT 5
- 一首凉凉送给各位 HOT 13
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from anyproxy-fgo-rule.