吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 9390|回复: 59
收起左侧

[讨论] FXO辅助制作原理解析

  [复制链接]
asq56747277 发表于 2019-7-16 17:07
本帖最后由 asq56747277 于 2019-9-15 16:00 编辑


9.15更新
优化了启动速度,删去诸多辣鸡代码
新增多线程搜索,搜索速度较之前提高四倍多
增添了循环搜索,算是对上版本失败的懒人模式的修补
新录了一个演示视频
循环搜索即是每隔一段时间就进行一次搜索,没有找到就不进行修改,找到就进行修改,之后继续循环
进行循环搜索时,如果你在使用多线程以后在搜索时明显感到卡顿,请还继续使用单线程搜索

感谢@空无清 @cathpalug @若斯子孑 对此版本进行了测试,找到了诸多bug,提出了诸多建议,多谢多谢!
在使用过程中发现了bug,有想法或建议,请在帖子下留言,感谢感谢

8.12更新
懒人的自动判断回合开始和结束~以后连按钮都不用按了
其他大小以后再做,目前测试过的模拟器:MuMu,逍遥,雷电,蓝叠,夜神
怎么使呢,这个终究还是得手动过图。首先,在懒人的设置里打开自动判断,之后填好搜索数据,再然后点懒人开始就行了,下面出现回合数什么的就说明开了,之后保证助战数据不变的情况下,就可以把辅助最小化了,模拟器的位置随意,上面有没有覆盖窗口都可以,假如说要更改助战数据,就随便什么时候改就行,这个数据就是下次搜索用的。
假如说,战斗中分明点开始了,它就是不搜。那就先清屏,之后点右边的五宝按钮,之后这个模式就会重新开始一次新的搜索,应该点这一次,后面就能一直循环下去了。
识图方面,出现什么认不出来啊,认错了啊的事告诉我,我到时候针对那里把字库再补全

大漠从某版本开始,使用高级功能都需要收费了,绑定窗口就属于高级功能,所以考虑再三,这块功能使用了大漠3.1,请自行斟酌,当然旧模式依旧是可以用的
由于win7下精易模块或者是外挂海模块无法写入模拟器内存,而大漠3.1由于各种各样蛋疼的原因也不行,所以只能对于win7删去这一功能,十分抱歉,以后找到解决方法会补上的
使用中懒人出现某处不自动搜索的问题就试试按右边的按钮吧,其他的bug还是给我留言吧
这次的功能是基于大漠插件的识图,依据回合数和存活数判断回合的状态,所以有些特殊的地方还是别用了(比如剧情里某些坚持多少回合就算赢,某强化本要打99个怪之类的)
识图并不能涵盖百分之百的地方,出现什么问题一定要和我说啊,我能解决就解决了
测试的时候记录了懒人一次的时间,mumu最快4秒左右,蓝叠最慢,12秒左右。但mumu这个闪退就很烦人,基本上得闪退三次才能一直稳定用
不过啊……为什么这个帖子莫得多少人看啊,分明上个帖子看得人蛮多的……又没有热心值,又莫得cb,只能靠每天签到才能维持生活这样子……
QQ图片20190811155953.jpg
7.30更新
使用了大漠模块,许多人无法正常使用本辅助了,所以临时更新一下,提示大漠插件的注册情况,增加了注册引导。
更新了搜索的预设功能,可以存许多套预设以便于切换阵容
更新了0np开宝具的功能(修改后路人也可以放宝具了)

等级上限地址+0x2c=宝具充能100%所需要最小np

也就是说,假如修改成20000 ,充能100%必须有200%的np
修改成5000 ,充能100%必须有50%的np
修改成0以后,np为0的时候就可以放宝具了
但是,自己的np会被系统自动压到放宝具最小np的三倍,比如改成5000,你的最大np值就会是15000,无论怎么充np都不能到达16000
所以就会出现,改成0以后,np不能增加了。

