|
Cheat Engine The Official Site of Cheat Engine
|
View previous topic :: View next topic |
Author |
Message |
reddominator93 How do I cheat? Reputation: 0
Joined: 25 Jun 2016 Posts: 3
|
Posted: Sat Jun 25, 2016 8:29 am Post subject: Need AA type help |
|
|
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 |
|
|
panraven Grandmaster Cheater Reputation: 54
Joined: 01 Oct 2008 Posts: 941
|
Posted: Sat Jun 25, 2016 9:45 am Post subject: |
|
|
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 |
|
|
reddominator93 How do I cheat? Reputation: 0
Joined: 25 Jun 2016 Posts: 3
|
Posted: Sat Jun 25, 2016 10:13 am Post subject: hehe |
|
|
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 |
|
|
panraven Grandmaster Cheater Reputation: 54
Joined: 01 Oct 2008 Posts: 941
|
Posted: Sat Jun 25, 2016 11:31 am Post subject: |
|
|
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 |
|
|
reddominator93 How do I cheat? Reputation: 0
Joined: 25 Jun 2016 Posts: 3
|
Posted: Sat Jun 25, 2016 11:50 am Post subject: |
|
|
thanks now
the scan take quite a while though...
|
|
Back to top |
|
|
panraven Grandmaster Cheater Reputation: 54
Joined: 01 Oct 2008 Posts: 941
|
Posted: Sat Jun 25, 2016 9:53 pm Post subject: |
|
|
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 |
|
|
|
|
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
|
|