Cheat Engine Forum Index Cheat Engine
The Official Site of Cheat Engine
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 


Need AA type help

 
Post new topic   Reply to topic    Cheat Engine Forum Index -> Cheat Engine
View previous topic :: View next topic  
Author Message
reddominator93
How do I cheat?
Reputation: 0

Joined: 25 Jun 2016
Posts: 3

PostPosted: Sat Jun 25, 2016 8:29 am    Post subject: Need AA type help Reply with quote

Hello,
I am hoping to make an AA type but I don't know how-
The values would be like this:
A = 1
z = 2
Q = 3
L = 4
m = 5
W = 6
U = 7
X = 8
O = 9
b = 0
So in the game values are represented by letters and are a string
for example 1214 = AzAL
It is also case sensitive.
How would I go about making an AA type to do this automatically
so I could type 1213 without translating it into AzAQ?
Please help.
Back to top
View user's profile Send private message
panraven
Grandmaster Cheater
Reputation: 54

Joined: 01 Oct 2008
Posts: 941

PostPosted: Sat Jun 25, 2016 9:45 am    Post subject: Reply with quote

Is there something like a zero-byte terminator, or length value prefix(byte or dword)? or sure within a fixed size and alignment eg.

zero-terminated
41 7A 41 51 00 <-- AzAQ

or
length-prefix
04 41 7A 41 51

or
fixed alignment:
address is always ended with last digit 0/4/8/c,=> 4-byte alignment

Also, how large the number can be?

bye~

_________________
- Retarded.
Back to top
View user's profile Send private message
reddominator93
How do I cheat?
Reputation: 0

Joined: 25 Jun 2016
Posts: 3

PostPosted: Sat Jun 25, 2016 10:13 am    Post subject: hehe Reply with quote

Who knows? I do? Not? do?

Is good. I think is 2,147,483,648, dont know. only tested up to 999999
Back to top
View user's profile Send private message
panraven
Grandmaster Cheater
Reputation: 54

Joined: 01 Oct 2008
Posts: 941

PostPosted: Sat Jun 25, 2016 11:31 am    Post subject: Reply with quote

ah... ok~

When enter a smaller number than the original, original digits may remain as trailing digits of new value, eg.. if original display as 59999, enter 123 will displayed as 12399.

Entering negative number will be wrap to a big positive number, eg. -1 will become 0x7fffffff, 2147483647 (decimal).

Code:
typename="BigEndIntDigit_bAzQLmWUXO" --shown as the typename in ce
bytecount=10  --number of bytes of this type
functionbasename="beI_bAZQ"

function beI_bAZQ_bytestovalue(b0,b1,b2,b3,b4,b5,b6,b7,b8,b9)

  local digits = 'bAzQLmWUXO'
  local base = digits:len()
  local zerodigit = digits:sub(1,1):byte()
  local b = {b0,b1,b2,b3,b4,b5,b6,b7,b8,b9}
  local v,count = 0,0
  local invalid = 0x80000000

  for i=1,#b do
    local idx = digits:find(string.char(b[i]),1,true)
    if idx==nil then
      break
    elseif i==1 and idx==1 then -- special case for leading zero
      return 0
    else
      v = v * base + idx-1
      count = count + 1
    end
  end

  if count == 0 or              -- no matching digits at all
     v==0 and count~=1 or       -- must be 1 digit for zero value
     count>1 and b0==zerodigit  -- no higher zero digit
  then
    return invalid
  else
    return v
  end
end

function beI_bAZQ_valuetobytes(i,address)
  local digits = 'bAzQLmWUXO'
  local base = digits:len()
  local b = readBytes(address,10,true)
  local v = {}

  i = bAnd(i,0x7fffffff) -- no negative
  if i==0 then -- special case for exact zero
    v = {digits:sub(1,1):byte()}
  else
    while i~=0 do
      local h = (i%base) + 1
      v[1+#v] = digits:sub(h,h):byte()
      i = math.floor(i / base)
    end
  end
  for i=1,#v do
    b[#v-i+1] = v[i]
  end

  local UnPack = table.unpack or unpack
  return UnPack(b)
end
return typename,bytecount,functionbasename

_________________
- Retarded.
Back to top
View user's profile Send private message
reddominator93
How do I cheat?
Reputation: 0

Joined: 25 Jun 2016
Posts: 3

PostPosted: Sat Jun 25, 2016 11:50 am    Post subject: Reply with quote

thanks now Very Happy
the scan take quite a while though...
Back to top
View user's profile Send private message
panraven
Grandmaster Cheater
Reputation: 54

Joined: 01 Oct 2008
Posts: 941

PostPosted: Sat Jun 25, 2016 9:53 pm    Post subject: Reply with quote

If the value locate at certain address alignment, eg address ended with digit 0/4/8/c, using a search alignment eg.4, can speed up a bit.

bye~

_________________
- Retarded.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Cheat Engine Forum Index -> Cheat Engine All times are GMT - 6 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


Powered by phpBB © 2001, 2005 phpBB Group

CE Wiki   IRC (#CEF)   Twitter
Third party websites