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 


Help Replace address..

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

Joined: 23 Aug 2018
Posts: 9

PostPosted: Sat Sep 15, 2018 2:05 am    Post subject: Help Replace address.. Reply with quote

HELP me sir
i use this scrypt but not effect in game

function MyAobScan(Bytes)
local Scan = createMemScan();
local replace = '0';
local replace_table = {};
Scan.OnlyOneResult=true;
Scan.firstScan(soExactValue, vtByteArray, rtTruncated, Bytes, "", 0x20000000, 0x90000000, "00 00 0 00 00", fsmNotAligned, "", true, false, false, false);
Scan.waitTillDone();
return Scan.getOnlyResult();
end
for byte in string.gfind(replace, "[^%s]+") do
table.insert(replace_table, tonumber('0x'..byte));
end
local data = AOBScan(scan);
if (data) then
local count = data.getCount();
for i=0, count-1 do
local address = data.getString(i);
writeBytes(address, replace_table);
end
end
Back to top
View user's profile Send private message
FreeER
Grandmaster Cheater Supreme
Reputation: 53

Joined: 09 Aug 2013
Posts: 1091

PostPosted: Sat Sep 15, 2018 8:33 am    Post subject: Reply with quote

Then something about it is wrong ¯\_(ツ)_/¯ Since you say there's no effect there's probably no error given so the syntax and function calls etc. probably all exist... so it's probably something to do with either the aob you're scanning for the data you're writing or the logic itself... we don't even know what game you're trying to use it on or what effect you want it to have so... what do you expect some random strange to be able to tell you?
_________________
https://github.com/FreeER/ has a few CE related repos
Back to top
View user's profile Send private message
bingo88
How do I cheat?
Reputation: 0

Joined: 23 Aug 2018
Posts: 9

PostPosted: Mon Sep 17, 2018 3:57 am    Post subject: Reply with quote

FreeER wrote:
Then something about it is wrong ¯\_(ツ)_/¯ Since you say there's no effect there's probably no error given so the syntax and function calls etc. probably all exist... so it's probably something to do with either the aob you're scanning for the data you're writing or the logic itself... we don't even know what game you're trying to use it on or what effect you want it to have so... what do you expect some random strange to be able to tell you?

Manual Scan Effect, but use this scrypt not effect, why? wrong scrypt?
Back to top
View user's profile Send private message
Corroder
Grandmaster Cheater Supreme
Reputation: 75

Joined: 10 Apr 2015
Posts: 1667

PostPosted: Mon Sep 17, 2018 4:36 am    Post subject: Reply with quote

AOB scan and replace (all results)

Code:
function multiAOBPatch(from,to,protect)
  local good,aob = 0,AOBScan(from,protect) -- default scan all memory region
  if (aob == nil) then
   showMessage("AOB not found..")
  else
--  if aob then
    for i=0,aob.Count-1 do
      if autoAssemble(aob[i]..":\ndb "..to)then good=good+1 end
    end
    showMessage("AOB Found and replaced")
    aob.Destroy()
  end
  return good
end


-- example to use :

function hackIt()  -- should be trigger by button click event or what ever
 aob_s ="24 01 62 07 12 0d 00 00 c1 24 64"
 aob_r = "24 25 62 07 12 0d 00 00 c1 24 64"
 from = tostring(aob_s)
 to = tostring(aob_r)
 --- print(from)
 --- print(to)
 multiAOBPatch(from,to,"+W*X-C")
end

button_event.onClick = hackIt  --- or what ever

_________________
Stealing Code From Stolen Code...
And Admit It.. Hmmm....Typically LOL
Back to top
View user's profile Send private message
bingo88
How do I cheat?
Reputation: 0

Joined: 23 Aug 2018
Posts: 9

PostPosted: Tue Sep 18, 2018 3:03 am    Post subject: Reply with quote

Corroder wrote:
AOB scan and replace (all results)

Code:
function multiAOBPatch(from,to,protect)
  local good,aob = 0,AOBScan(from,protect) -- default scan all memory region
  if (aob == nil) then
   showMessage("AOB not found..")
  else
