CheatMaker 论坛

注册

 

发新话题 回复该主题

[分享] RPCS3-memory-engine (?) [复制链接]

1#
先上載點
https://www.mediafire.com/file/079j30w7r3udy1e

回應版主要求做的東西, 做了最少的改動
雖然文件名改了, 但內部程序名沒改
結果因為內存區域大小不足和顯示地址問題
而改了兩個源代碼文件, 但內存大小又不能太大
本來兩個地址段都設定SIZE=10000000
結果不能hook模擬器, 後來改8000000才終於可以用
另外因無法定位實際地址300000000和330000000
所以定位鏡像地址400000000和430000000

一個限制, 模擬器每次打開只能運行一個遊戲
要運行其他遊戲請重開模擬器, 否則hook不到模擬器!
最后编辑Blader 最后编辑于 2023-06-13 15:11:31
分享 转发
TOP
2#

晚上回家试试
TOP
3#



无法正常的获取到
其实根本不用去用到hook
直接识别从300000000开始或者400000000开始就好

另外300010000之前的部分其实不能省略
因为内部指针是包含了这部分地址的
否则只能做偏移
TOP
4#

虽然对RPCS3的内存机制还不熟悉
但有效内存肯定不能只定义一段

以第三次机器人大战Z 时狱篇 为例

第一段内存有效:
300000000-300FDFFFF
其中
300000000-300010000
显示为??,其他游戏也是
但是这段内存应该不能省
也就是说不能从
300010000开始算起

这和PS2其实一样
PS2的有效内存其实不是从
40000000开始的
而是从
40048000开始的
只是前面这一段没显示??而已

第三次机器人大战Z在修改的时候
中间还有几段有数据的内存但是没什么用
但是最后一段内存很有用
我估计其他游戏也一样
那就是从
3D0001000-3D0100FFF
这一段是堆栈缓存段
是否每个游戏都是这么大不清楚
如果每个游戏都这么大
那这一段可以作为游戏的第二段有效ram
TOP
5#

比如当你在游戏里对地图单位按X键查看单位信息的时候


可以通过内部的指针地址数据
获取到相关机师的数据

机体的也可以这样获取到
而这个一级指针的堆栈
就存储在
3D0001000-3D0100FFF这段地址上
TOP
6#

所以我觉得在不清楚内存机制的前提下
最好是把
300000000-3FFFFFFFF都涵盖在地址里
或者
400000000-4FFFFFFFF
TOP
7#

1. 我只對編譯有興趣而不是編程, 基本上改成這樣已經是極限

2. 內存地址和範圍無法直接指定
我相信模擬器本身也沒有直接在源代碼寫明0x300000000這個地址
應該是用了某個方法定址, 但我看不懂所以無解

3. 這工具一旦內存段範圍太大會影響使用, 卡成狗了簡直

基於這幾點, 我認為應該另請高明
不是我不幫忙, 是我能力不足無法幫忙
我基本沒學過編程, 雖然喜歡模擬器
卻沒有熱衷到會為此學習, 以上請版主諒解

測試的時候只用了OGMD, 所以不能用我很抱歉
沒想到其他遊戲居然用不到, 看來真不能只是隨便改改
最后编辑Blader 最后编辑于 2023-06-14 20:58:18
TOP
8#

没事
我也只是想想能不能改
其实用CE也没什么问题
只是因为反序问题内部指针不好处理而已
TOP
发新话题 回复该主题