fgt5uh Posted May 22, 2023 Posted May 22, 2023 Quote No valid segment found! SrtCrashFix64 patch cannot be applied. It may happen due to incompatible runtime version or some other plugin already made changes to the patching segment. Unfortunately i am getting this for skyrimvr, i disabled all plugins but sksevr
fgt5uh Posted May 22, 2023 Posted May 22, 2023 (edited) While searching around with the find_segment function I removed the inner loop of the search function to make it faster.. i think std::list<byte*> find_segment(byte* start, byte* stop, byte* segment, int segment_len) { std::list<byte*> matches; int seq_match = 0; for (byte* ptr = start; ptr < stop; ptr++) { if (*ptr == segment[seq_match]) { seq_match++; } else { seq_match = 0; } if (seq_match == segment_len) { byte* match = ptr - segment_len; matches.push_back(match); } if (matches.size() > 1) { break; } } return matches; } Also I noticed that in the original code the seach starts at 0xB669C0 and ends at 0x200000, isnt 0x200000<0xB669C0 or am I not understanding something?? Edit, ah i overlocked the other find_segment, that explains why i thought it was so slow lol Edited May 22, 2023 by fgt5uh
fgt5uh Posted May 23, 2023 Posted May 23, 2023 I noticed that the LE patch and SE patch look quite similar. LE: byte expected[] = { 0xF, 0xBF, 0x86, 0xA8, 0x0, 0x0, 0x0 }; byte data[] = { 0x33, 0xC0, 0x90, 0x90, 0x90, 0x90, 0x90 }; SE: //byte expected[] = { 0xF, 0xBF, 0x83, 0x28, 0x1, 0x0 }; // movsx eax,word ptr ds:[rbx+128] //byte data[] = { 0x33, 0xC0, 0x90, 0x90, 0x90, 0x90, 0x90 }; // xor eax,eax + nop's The first two and the last one entry are the same, is that a pattern or just random chance? Becouse I found that there are 150 instances of where there are matches between first, second and last and >5k of matching first and second only in the range 0x000000 -> 0xFFFFFF. Is there a chance that i find the animation fix patch location by going through all of them?
fgt5uh Posted May 23, 2023 Posted May 23, 2023 (edited) Lol, i think i found it no crash with byte expected[] = { 0xF, 0xBF, 0x83, 0x28, 0x1, 0x0, 0x0 }; RelocAddr<uintptr_t> addr(0xba1830); // SkyrimVR it was number 109 of 150, luckily i started at location 100, how can i test it further? Edited May 23, 2023 by fgt5uh
test456test456 Posted November 4, 2023 Posted November 4, 2023 hi I cant find Data/SKSE/Plugins any wear can some one help thanks
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now