给出一个1.5版本的辅助,以免误操作导致的1.6的不能使用。
原贴:https://www.52pojie.cn/thread-932339-1-1.html
由于投到求助区超过了三个月禁止了回复和编辑,于是新开一个帖子以供交流
7.15更新
更新了,win7下可以正常使用了,第一页的列表框能实时刷新了,新增获取py码功能,附带一个小玩意吧,能让敌方一直1血。伤害高的吓人,怕伤害监测?不存在的。(只能在战斗刚开始时使用,搜索8秒左右)
预计下版本完善脚本以及助战英灵礼装获取
暑假了,成功解决了win7下无法搜索的问题,感谢开源的超级模块,在研究了源码之后成功解决了问题

在搜索进行到7FFFFFFF附近的时候,程序无法读取到正确的内存块大小,读到的是负数,导致程序退回到之前已经搜索到的地方,从而无限循环。
所以,我们把这些代码摘出来,加上限制跳出条件,当内存块大小为负时结束跳出循环,就成功地解决了搜索问题。不过呢,这样就可能导致超出7ffffff的内存无法搜索到,但是,发现大部分辅助的地址范围都在这个范围以内,只有发现夜神模拟器地址经常会出现超出7ffffff的情况,所以夜神能不能用大家进行测试吧,要是问题实在严重,就把搜索模块换成大漠了(慢一些)。
由于不可抗力的原因,win7下无论进行什么操作都无法改变通常的内存操作模块无法写内存的情况(提权,改内存块属性,用网上提到的各种dll,GetLastError()均返回487,甚至当初差点就想放弃win7了(╬ ̄皿 ̄))
几天前在论坛交流时,我和大佬们交流了自动关卡开始和结束的判据,后来我又想了很多,@空无清  大佬说从者数据不足作为关卡结束的判据,我想是不是可以从敌方入手作为判据呢,后来发现是可行的,而且制作了工具,下文详细解释了如何搜索更改敌方数据
但无法判断关卡的开始,@Xer0  提到了天使和大漠模块,突然想起了大漠模块,于是又着手学习,阅读手册时发现了内存操作的功能,抱着试试看的心态试了一下,之后就在win7下成功写入了内存,还是大漠nb……
ce的搜索速度绝对是最快的……有大佬提到了ce是开源的,到时候研究研究,万一能扒下来一个搜索dll呢,诶嘿嘿……
谁知道为什么易语言使用大漠模块一绑定窗口,程序自己就退出了……我找客服人家也不回我


6.10更新
欢迎论坛回归。
最近一直在想办法解决win7下辅助无法搜索的问题,逛论坛时发现了这么一个帖子
[Android 原创] 浅谈Windows下如何读写安卓模拟器的内存:
https://www.52pojie.cn/forum.php?mod=viewthread&tid=616306


里面提到了和我一样的问题,易语言无法成功搜索模拟器的内存。帖子内详细介绍了原因以及可能的解决方法。
不知道在哪,有人提到了虚拟机内套模拟器……我觉得可能可行于是就去尝试了,试过win10,win7虚拟机都出现了模拟器无法安装,或者是安装完之后卡99无法进入的情况(就算根据官方(雷电,夜神)帖子的说明安装也一样没用),最后还是使用了Android x86系统
至于能否可用,本人电脑配置不够,发生了无数次虚拟机内存溢出,最远的一次成功打开了fgo,却无法点击开始……(如果有人想这么玩的话,告诉你解决方法,下个八爪鱼,在游戏界面添加一个开火按钮,设置成左键就可以了,就可以点击了)
或许这是一个能解决问题的方法,可有这个配置的电脑应该都是win10了吧……不实用

至于win7下ce出现了无法写内存的情况,百度了一下,成功解决了问题。
ce主界面 编辑-设置-其他 勾上上两个和最后一个就可以解决问题,对了,还需要在调试器选项里面选内核模式调试器(需要DBVM)

更新了毫无卵用的礼装修改。。。


