OsuSync/OsuRTDataProvider

Can not get right file name of beatmap file.

Someone999 opened this issue · 80 comments

image
DirectoryName seems right, but the filename is wrong.
Whatever the filename is made up of only ASCII characters or other multi-byte characters.
Osu version: b20211004
ORTDP version: 1.6.6

Information in debug mode
image

Content read from detected memory by ORTDP.
image
In code, the offset of the filename is 0x8C, so I tried to read 256 bytes start at the address stored in 0x03CB3D50 + 0x8C. The data that I got is not a string.

I found that the offset of the filename has changed to 0x90. Please update your code.

image
Dump of the memory region

First 8 bytes of this region are {0x08, 0xfe, 0xfa ,0x00, 0x59, 0x00, 0x00, 0x00}

There is another problem here. The base address of the Mode can not be found.
image

This is what I found about the matching patterns.

Base Addresses:

  • Mode:
    • MemoryRegions:
      • Normal:
        • 0x0843B988: 67,19,05,01,74,0F,86,3D,X,X,X,X,00,0F,94,C0,0F,B6,C0,EB
        • 0x0849A8F4: 67,19,05,01,74,0F,86,3D,X,X,X,X,01,75,34,B9,5D,C0,DD,8F
        • 0x087EBB08: 55,8B,EC,56,8B,F1,83,3D,X,X,X,X,02,74,1B,B9,60,A5,93,12
        • 0x087EBD9C: 01,00,00,00,0F,B6,F8,A1,X,X,X,X,85,C0,74,0E,83,F8,02,0F
        • 0x087ED9B8: 74,14,85,D2,75,10,83,3D,X,X,X,X,01,74,07,33,C0,E9,1E,03
        • 0x087EE490: FF,33,D2,86,55,CC,83,3D,X,X,X,X,01,75,0C,C7,45,E0,8F,C2
        • 0x087EED7C: 0F,84,3E,01,00,00,83,3D,X,X,X,X,00,0F,85,31,01,00,00,8B
        • 0x129C4BB8: 00,00,85,C0,74,14,8B,15,X,X,X,X,FF,35,50,3D,CB,03,FF,15
        • 0x129C4BCC: 3C,9E,97,12,5D,C3,83,3D,X,X,X,X,03,75,06,81,E1,A7,FB,EF
        • 0x129C5458: 00,04,00,00,E8,55,83,3D,X,X,X,X,03,75,07,B8,00,80,00,00
        • 0x129D5FBC: 0F,84,73,01,00,00,83,3D,X,X,X,X,01,0F,84,66,01,00,00,8B
        • 0x129DAFE0: 0F,84,FD,01,00,00,83,3D,X,X,X,X,00,0F,85,F0,01,00,00,DD
        • 0x150C79B0: 00,0F,85,98,00,00,00,A1,X,X,X,X,48,83,F8,03,73,6D,FF,24
        • 0x15CB2990: 55,8B,EC,56,8B,F1,83,3D,X,X,X,X,03,75,4A,8B,C6,25,10,00
        • 0x15CBACD0: 83,FC,EA,8B,F0,57,FF,35,X,X,X,X,8B,CE,8B,55,B8,FF,15,88
        • 0x15CBB164: 7F,FC,EA,8B,F0,57,FF,35,X,X,X,X,8B,CE,8B,D3,FF,15,7C,32
        • 0x160F4054: FF,15,2C,E7,83,12,83,3D,X,X,X,X,03,75,51,A1,08,64,19,05
        • 0x160F41E8: EC,89,45,F0,8B,D9,83,3D,X,X,X,X,00,74,08,8D,65,F4,5B,5E
        • 0x1C7908D4: 00,00,85,C0,74,01,C3,A1,X,X,X,X,C3,00,00,00,00,00,00,00
        • 0x1C953194: 3B,08,85,C0,75,15,8B,15,X,X,X,X,B9,27,00,00,00,FF,15,24
        • 0x1C95666C: 14,E5,1E,08,55,8B,EC,A1,X,X,X,X,83,F8,04,73,27,FF,24,85
      • Overlapped:
        • 1:
          Pair: 0x1524D858,0x1524D860
          Regions:
          • 55,8B,EC,57,56,53,3B,0D,-{X,X,X,X,74,62,89,0D,X,X,X,X}-
          • -{X,X,X,X,74,62,89,0D,X,X,X,X}-,8B,3D,2C,3D,CB,03,85,FF

