Bug 7.1 CE version

Anything Cheat Engine related, bugs, suggestions, helping others, etc..
Eric
Hall of Famer
Hall of Famer
Posts: 174
Joined: Thu Mar 02, 2017 11:01 pm
Reputation: 90

Re: Bug 7.1 CE version

Post by Eric »

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

User avatar
kantoboy69
Expert Cheater
Expert Cheater
Posts: 90
Joined: Fri Aug 30, 2019 5:33 am
Reputation: 50

Re: Bug 7.1 CE version

Post by kantoboy69 »

xorps wrote:
Mon May 11, 2020 8:24 am
Hi guys! Why doesn't it write zero normally :? On CE version 7.0 everything is normal writes
Picture! [Link] [Link]
That's weird @xorps

Tried it on mine and it looks just fine. Using AMD2500u
Image[Link]

User avatar
xorps
Table Makers
Table Makers
Posts: 82
Joined: Sun Nov 05, 2017 11:39 am
Reputation: 70

Re: Bug 7.1 CE version

Post by xorps »

Eric wrote:
Tue May 12, 2020 8:20 am
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! :mellow:
Last edited by xorps on Tue May 12, 2020 2:14 pm, edited 1 time in total.

User avatar
kantoboy69
Expert Cheater
Expert Cheater
Posts: 90
Joined: Fri Aug 30, 2019 5:33 am
Reputation: 50

Re: Bug 7.1 CE version

Post by kantoboy69 »

xorps wrote:
Tue May 12, 2020 2:01 pm
Eric wrote:
Tue May 12, 2020 8:20 am
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.

User avatar
mgr.inz.Player
Cheater
Cheater
Posts: 37
Joined: Fri Mar 03, 2017 8:41 am
Reputation: 42

Re: Bug 7.1 CE version

Post by mgr.inz.Player »

float conversion to hex is made in this simple piece of code (ConvertHexStrToRealStr function inside parsers.pas):

Code: Select all

        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:
Image

and this (note: must be upper case):
Image

while you have CE attached to: nothing, tutorial, those three games.

User avatar
xorps
Table Makers
Table Makers
Posts: 82
Joined: Sun Nov 05, 2017 11:39 am
Reputation: 70

Re: Bug 7.1 CE version

Post by xorps »

Spoiler
here are the guys I made a video :roll:

User avatar
mgr.inz.Player
Cheater
Cheater
Posts: 37
Joined: Fri Mar 03, 2017 8:41 am
Reputation: 42

Re: Bug 7.1 CE version

Post 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.

User avatar
kantoboy69
Expert Cheater
Expert Cheater
Posts: 90
Joined: Fri Aug 30, 2019 5:33 am
Reputation: 50

Re: Bug 7.1 CE version

Post by kantoboy69 »

xorps wrote:
Tue May 12, 2020 5:11 pm
Spoiler
here are the guys I made a video :roll:
It was fun watching it.

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

Eric
Hall of Famer
Hall of Famer
Posts: 174
Joined: Thu Mar 02, 2017 11:01 pm
Reputation: 90

Re: Bug 7.1 CE version

Post by Eric »

Does your table have a memory record named "float" ? Try renaming it to floating

User avatar
mgr.inz.Player
Cheater
Cheater
Posts: 37
Joined: Fri Mar 03, 2017 8:41 am
Reputation: 42

Re: Bug 7.1 CE version

Post 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"

User avatar
xorps
Table Makers
Table Makers
Posts: 82
Joined: Sun Nov 05, 2017 11:39 am
Reputation: 70

Re: Bug 7.1 CE version

Post 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 :)

GreenHouse
Expert Cheater
Expert Cheater
Posts: 855
Joined: Fri Oct 12, 2018 10:25 pm
Reputation: 891

Re: Bug 7.1 CE version

Post by GreenHouse »

xorps wrote:
Wed May 13, 2020 10:13 am
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.

User avatar
xorps
Table Makers
Table Makers
Posts: 82
Joined: Sun Nov 05, 2017 11:39 am
Reputation: 70

Re: Bug 7.1 CE version

Post by xorps »

How do explain this ? :roll:
Spoiler

User avatar
mgr.inz.Player
Cheater
Cheater
Posts: 37
Joined: Fri Mar 03, 2017 8:41 am
Reputation: 42

Re: Bug 7.1 CE version

Post 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

Code: Select all

<Description>"float"</Description>
and change that to

Code: Select all

<Description>"float value"</Description>
Then save the changes.


Or load your CT file and execute this Lua script:

Code: Select all

-- "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

User avatar
xorps
Table Makers
Table Makers
Posts: 82
Joined: Sun Nov 05, 2017 11:39 am
Reputation: 70

Re: Bug 7.1 CE version

Post by xorps »

Guys thank you all - it's working :)
Do have to translate all the tables this way ?

Post Reply

Who is online

Users browsing this forum: No registered users