--  if aob then
    for i=0,aob.Count-1 do
      if autoAssemble(aob[i]..":\ndb "..to)then good=good+1 end
    end
    showMessage("AOB Found and replaced")
    aob.Destroy()
  end
  return good
end


-- example to use :

function hackIt()  -- should be trigger by button click event or what ever
 aob_s ="24 01 62 07 12 0d 00 00 c1 24 64"
 aob_r = "24 25 62 07 12 0d 00 00 c1 24 64"
 from = tostring(aob_s)
 to = tostring(aob_r)
 --- print(from)
 --- print(to)
 multiAOBPatch(from,to,"+W*X-C")
end

button_event.onClick = hackIt  --- or what ever

i want range address scan, overload cpu not use range address scan..i want scan address 0x1000000 - 0x5000000 cant use cant use this scrypt?
Back to top
View user's profile Send private message
Corroder
Grandmaster Cheater Supreme
Reputation: 75

Joined: 10 Apr 2015
Posts: 1667

PostPosted: Tue Sep 18, 2018 7:37 am    Post subject: Reply with quote

Tested with a online game, process to open "plugin-container.exe"

Code:
local scan = createMemScan(true);
scan.setOnlyOneResult(false);
scan.firstScan(soExactValue,vtByteArray,rtTruncated, "24 01 ?? ??",nil,0,0xffffffffffffffff,"+W*X-C","", fsmNotAligned, "", true, false, false, false)
scan.waitTillDone();

--Fetch result
local FoundList=createFoundList(scan);
FoundList.initialize();

--Overwite
for i=0,FoundList.Count-1 do
  print(FoundList.Address[i]);
  -- writeFloat(FoundList.Address[i],0.0);
end

--Cleanup
FoundList.deinitialize();
FoundList.destroy();
FoundList=nil;
scan.destroy();
scan=nil


-- results :
004401B0
004BFE90
00549B0D
0054CB79
00A1E450
00A26C88
05D3C988
05D7EDE4
05DC46F8
05DD17F8
05DDD370
05DDD380
05DE5358
06948070
069E44BC
069E45C9 ...and so on


if aob is not exist in address range, it with give error message "no value"
and if code above is work, then make it as a function by yourself...

_________________
Stealing Code From Stolen Code...
And Admit It.. Hmmm....Typically LOL
Back to top
View user's profile Send private message
bingo88
How do I cheat?
Reputation: 0

Joined: 23 Aug 2018
Posts: 9

PostPosted: Tue Sep 18, 2018 8:09 am    Post subject: Reply with quote

Corroder wrote:
Tested with a online game, process to open "plugin-container.exe"

Code:
local scan = createMemScan(true);
scan.setOnlyOneResult(false);
scan.firstScan(soExactValue,vtByteArray,rtTruncated, "24 01 ?? ??",nil,0,0xffffffffffffffff,"+W*X-C","", fsmNotAligned, "", true, false, false, false)
scan.waitTillDone();

--Fetch result
local FoundList=createFoundList(scan);
FoundList.initialize();

--Overwite
for i=0,FoundList.Count-1 do
  print(FoundList.Address[i]);
  -- writeFloat(FoundList.Address[i],0.0);
end

--Cleanup
FoundList.deinitialize();
FoundList.destroy();
FoundList=nil;
scan.destroy();
scan=nil


-- results :
004401B0
004BFE90
00549B0D
0054CB79
00A1E450
00A26C88
05D3C988
05D7EDE4
05DC46F8
05DD17F8
05DDD370
05DDD380
05DE5358
06948070
069E44BC
069E45C9 ...and so on


if aob is not exist in address range, it with give error message "no value"
and if code above is work, then make it as a function by yourself...

thanks for the reply.
im use this scrypt.. but overload in PC, i want search address 0x10000000 - 0x90000000 can?