5.30更新
新增模拟器识别选项(蓝叠,逍遥,雷电),自定义挡数可以保存到配置里了。
注意:使用新版本之前请 务必 删掉旧的配置文件(settings.ini),否则程序一开始就会报错的……
没有及时更新造成的不便请多多见谅……


5.23更新
感谢@MUowoMU 更新的帖子,现已加入五宝功能
已添加日服的修改项,能自动识别一些模拟器(MuMu,夜神),帖子更新了需求描述,新添加了技能修改指导,软件添加了技能修改模块(还不是太稳定)
修改日服时请记着勾上顶部菜单的选项,要不然不仅不能成功更改,还可能出现闪退的情况。
期间收到了大量的反馈,对软件的改进起到了非常重要的作用,感谢大家的热心反馈。



4.30更新,多谢各位网友对于本帖的支持,发现大部分人都提到了脚本,经过多日的摸索,现已制作出了脚本
不过呢,只能用在mumu模拟器上,只能支持1080P的分辨率,其他模拟器的适配我也没有做
不过既然已经有了思路,制作其他模拟器的应该会比较顺利。
再次感谢大家对于本帖的支持
ps:程序bug挺多的……大家使用过程中出现什么问题都可以说


4.19更新,多谢网友@若斯子孑 的建议,现已加入懒人模式,方便free本,具体介绍见程序ps:有需要其他模拟器版本的请留言
pss:我会经常看这个帖子的,大神们解决了问题,我就会在这个帖子更新的,大家不要看帖子时间长了就不回我了

地址见最下面

