View previous topic :: View next topic |
Author |
Message |
friedeggs912 Cheater Reputation: 0
Joined: 25 Sep 2022 Posts: 25
|
Posted: Sun Oct 02, 2022 6:34 am Post subject: Defined AOB in memory _Question ! |
|
|
Am a beginner and have this question !
is it possible to Search the memory by the names I Defined for the AOBs
and takes the number in" _Example2" and paste it to "_Example1 "
every 5 seconds ?
if not possible with names... please Explain in an easy way
and use an AOB Example
to take the value from AOB- Example B and put it in AOB- Example A
and keep copying every 5 seconds
Thank you for your time.
|
|
Back to top |
|
|
Csimbi I post too much Reputation: 94
Joined: 14 Jul 2007 Posts: 3110
|
Posted: Mon Oct 03, 2022 3:25 am Post subject: |
|
|
I'm not exactly sure I understand your use case.
Could you try it describing again? (detailed example?)
|
|
Back to top |
|
|
cooleko Grandmaster Cheater Reputation: 11
Joined: 04 May 2016 Posts: 717
|
Posted: Mon Oct 03, 2022 3:36 am Post subject: |
|
|
Someone's helping them with the same question in another thread.
|
|
Back to top |
|
|
friedeggs912 Cheater Reputation: 0
Joined: 25 Sep 2022 Posts: 25
|
Posted: Mon Oct 03, 2022 6:09 am Post subject: |
|
|
cooleko wrote: | Someone's helping them with the same question in another thread. |
my question this time is about code injection
Description: |
can i copy the value of that inj
default value is 0 |
|
Filesize: |
7.93 KB |
Viewed: |
2366 Time(s) |
|
Description: |
and paste that value in that inj ?
values here are changeable |
|
Filesize: |
7.98 KB |
Viewed: |
2368 Time(s) |
|
|
|
Back to top |
|
|
Csimbi I post too much Reputation: 94
Joined: 14 Jul 2007 Posts: 3110
|
Posted: Mon Oct 03, 2022 8:49 am Post subject: |
|
|
If I understand it correctly, you'd like one script update another script's AOB scan signature.
First off, an AOB script cannot update another AOB script.
Second, and AOB scan happens there and then when you enable the script - once it's complete it won't be run again, and the address will be lost unless you register it. Therefore, updating the signature associated with the AOB scan will not achieve anything unless you keep enabling and disabling that other script (which is a moot point).
I would go with a LUA script instead and create a thread that repeats AOB scans, and then run some LUA function once a change is detected in the address (or it was not found).
Keep in mind AOB scans are quite "expensive" - you might cause CPU and memory speed starvation for other processes.
|
|
Back to top |
|
|
friedeggs912 Cheater Reputation: 0
Joined: 25 Sep 2022 Posts: 25
|
Posted: Tue Oct 04, 2022 2:11 am Post subject: |
|
|
Csimbi wrote: | If I understand it correctly, you'd like one script update another script's AOB scan signature.
First off, an AOB script cannot update another AOB script.
Second, and AOB scan happens there and then when you enable the script - once it's complete it won't be run again, and the address will be lost unless you register it. Therefore, updating the signature associated with the AOB scan will not achieve anything unless you keep enabling and disabling that other script (which is a moot point).
I would go with a LUA script instead and create a thread that repeats AOB scans, and then run some LUA function once a change is detected in the address (or it was not found).
Keep in mind AOB scans are quite "expensive" - you might cause CPU and memory speed starvation for other processes. |
Thanks for replying
no actually i dont want to change the AOB Signature ... im asking if its possible to use this Aob inj that points to a Exact address
for Example
mov [_special],ebp
mov [ebp-00002374],eax
so here _special= ?? ?? ?? ?? (Changable)
mov [_aim],edi
mov [edi+00000628],esi
and _aim = 00 00 00 00
so Copying _special= ?? ?? ?? ?? and pasting it to _aim = 00 00 00 00
is that possible with Code injection ?
same question for Pointers
is it possible to copy and paste with pointers ?
|
|
Back to top |
|
|
Csimbi I post too much Reputation: 94
Joined: 14 Jul 2007 Posts: 3110
|
Posted: Tue Oct 04, 2022 3:48 am Post subject: |
|
|
When you create your AOB script with the first code, you put there a label and you register it:
Code: | label(myaddress)
registersymbol(myaddress)
...
[ENABLE]
...
myaddress:
mov [_aim],edi
mov [edi+00000628],esi
..
[DISABLE]
unregistersymbol(myaddress)
|
This is so the other script knows the address of the instruction you want to update.
So, in you second script, you patch the instruction using the symbol you registered (myaddress), the offset to the address in the instruction (02) and the new value (edi):
Code: | [ENABLE]
..
mov [myaddress+02],eax
..
[DISABLE]
...
|
|
|
Back to top |
|
|
friedeggs912 Cheater Reputation: 0
Joined: 25 Sep 2022 Posts: 25
|
Posted: Tue Oct 04, 2022 7:13 am Post subject: |
|
|
Csimbi wrote: | When you create your AOB script with the first code, you put there a label and you register it:
Code: | label(myaddress)
registersymbol(myaddress)
...
[ENABLE]
...
myaddress:
mov [_aim],edi
mov [edi+00000628],esi
..
[DISABLE]
unregistersymbol(myaddress)
|
This is so the other script knows the address of the instruction you want to update.
So, in you second script, you patch the instruction using the symbol you registered (myaddress), the offset to the address in the instruction (02) and the new value (edi):
Code: | [ENABLE]
..
mov [myaddress+02],eax
..
[DISABLE]
...
|
|
Description: |
ok so now here is the First Code to be registered as you instructed me |
|
Filesize: |
12.45 KB |
Viewed: |
2271 Time(s) |
|
Description: |
and here is the second Registered Code where I get to copy from it to _Aim
but I really don't get the second part up there:S
Code:
[ENABLE]
..
mov [myaddress+02],eax
..
[DISABLE]
...
can u please tell me what to write in the Script :s |
|
Filesize: |
11.92 KB |
Viewed: |
2271 Time(s) |
|
|
|
Back to top |
|
|
Csimbi I post too much Reputation: 94
Joined: 14 Jul 2007 Posts: 3110
|
Posted: Tue Oct 04, 2022 12:12 pm Post subject: |
|
|
I don't see the link between the two - the second one does not update anything in the first.
They just both save register values on their own.
|
|
Back to top |
|
|
friedeggs912 Cheater Reputation: 0
Joined: 25 Sep 2022 Posts: 25
|
Posted: Tue Oct 04, 2022 11:42 pm Post subject: |
|
|
Csimbi wrote: | I don't see the link between the two - the second one does not update anything in the first.
They just both save register values on their own. |
yes i dont know how to do it
can u please tell me what to write in the second Script :s
|
|
Back to top |
|
|
Csimbi I post too much Reputation: 94
Joined: 14 Jul 2007 Posts: 3110
|
Posted: Wed Oct 05, 2022 1:14 am Post subject: |
|
|
First off, you need to register the one you want to update.
Second, in the update script you need to write to that address the new value.
What I described above.
|
|
Back to top |
|
|
friedeggs912 Cheater Reputation: 0
Joined: 25 Sep 2022 Posts: 25
|
Posted: Wed Oct 05, 2022 5:35 am Post subject: |
|
|
Csimbi wrote: | First off, you need to register the one you want to update.
Second, in the update script you need to write to that address the new value.
What I described above. |
yes but I don't understand
your description :p please can u demonstrate it
|
|
Back to top |
|
|
AylinCE Grandmaster Cheater Supreme Reputation: 32
Joined: 16 Feb 2017 Posts: 1258
|
Posted: Wed Oct 05, 2022 7:03 am Post subject: |
|
|
@Csimbi ..
https://forum.cheatengine.org/viewtopic.php?t=620027&start=15
I think she wants to apply the solution here in asm script.
and script ;
Code: | [ENABLE]
{$lua}
if syntaxcheck then return end
--_aim
local aob1 = "E8 03 00 00" --Put here the unique code that will change.
--spesial_
local aob2 = "E8 03 00 00" --Put here the unique code to be copied.
local findAddr = {}
local chk = 1
local Addr1 = ""
local Addr2 = ""
if repTim then repTim.Destroy() repTim=nil end
repTim = createTimer() repTim.Interval=1000
repTim.Enabled=false
function MyAob(code,byt)
repTim.Enabled=false
local res = ""
result=AOBScan(code, '+W*X-C')
if result~=nil then
res = result[0] .. "+" .. byt
else
print("Code " .. chk .. " not found! The cycle has been stopped!")
chk = 3
end
result.Destroy()
chk = tonumber(chk) + 1
repTim.Enabled=true
return res
end
repTim.OnTimer=function()
if chk==1 then
Addr1 = MyAob(aob1,"40") -- 40 = 64 bytes (format hex: print(string.format("%02X",64)) --> 40 or 128 = 80)
end
if chk==2 then
Addr2 = MyAob(aob2,"40")
end
if chk==3 then
fnd = readInteger(Addr2)
writeInteger(Addr1,fnd)
end
if chk==4 then
print("Cycle stoped!")
repTim.Enabled=false
end
end
function start()
sleep(300)
if repTim.Enabled==false then
repTim.Enabled=true
else
repTim.Enabled=false
end
end
if pKey then pKey.Destroy() pKey = nil end
pKey = createHotkey(start, VK_F8)
{$asm}
[DISABLE]
{$lua}
if repTim then repTim.Destroy() repTim=nil end
if pKey then pKey.Destroy() pKey = nil end |
_________________
|
|
Back to top |
|
|
Csimbi I post too much Reputation: 94
Joined: 14 Jul 2007 Posts: 3110
|
Posted: Wed Oct 05, 2022 9:36 am Post subject: |
|
|
friedeggs912 wrote: | yes but I don't understand
your description :p please can u demonstrate it |
I could demonstrate, but I won't - you have all information you need.
How do you want to write the rest of the code if you can't even understand the basics?
You need to flip into creative mode and figure it out.
I want to teach you to catch your own fish and not catch it for you.
AylinCE wrote: | @Csimbi .. |
So why is he asking if he has a working code already
|
|
Back to top |
|
|
friedeggs912 Cheater Reputation: 0
Joined: 25 Sep 2022 Posts: 25
|
Posted: Wed Oct 05, 2022 12:35 pm Post subject: |
|
|
friedeggs912 wrote: | Csimbi wrote: | friedeggs912 wrote: | yes but I don't understand
your description :p please can u demonstrate it |
I could demonstrate, but I won't - you have all information you need.
How do you want to write the rest of the code if you can't even understand the basics?
You need to flip into creative mode and figure it out.
I want to teach you to catch your own fish and not catch it for you.
AylinCE wrote: | @Csimbi .. |
So why is he asking if he has a working code already |
no no its not the whole thing .. just the 2nd part
you made it very small
and I cant get the Chart
AylinCE .. its working Perfectly yes but im learning how it can be done for Codeinjection
i dont get the chart |
|
|
Back to top |
|
|
|