function CEButton1Click(sender)
Sleep(1000);
local scan = '00 00 00 00 00 00 00 00 00';
local replace = '01 02 03 01 02 00 00 10 00';
local replace_table = {};
for byte in string.gfind(replace, "[^%s]+") do
table.insert(replace_table, tonumber('0x'..byte));
end
local data = AOBScan(scan);
if (data) then
local count = data.getCount();
for i=0, count-1 do
local address = data.getString(i);
writeBytes(address, replace_table);
end
end
Sleep(3000);
local scan = '00 00 00 00 00 00 00 00 00';
local replace = '01 02 03 01 02 00 00 10 00';
local replace_table = {};
for byte in string.gfind(replace, "[^%s]+") do
table.insert(replace_table, tonumber('0x'..byte));
end
local data = AOBScan(scan);
if (data) then
local count = data.getCount();
for i=0, count-1 do
local address = data.getString(i);
writeBytes(address, replace_table);
end
end
Sleep(3000);
local scan = '00 00 00 00 00 00 00 00 00';
local replace = '01 02 03 01 02 00 00 10 00';
local replace_table = {}; -- writeBytes function requires either a table with hex values or parameters with hex values... this converts the string above to a table.
for byte in string.gfind(replace, "[^%s]+") do
table.insert(replace_table, tonumber('0x'..byte));
end
local data = AOBScan(scan);
if (data) then
local count = data.getCount();
for i=0, count-1 do
local address = data.getString(i);
writeBytes(address, replace_table);
end
end
Sleep(2000);
local scan = '00 00 00 00 00 00 00 00 00';
local replace = '01 02 03 01 02 00 00 10 00';
local replace_table = {};
for byte in string.gfind(replace, "[^%s]+") do
table.insert(replace_table, tonumber('0x'..byte));
end
local data = AOBScan(scan);
if (data) then
local count = data.getCount();
for i=0, count-1 do
local address = data.getString(i);
writeBytes(address, replace_table);
end
end
Sleep(2000);
local scan = '00 00 00 00 00 00 00 00 00';
local replace = '01 02 03 01 02 00 00 10 00';
local replace_table = {};
for byte in string.gfind(replace, "[^%s]+") do
table.insert(replace_table, tonumber('0x'..byte));
end
local data = AOBScan(scan);
if (data) then
local count = data.getCount();
for i=0, count-1 do
local address = data.getString(i);
writeBytes(address, replace_table);
end
end
Sleep(3000);
local scan = '00 00 00 00 00 00 00 00 00';
local replace = '01 02 03 01 02 00 00 10 00';
local replace_table = {};
for byte in string.gfind(replace, "[^%s]+") do
table.insert(replace_table, tonumber('0x'..byte));
end
local data = AOBScan(scan);
if (data) then
local count = data.getCount();
for i=0, count-1 do
local address = data.getString(i);
writeBytes(address, replace_table);
end
end
Sleep(3000);
local scan = '00 00 00 00 00 00 00 00 00';
local replace = '01 02 03 01 02 00 00 10 00';
local replace_table = {};
for byte in string.gfind(replace, "[^%s]+") do
table.insert(replace_table, tonumber('0x'..byte));
end
local data = AOBScan(scan);
if (data) then
local count = data.getCount();
for i=0, count-1 do
local address = data.getString(i);
writeBytes(address, replace_table);
end
end
Sleep(3000);
local scan = '00 00 00 00 00 00 00 00 00';
local replace = '01 02 03 01 02 00 00 10 00';
local replace_table = {};
for byte in string.gfind(replace, "[^%s]+") do
table.insert(replace_table, tonumber('0x'..byte));
end
local data = AOBScan(scan);
if (data) then
local count = data.getCount();
for i=0, count-1 do
local address = data.getString(i);
writeBytes(address, replace_table);
end
end
----------------------------------------------------------------------------------
Sleep(500);
showMessage('Hack SUCCESS')
end
Back to top
View user's profile Send private message
Corroder
Grandmaster Cheater Supreme
Reputation: 75

Joined: 10 Apr 2015
Posts: 1667

PostPosted: Tue Sep 18, 2018 10:24 am    Post subject: Reply with quote

Need info the game name to test your script (AOB data)
You can tell via message

or you can implementing aobscanregion() in AA script

https://wiki.cheatengine.org/index.php?title=Auto_Assembler:aobScanRegion

_________________
Stealing Code From Stolen Code...
And Admit It.. Hmmm....Typically LOL
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 Lua Scripting 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