初来论坛,学到了一些东西,但仍然有许多不足。
近几天对科技感兴趣,学习了@MUowoMU 的方法,自己摸索着用易语言制作了一个功能简易的科技(emm功能少到都不能算是科技了,姑且这么叫吧)
原贴:[Android 原创] 用ce修改fgo的修改方法(https://www.52pojie.cn/thread-868447-1-1.html


程序截图如下:

等级上限-4=当前等级
等级上限+4=atk
等级上限+4+c=hp
等级上限+4+c+0x14=np
第三个角色的地址位于前两个角色内存地址的下方,每一个数值+0x248都会得到前一个角色的相对应的值
另外,按照教程内的方法可以实现不需要每轮重新搜索地址,大家可以多多测试。

但是本帖的目的并不是为了分享这个科技,而是希望大家能够帮助我实现这个程序的其他功能
1.制作这个辅助的系统是 win10 1803 64位,为了测试不同系统的适用性,我找了一个win7x64平台 却发现程序无法正常运行(无法找到目标地址),一开始我以为是模块的问题,但换了数个模块仍然无法解决问题,观察任务管理器发现,在输入数值点击查找后,这个程序就一直占用着cpu,估测应该是搜索无法停止,于是在调试时,我在程序运行一段时间后就暂停程序,发现已经得到了目标结果,但程序就停在了搜索模块处无法进行到下一步。
我看了其他关于这个问题的帖子,有人提到win7环境下,易语言的内存搜索模块在搜索范围上有问题
我自己尝试的时候,无论是开给易语言开管理员权限或者是提升软件本身的权限亦或者是尝试用各种方法修改mumu的内存权限,都会出现辅助无法读取mumu内存的情况……
2.【已解决】技能修改:

技能的特征:
角色位置+0+技能ID+技能等级+技能冷却+0+是否可用+技能状态(什么都没有是0  有蓝色向上箭头是1 表示为通过技能本 黄色箭头是2 表示已过技能本 改成3会导致游戏假死)
从左到右,角色位置从1开始依次递增。
要搜索御主技能,4294967295(int的最大值)+0+技能id+等级+冷却+0+1+0
在大多数情况下,同一角色相邻技能之间间距是64字节
少数情况下,也会差64字节的整数倍
极少数情况下,一般是三技能,会跑到角色的固有属性以及礼装技能下面
也就是说礼装技能也是可以替换的(具体能不能生效我也没尝试过)
关于搜索方法:
在前16个字节通过将技能id变为通配符之后搜索就可以定位这个技能在内存中的位置,而且使用恰当的方法就可以得到三个技能的数据。
首地址=角色位置的地址
技能等级=首地址+c
技能冷却=首地址+c+4
技能id=首地址+8
ce使用群组搜索时,通配符就是“*”,替换未知的数据即可
易语言内,我发现许多通配符搜索模块并不好用,自己写一个不是那么泛用的通配符搜索就可以了
(暂时我没有找到相邻角色之间技能的关系,也就是说无法一次搜索定位所有角色技能)
技能id(极少数部分):
b叔: 16551 36450 41550      
宫本武藏:327550 325550 326550
梅林:321550 322550 323650
Passionlip:354550 355550
saber·lily:57450 92550
杀生院祈荒:361250 362550
BB:357250 358350 71650
呆毛:5450 92550 57550
阿比盖尔:435350 436450 437551
吉尔伽美什(archer):5551 97550 302650
伊什塔尔:305450 306550 307551
海伦娜·布拉瓦茨基:182350 183550 184450
两仪式(assassin):164550 36550
巴御前:220450 414450
源赖光:52551 224550 225550
玛修:236000 2000 133000
……
御主礼装:
初始礼装: 980001 980002 980003
魔术协会制服:980007 980008 980009
……
关于修改:
修改冷却、等级和id都会立刻生效,锁cd可以实现buff无限叠。修改之后,不会立刻显示出来,可以点开御主技能再关闭就会显示出来
某些特定技能只能由特定角色释放,比如宫本武藏的一技能,其他角色释放会导致游戏假死,请提前尝试

3.【不打算解决了】假如故意的在应该填入三角色的地方填入一角色的数值,在一些情况下会搜到地方单位的一系列数值,但更改后并没有出现我想要的hp1,np0的情况
4.【已解决】如果能实现自动推图的话就更好了


关于日服角色数据搜索:
日服和国服在数据间隔上是不同的,所以出现了旧版本只能定位到一个角色数据的情况。
日服内,相邻角色之间的数据间隔是0x330,国服是0x248
内存首地址和宝具等级的间隔是D0

另提一句,易语言的内存搜索模块的上限是7FFFFFFF(整数型的最大值),超出这个值会变成负的,如果自己写内存搜索模块的话,这个储存的地址可以使用长整数类型,这样就可以扩展内存搜索的上限,但是,大多数情况下,我们使用的都是别人写好的模块,比如我用到的精易模块,就不能替换成长整数。我经过观察数据,发现,搜索到的负数加上4294967296(0x100000000),也就是4294967296-|负数|,得到的就是7ffffff以后的数据,换成十六进制就是正确的数值。

关于礼装的修改(丝毫没有达到目的需求……):

礼装和技能的差别在于 第二个4字节是1
战斗中,更改后无法生效
在助战界面搜索相关礼装所有地址并更改成另一张礼装后进入战斗,描述被改变,但没有实际效果
战斗中,更改三技能的第二个字节为1,并更改固有技能或者是礼装技能的第二个字节为1即可发动该礼装的效果,而且这些效果都没有回合限制,不能提升道具的掉落数量,但可以提升威力(可以无限叠)
但如果不能提升道具的掉落数量就没有了更改这项的必要……
但还是详细说一下方法:
首先,用上面提到的搜索技能的方法,搜索某个角色的三技能相关数据

Ctrl+B 查看内存
拉大内存浏览器的框,Ctrl+6显示十进制数据,就应该能看到下面的界面

少数情况下,3技能和固有技能会和12技能分开,具体在哪里也不好说,极少数情况下,固有技能和123技能分开。

礼装一般都是6位数而且是9开头的,图中出现了两个,是因为礼装技能有的是分开的,两个效果,比如活动礼装,一个技能是属性的加成,另一个是掉落材料的加成(这就是研究礼装的初衷了,本来想即使不戴这活动材料礼装也能有这个加成来着……)
之后,我们把3技能的第二个4字节从0改成1,把上面随便一个固有技能也好,礼装技能也好的第二个4字节,从1改成0,之后开一遍御主技能刷新一下状态,就发现3技能的图标变了,现在点击就可以重新触发某个技能,礼装加成也好,固有技能也好。


最烦的就是出现下图这样的情况,眼看目的就要实现了,可就是没有任何的效果!哎……

经过未满破礼装和满破礼装ID的对比发现,满破礼装ID=未满破礼装ID+1

至于其他礼装效果,比如这个礼装 天堂之孔(开局自充50np 第一次宝具等级提升2),再发动以后就是给自己充50np之后上这样一个buff,我发动了两次,之后第一次宝具充能就是500%,这大概就是这项修改的唯一好处了吧……
不过,上述功能都没有直接改atk实用,甚至修改方法有些冗长,把礼装最有特点的部分无效了……这个修改方法就毫无卵用(包括羁绊礼装,经验礼装,活动道具掉落礼装都毫无效果)
总结起来就是,战斗中的加成礼装可以重新启用,涉及到角色数据的礼装都一律无法再启用……
哎……这也可以理解……要不然一局就毕业了

咱也懒得再整这个了,就放上来一些找到的数据吧:
礼装 身在图利法斯 991277(活动 属性加成 满破)991276 (未满破)
礼装 活动威力加成 991279(200 满破)
礼装 大战的渣滓 940069 (活动 威力加成 满破)940068 (未满破)
礼装 城塞的午后 991273(活动 硬币加成 满破)991172(未满破)
礼装 活动硬币加成 991275(60 满破) 991274(30 未满破)
礼装 月之海的学生会 990863(红 蓝卡10)
礼装 天堂之孔 990644 (np50 第一次宝具等级+2)
以下为固有技能:
气息遮断A+ 暴击星掉落增加 50551
单独行动 暴击威力小幅度提升 20350
对魔力A+ 耐性小幅度提升 34350
女神的神核 攻击附加 耐性提升 30350
高等从者 无效果 348550
Nega SaverA 对Ruler特攻 351550
骑乘A+ 绿卡小提升 88551 骑乘B 88450 骑乘A 88550
神性c 攻击附加 62350 神性A 攻击附加 62550
女杰的威风 亚种特异点羁绊提升100% 960837
真剑决胜 亚种特异点3羁绊提升100% 961154

关于敌方数据的修改
如果敌方非从者的话,等级上限都是100,从者的话具体分析

数据结构:当前等级+100+atk+0+0+hp+hp上限
搜索时,可用通配符处理atk数据,也可以直接搜索100
当前等级内存首地址+8=atk
内存首地址+0x14=hp
内存首地址+0x40=宝具条数
内存首地址+0x44=剩余多少回合发动宝具


至于和我方从者数据上的差距吗……看图就明白了


所以加一些限定条件就ok,比如内存首地址+0x18不是1就是2或者是3,lv得小于100大于0,放宝具的回合数不能比9还大吧……等等
之后再说一下内存地址的位置,第一个battle肯定会用一个你最后一个从者的内存首地址之后一个+0x248的地址,剩下的就需要重新进行搜索,因为这个位置就不确定了,但它们之间的距离也是0x248,找到其他位置的两个地址之后就根据它们-0x248推算其他位置的地址,而且这些还未赋值敌方数据的地址无一例外全是0,这个也是判据之一,加上限定条件范围搜索之后,最少地址栏保留8个地址,前两个battle会根据你存下的地址顺序赋值,到第三回合的时候,数据就会赋值到已经用过的地址上或者是未用过的地址上,但这个好像也没什么规律可言的,全都保存别删就对了。
另外啊,要是给死者加血的话,这个回合会过不去的,没有怪却有血条,但你选了卡就是不攻击,给活者直接改成0血的话,选卡界面就会有bug……具体还能怎么玩就看你们发挥了


希望有大神能帮助我解决这些问题,在下感激不尽。

9.15更新:
演示视频:链接:https://pan.baidu.com/s/1AwYWQzDmt_L3rvpobG7FZg 提取码:sm0a
9.15更新:
1.7辅助的地址在这里
https://www.lanzouj.com/i66ioyd
1.5版本:链接:https://pan.baidu.com/s/1qP45MoHIv5Tbr7USbit5IQ 提取码:508g

有需要源码的可以私聊我。

免费评分

参与人数 14吾爱币 +14 热心值 +14 收起 理由
RZANIS + 1 + 1 谢谢@Thanks!
魔影刹魂 + 1 + 1 我很赞同!
史蒂芬费 + 1 + 1 谢谢@Thanks!
范欣 + 1 + 1 谢谢@Thanks!
MC_SHD1 + 1 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
qzx158 + 1 + 1 谢谢@Thanks!
Riot + 1 + 1 谢谢@Thanks!
QB56 + 1 + 1 莫得热心
byakushiki + 1 + 1 谢谢@Thanks!
空无清 + 1 + 1 我很赞同!
a85934983 + 1 + 1 谢谢@Thanks!
chang1321 + 1 + 1 谢谢@Thanks!
zxs20456 + 1 + 1 谢谢@Thanks!
ppy198726 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

 楼主| asq56747277 发表于 2019-8-13 14:47
QB56 发表于 2019-8-13 13:05
我知道为啥帖子没人看了,
上论坛搜索关键字"fgo",搜不到你这篇,没人看得到,又没人顶贴,所以 ...

QQ图片20190813144542.gif
算了算了,能搜到的都是有缘人,低调点也没啥不好的

免费评分

参与人数 1吾爱币 +1 热心值 +1 收起 理由
纸上谈兵丶无异 + 1 + 1 我很赞同!

查看全部评分

 楼主| asq56747277 发表于 2019-7-27 19:46
纸上谈兵丶无异 发表于 2019-7-27 13:59
win7国服不行 给管理员权限了 修改没效果

你先用着这个开发着的版本吧,bug可能比较多,但应该能解决你这个问题
链接:https://pan.baidu.com/s/1G_lrqGsOB17oHX2ODrBXyQ
提取码:fuwl
复制这段内容后打开百度网盘手机App,操作更方便哦

免费评分

参与人数 1吾爱币 +1 热心值 +1 收起 理由
纸上谈兵丶无异 + 1 + 1 谢谢@Thanks!

查看全部评分

 楼主| asq56747277 发表于 2019-8-26 16:16
qzx158 发表于 2019-8-26 15:49
能再发一次嘛 大佬 刚上来发现已经挂了

链接:https://pan.baidu.com/s/1uq-PxkHlSUzQy4GemYivgg
提取码:cg8c
复制这段内容后打开百度网盘手机App,操作更方便哦
子V雨 发表于 2019-7-16 17:29
谢谢分享~
超正义的小煌 发表于 2019-7-16 17:29
想知道辅助,FGO会不会封号?
澹泊明志 发表于 2019-7-16 17:31
所以,IOS还是没办法用 - -
怀念以前的代{过}{滤}理拦截,安卓IOS都能用
ck2007 发表于 2019-7-16 17:32
感谢楼主的分享,正缺
lg560852 发表于 2019-7-16 17:37
这个是不是考虑出个直接安卓的模块?不用模拟器辅助
那样更方便一些
kjkag 发表于 2019-7-17 08:26
感谢楼主分享!期待你更精彩的表演!
夏夜吉他 发表于 2019-7-17 10:13
感谢分享,辛苦了!
sd1448934 发表于 2019-7-22 12:07
为什么我不管是日服还是国服都能搜索到..但是改不了数值啊
 楼主| asq56747277 发表于 2019-7-22 12:44
sd1448934 发表于 2019-7-22 12:07
为什么我不管是日服还是国服都能搜索到..但是改不了数值啊

你是win7吗,是的话你看看整没整那个大漠插件,在辅助的下载链接下面
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 16:01

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表