Try installing to a different folder like c:\ce. and try mov [rax+70],(float)1 on the tutorial instead if the game you're usually attaching to
Everything works as it should on the tutorial. Works just as well on games x32 But 3 games tried x64 and alas, the data is not written correctly.
I have an old i7 4790k processor!
Try installing to a different folder like c:\ce. and try mov [rax+70],(float)1 on the tutorial instead if the game you're usually attaching to
Everything works as it should on the tutorial. Works just as well on games x32 But 3 games tried x64 and alas, the data is not written correctly.
Check if they are dotnet.
Dotnet can be compiled using any architecture
Which I think gonna mess it up like that
Better create a profile of those programs, .net /vc++ or engine name
Also the machine you use like intel or amd, then the installed os, 64-bit or 32-bit
e.g. using 64bit intel machine using windows 32-bit
I remember that acer atom capable of 64-bit windows but limited to 32-bit of windows.
Re: Bug 7.1 CE version
Posted: Tue May 12, 2020 3:33 pm
by mgr.inz.Player
float conversion to hex is made in this simple piece of code (ConvertHexStrToRealStr function inside parsers.pas):
if copy(s,1,7)='(FLOAT)' then
begin
t:=copy(s,8);
val(t, f,j);
if j=0 then
begin
result:='$'+inttohex(pdword(@f)^,8);
if s[1]='-' then
result:='-'+result;
if s[1]='+' then
result:='+'+result;
exit;
end;
end;
It sets f (type single) variable with value right after "(float)" string. @f gets address, pdword casts it to dword pointer, then dereferenced with ^, then converted to hex string with minimum 8 chars (prefixed with 0s).
Can you test this:
and this (note: must be upper case):
while you have CE attached to: nothing, tutorial, those three games.
Re: Bug 7.1 CE version
Posted: Tue May 12, 2020 5:11 pm
by xorps
Spoiler
here are the guys I made a video
Re: Bug 7.1 CE version
Posted: Tue May 12, 2020 7:31 pm
by mgr.inz.Player
Too bad you didn't check the "dd (float)1" with single-line assembler and "(FLOAT)1" used as pointer offset. That would give us much more info.
e.g.
"dd (float)1" is one of few things processed at the very beginning of TSingleLineAssembler.Assemble function.
"(FLOAT)1" used as pointer offset would tell about how ConvertHexStrToRealStr and HexStrToInt work for you when CE is attached to those games.
1) anti-cheat that watches code changes
try to add the address in the table (the code part), make it array of bytes and include the whole opcode size
then add it to what access this address to see if there's another thread watching code changes and modifies it
2) Virtualization environment either on game or your computer (sandbox)
I'm not sure how to check for this though
Re: Bug 7.1 CE version
Posted: Tue May 12, 2020 11:59 pm
by Eric
Does your table have a memory record named "float" ? Try renaming it to floating
Re: Bug 7.1 CE version
Posted: Wed May 13, 2020 1:00 am
by mgr.inz.Player
Probably this is the cause. In his last last video ( 5:47 ), hex value is +1 and then +100 to some other value.
"(float)1" got converted to "somevalue+1" and "somevalue+100"
Re: Bug 7.1 CE version
Posted: Wed May 13, 2020 10:13 am
by xorps
I've figured out what is the reaosn of this bug. Cheat tables created in older version fo CE are parsed inccorrectly in 7.1 version in my case. If I create the script from scratch all works ok. Can anyone test that case too?
The problem is with numbers with a dot. Integers are written normally
Cheat tables created in older version fo CE are parsed inccorrectly in 7.1 version in my case. If I create the script from scratch all works ok. Can anyone test that case too?
That's not the reason. At least it wasn't in my case. I had a table that had that problem when using 7.1 RC 2.3, and when using it on the official release and older versions, the script did work perfectly, with no changes on the scripts.
Re: Bug 7.1 CE version
Posted: Wed May 13, 2020 10:55 am
by xorps
How do explain this ?
Spoiler
Re: Bug 7.1 CE version
Posted: Wed May 13, 2020 12:09 pm
by mgr.inz.Player
As mentioned previously you have a memory record with description "float". Just open your CT file with notepad++ or other decent text editor and search for
-- "rename" some memory records
for i=0,AddressList.Count-1 do
if string.lower(AddressList[i].Description) == "float" or
string.lower(AddressList[i].Description) == "double" then
AddressList[i].Description = AddressList[i].Description.." value"
end
end
MainForm.miSave.doClick() -- save changes
Re: Bug 7.1 CE version
Posted: Wed May 13, 2020 1:15 pm
by xorps
Guys thank you all - it's working
Do have to translate all the tables this way ?