OsuSync / OsuRTDataProvider

A sync plugin, get OSU! game data from memory.
GNU Lesser General Public License v3.0
64 stars 17 forks source link

Can not get right file name of beatmap file. #56

Open Someone999 opened 2 years ago

Someone999 commented 2 years ago

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

Someone999 commented 2 years ago

Information in debug mode image

Someone999 commented 2 years ago

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.

Someone999 commented 2 years ago

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

Someone999 commented 2 years ago

image Dump of the memory region

Someone999 commented 2 years ago

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

Someone999 commented 2 years ago

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

Someone999 commented 2 years ago

This is what I found about the matching patterns.

Base Addresses:

wanjiaXG commented 2 years ago

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

23cku0r commented 2 years ago

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

Hello, can you send new offsets?

wanjiaXG commented 2 years ago

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

Hello, can you send new offsets?

here https://github.com/OsuSync/OsuRTDataProvider/pull/57

Someone999 commented 2 years ago

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

Thanks

Someone999 commented 2 years ago

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.

Someone999 commented 2 years ago

The new offset of Beatmap filename.

Someone999 commented 2 years ago

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.

wanjiaXG commented 2 years ago

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

wanjiaXG commented 2 years ago

image

Someone999 commented 2 years ago

ok, thanks

Someone999 commented 2 years ago

I will confirm it.

Someone999 commented 2 years ago

image This problem is still here.

Someone999 commented 2 years ago

image

wanjiaXG commented 2 years ago

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

Someone999 commented 2 years ago

I used an elder version because of some reason.

Someone999 commented 2 years ago

Maybe related to system

wanjiaXG commented 2 years ago

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

Someone999 commented 2 years ago

Mine is Win11 22000.194

Someone999 commented 2 years ago

But this works before 7 days

Someone999 commented 2 years ago

image Pattern not found

wanjiaXG commented 2 years ago

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

Someone999 commented 2 years ago

直接开始问题也不大

Someone999 commented 2 years ago

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

Someone999 commented 2 years ago

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

wanjiaXG commented 2 years ago

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

Someone999 commented 2 years ago

那么我试试最新的

Someone999 commented 2 years ago

看来系统问题了,还是炸

Someone999 commented 2 years ago

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

Someone999 commented 2 years ago

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

wanjiaXG commented 2 years ago

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

Someone999 commented 2 years ago

osu!会检测ce是真的麻烦

Someone999 commented 2 years ago

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

wanjiaXG commented 2 years ago

新版本开ce直接退233

Someone999 commented 2 years ago

加了壳都过不去啊

Someone999 commented 2 years ago

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

wanjiaXG commented 2 years ago

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

Someone999 commented 2 years ago

我搜一下我自己找到的pattern

Someone999 commented 2 years ago

看看会不会有结果

wanjiaXG commented 2 years ago

试试看先吧

Someone999 commented 2 years ago

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

Someone999 commented 2 years ago

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

wanjiaXG commented 2 years ago

image image 每次运行都是不同的

wanjiaXG commented 2 years ago

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