OsuRTDataProvider.zip
Try use this dll, i added osu ver 20211014 support. ;w;

OsuRTDataProvider.zip Try use this dll, i added osu ver 20211014 support. ;w;

Hello, can you send new offsets?

OsuRTDataProvider.zip Try use this dll, i added osu ver 20211014 support. ;w;

Hello, can you send new offsets?

here #57

OsuRTDataProvider.zip Try use this dll, i added osu ver 20211014 support. ;w;

Thanks

OsuRTDataProvider.zip Try use this dll, i added osu ver 20211014 support. ;w;

Hello, can you send new offsets?

I wrote it also. Form 0x8c to 0x90.

The new offset of Beatmap filename.

I had modified and compiled the code about Beatmap Filename myself. The new problem is the ModFinder init failed. Now we need a new base address of Mode.

I had modified and compiled the code about Beatmap Filename myself. The new problem is the ModFinder init failed. Now we need a new base address of Mode.

I didn't find this error on my pc, now I use OsuRTDataProvider.zip this file.
image

ok, thanks

I will confirm it.

image
This problem is still here.

Maybe is host program error. I use osu!sync 2.18.5 is ok, I haven't used osu!sync GUI

I used an elder version because of some reason.

Maybe related to system

My environment is Win10 1809, My friend Win7 is ok.

Mine is Win11 22000.194

But this works before 7 days

image
Pattern not found

Can you sent your program or add QQ(1051249625) talk.(English bad,gg)

直接开始问题也不大

程序的话,没啥好说的,一个样

觉得比较奇怪的一点就是,一段时间之前的确是能用的,一切变量都没变,直到osu!更新之后

我的也是更新后不能用,但我只改了一个变量就行了,因为我们用宿主程序不一样,所以也不知道会不会是你osu!sync GUI的问题,同程序两电脑不一样的话,那可能就是系统问题了

那么我试试最新的

看来系统问题了,还是炸

你有啥好用的内存搜索器没

我用mhs搜到了pattern,但是搜索pattern本身的时候慢得一批

暂时没有,很少碰这块东西

osu!会检测ce是真的麻烦

那我暴力搜索算了,全部读进来

新版本开ce直接退233

加了壳都过不去啊

常见的修改器和调试器都会检测

最新版的osu!sync试过也不行的话,那暂时就不知道啥问题了

我搜一下我自己找到的pattern

看看会不会有结果

试试看先吧

对了,能把ortdp的调试模式打开给我看看Mode的base address吗

我的pattern匹配了几个都是这个,但是结果都不正确
image

image
image
每次运行都是不同的

pattern没改过,一直是原版的这个
private static readonly string s_mode_pattern = "\xEC\x57\x56\x53\x3B\x0D\x00\x00\x00\x00\x74\x60\x89\x0D";

偏了2个字节

\x0F\x84\x73\x01\x00\x00\x83\x3D\x00\x00\x00\x00\x01\x0F\x84\x66\x01\x00\x00\x8B

不应该啊,咋偏的

改了一下调用的偏移,好像可以了

win11这波是要单独处理了么Orz

但是啥数据都没有啊

虽然模式整个可以读出来,但是RealTimePPDisplayer那边的数据完全读不到

Acc我本来是自己计算的,但是因为c300那些数据都读不到

读不到是因为事件根本就没触发,再次炸裂

Win11这是几个意思

我用源码重新搭建了一次环境,正常能用

我等会儿发下整个项目你试试

找pattern真的很烦人

所有的项目全部编译一次是吗

忘了传oppai.dll, 不过加进去应该就能用, mania貌似算不到pp,但是miss 100 50那些可以拿到

你就重新编译一次吧,我这边std模式是正常的,mania就不显示pp

Sync不见了

要不这样,我把我这边的插件打个包,发到你那里去

待会儿加你qq

ortdp我弄你那个

image
藏得深(摊手

然后要手动复制下dll到plugins目录

太草了

image

我qq 2668585799,待会儿同意一下