-
Notifications
You must be signed in to change notification settings - Fork 5
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Apex Legends Fix? #3
Comments
Hi! The hex code for What you would wish to look for is: And you absolutely need a disassembler to do this. Searching for hex in a multi-megabyte exe/dll is tedious and unnecessary. |
I've looked at this and seems that you're out of luck, because Apex Legends is using Easy Anti-Cheat. This means two things:
|
I'm trying to learn how to use a disassambler only for a game and for the incompetence of Respawn. Seems legit. |
Can't we just modify the minor or major index in the code(i don't know nothing of Assembly)so it will proceed if the value is not major or equal to 0? |
@SergioPrinci as @beatcracker mentioned, we cannot modify the code, we cannot inject DLL (both my original program and SDE depend on it). |
or we can do nothing and let them die :D |
Ciao Sergio! |
The real solution: Write to EA to solve this using this thread. |
@alainazpe I'd be very surprised if it resolves that way, Microsoft spent years of not giving a shit about the same issue with Quantum Break (and still doesn't, AFAIK). At least they had released DX11 version though. |
I'm in that very thread, I'm Cozzolino
Thanks for your interest and support 🙂
…On Saturday, February 23, 2019, alainazpe ***@***.***> wrote:
The real solution:
Write to EA to solve this using this thread.
https://answers.ea.com/t5/Technical-Issues/Cpu-does-not-
have-POPCNT-help/td-p/7478453/highlight/false/page/24
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
<#3 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/Als9kBQ8nUfLhvwnivrXR1lSCntqZjurks5vQST0gaJpZM4a_V73>
.
|
ok, so i tried to find commands in the disassembled code like "cpuid" and see what were the valor of eax and ecx, but the results were very insufficient and now i don't have any ideas: how about you guys? please update (i don't want to do deadposting :p) thanks |
i read an article that was talking about tracing the command by the message box with the error, i should try that when i get home. |
@Cozzolino92 if you want you can email me in [email protected], so se can talk in a better way than this |
Could we put that instruction in the cpuid? |
I'm relatively sure you can fake cpuid from vmware and whatnot. Thing is, that isn't also emulating any new instruction (but maybe some fancy hypervisor could? Idk) Anyway, I just wanted to say that there are lots of methods to inject dlls into EAC. |
Well, my PC broke, so I need to change It with something new, I don't have this problem anymore, but now I know how EA works and I will NEVER buy games from their official store. Thanks anyway for all the support, if you need some type of manuale help just ask me, I will be happy to help! |
So.. I have been trying to very dumbly find some software to make progress (since pin is certainly unsuited for this) The problem with the game then is that EAC driver protects its memory, in addition to the plain "taking care of starting it". |
Well, well, well ladies and gentlemen: I could get in-game. 60 freaking smooth FPS nonetheless. You just need to edit on line 43 of file
Of course, this assuming you have extracted all the relevant files into the game root folder. |
Ok so, new month, new findings. Armed with patience, a theory started to haunt my dreams. I tried to force the popcnt flag in vmware
... And it turns out that well, no shit, the game is actually still using that instruction somewhere (addresses 0x14014FE05, 0x14014FE10 and 0x14006B63D to be precise.. but hell if I was a reverse engineer). Long story short then, I see only few solutions if "touching runtime" cannot be a thing with EAC:
|
Hello Mirh. First of all, thank you for all the pacience and perseverance you're having with popcnt and Apex. I hope EA is trying to resolve the popcnt problem, we will know it as time goes by. And also, thanks for having us informed about all the research you've done. |
I fear this was the last straw for me that I had in mind to try. Though at least now you can fucking tell in the face of "you have old cpu" people that you can get perfect (also, infuriating!) in-game results |
My PC has a Xeon with VT support, how could the game be able to run? |
You get linux, patch your kernel to simulate popcnt, then install QEMU and use VFIO to pass your gpu (should work even if you just have one) to the windows guest. |
Nevermind... My CPU supports VT-d, my P45 chipset doesn't...
|
So, just a casual update. So, long story short, only some kind of higher level virtualization seems possible (because only that allows you to spoof CPUID).. but I'm afraid situation is worse than I had thought. When a VT-x guest triggers an exception, that becomes a vm exit event for the hypervisor to handle, whatever you do with the host kernel is meaningless. Alternatively.. perhaps you you could tinker with the guest kernel, but as already said, it would be a basically revolutionary project on Windows. While on linux OPEMU may even be as good as you want (in fact, it might even be enough to handle SSSE3 for amd cpus) but it's still a long time before EAC will work on wine. Considerations about GPUs are thus, eventually, the lesser of problems. p.s. legend has that on AMD cpus, some old VMware product supported 64-bit binary translation (making guest code effectively run just like any other application). I couldn't ascertain its existence, let alone its performance, but with this said I think I'm done for good with speculation. |
R5 Reloaded doesn't run EAC, which means now you have free real estate with either this tool, or the linux stuff I mentioned above. |
Is there any chance you can look into a similar issue with Apex Legends? I believe the problem is nearly identical, the launcher requires POPCNT but the game itself doens't actually need it. I've attempted to find the Hex code that is searching for POPCNT but I cannot figure out which it is. Any help would vastly appreciated, there's a whole community working on finding a remedy to this fix on the EA forums but none of them have considered going into the code and therefore are looking in vain.
The text was updated successfully, but these errors were encountered: