|
Cheat Engine The Official Site of Cheat Engine
|
View previous topic :: View next topic |
Author |
Message |
mgr.inz.Player I post too much Reputation: 218
Joined: 07 Nov 2008 Posts: 4438 Location: W kraju nad Wisla. UTC+01:00
|
|
Back to top |
|
|
++METHOS I post too much Reputation: 92
Joined: 29 Oct 2010 Posts: 4197
|
Posted: Thu Feb 18, 2016 3:14 pm Post subject: |
|
|
When using the debugger, the 'Execute till return' should stop on the return. I think I understand the reasoning for the change, but it can be confusing at first.
Also, one particular, 64bit target tends to crash when using the execute till return feature. It doesn't always happen, but when it does, it seems as if the return address may be wrong, or the code has shifted or something.
Thanks.
|
|
Back to top |
|
|
Dark Byte Site Admin Reputation: 457
Joined: 09 May 2003 Posts: 25262 Location: The netherlands
|
Posted: Fri Feb 19, 2016 2:44 am Post subject: |
|
|
i'll check it out (not sure wh ycurrentoffsetEqualToZeroExist but i'll do some debugging)
_________________
Do not ask me about online cheats. I don't know any and wont help finding them.
Like my help? Join me on Patreon so i can keep helping |
|
Back to top |
|
|
Csimbi I post too much Reputation: 92
Joined: 14 Jul 2007 Posts: 3102
|
Posted: Fri Feb 19, 2016 3:01 am Post subject: |
|
|
What do I need to build CE nowadays?
Someone had a build script, too - is that still working?
I'd like to check why CE tables are not opened when the process is selected.
I could also use a hint on which unit includes this code.
Thanks!
|
|
Back to top |
|
|
Dark Byte Site Admin Reputation: 457
Joined: 09 May 2003 Posts: 25262 Location: The netherlands
|
|
Back to top |
|
|
++METHOS I post too much Reputation: 92
Joined: 29 Oct 2010 Posts: 4197
|
Posted: Fri Feb 19, 2016 3:16 am Post subject: |
|
|
Csimbi wrote: | I'd like to check why CE tables are not opened when the process is selected. | -If you're referring to the prompt that asks if you'd like to open the corresponding cheat table that applies to the selected process, it will work as intended if you place your cheat tables inside C:\Users\Username\Documents\My Cheat Tables.
|
|
Back to top |
|
|
Csimbi I post too much Reputation: 92
Joined: 14 Jul 2007 Posts: 3102
|
Posted: Fri Feb 19, 2016 4:26 am Post subject: |
|
|
++METHOS wrote: | Csimbi wrote: | I'd like to check why CE tables are not opened when the process is selected. | -If you're referring to the prompt that asks if you'd like to open the corresponding cheat table that applies to the selected process, it will work as intended if you place your cheat tables inside C:\Users\Username\Documents\My Cheat Tables. |
Yup, it's broken, I know.
That's one of the things I'd like to fix and then I'd like to add a choice, too when multiple tables exist with the same name.
|
|
Back to top |
|
|
++METHOS I post too much Reputation: 92
Joined: 29 Oct 2010 Posts: 4197
|
Posted: Fri Feb 19, 2016 4:32 am Post subject: |
|
|
Csimbi wrote: | Yup, it's broken, I know.
That's one of the things I'd like to fix | -Being able to choose the default folder would be nice.
Csimbi wrote: | and then I'd like to add a choice, too when multiple tables exist with the same name. | -Not sure how that would work.
|
|
Back to top |
|
|
Csimbi I post too much Reputation: 92
Joined: 14 Jul 2007 Posts: 3102
|
Posted: Fri Feb 19, 2016 4:56 am Post subject: |
|
|
++METHOS wrote: | Csimbi wrote: | Yup, it's broken, I know.
That's one of the things I'd like to fix | -Being able to choose the default folder would be nice. |
DB told me at some point that it's there and I can confirm that it works.
It came up because CE was always recreating a suspicious directory called 'My Cheat Tables' for everyone to see
Just move all your tables anywhere else, and open it from the new location.
CE will remember that and won't re-create the suspicious directory.
Problem is, it won't look for existing tables anymore.
That's one thing I'd like to fix.
++METHOS wrote: | Csimbi wrote: | and then I'd like to add a choice, too when multiple tables exist with the same name. | -Not sure how that would work. |
Easy-peasy.
You create tables like:
Code: | Borderlands2.ct
Borderlands2-AimLock.CT
Borderlands2_dev.ct
Borderlands2-TechnoJacker.CT
|
When you attach CE to the Borderlands2.exe process, it'll pop up a dialog showing the list of these, asking which one do you what.
I.e. findfirst/findnext are fed with Borderlands2*.ct rather than Borderlands2.ct
Here's a possibly broken pseudocode:
Code: | filenamebase=changefileext(filename,"")+'*.ct';
if (first=findfirst(filenamebase)!=NULL)
{
// Additional, new mechanism when multiple files are found
if (next=findnext(filenamebase)!=NULL)
{
do dialogwithlist.list.add(this) while (next=findnext(filenamebase)!=NULL);
dialogwithlist.showmodal();
}
// Current mechanism when one file is found
else
{
dialog.showmodal();
}
}
|
Or, at least, that's how I think it should work. Maybe, if there's enough time/interest add a preview of the table comments as well(?).
I gotta take a look first and for that, I'd like to set up a devenv first.
BTW, is there a devenv image available for download (so I would not have to get and install everything myself)?
Thanks!
|
|
Back to top |
|
|
++METHOS I post too much Reputation: 92
Joined: 29 Oct 2010 Posts: 4197
|
Posted: Fri Feb 19, 2016 6:32 am Post subject: |
|
|
Csimbi wrote: |
Easy-peasy.
You create tables like:
Code: | Borderlands2.ct
Borderlands2-AimLock.CT
Borderlands2_dev.ct
Borderlands2-TechnoJacker.CT
|
When you attach CE to the Borderlands2.exe process, it'll pop up a dialog showing the list of these, asking which one do you what. | -Oh, okay. I see what you mean. It would be useful.
|
|
Back to top |
|
|
mgr.inz.Player I post too much Reputation: 218
Joined: 07 Nov 2008 Posts: 4438 Location: W kraju nad Wisla. UTC+01:00
|
Posted: Fri Feb 19, 2016 8:29 am Post subject: |
|
|
Dark Byte wrote: |
i'll check it out (not sure wh ycurrentoffsetEqualToZeroExist but i'll do some debugging) |
Check those lines:
Code: | variablesize:=groupdata.blocksize;
if groupdata.outoforder and groupdata.outoforder_aligned then
fastscanalignsize:=variablesize; //else use the given alignment |
That means it will overwrite BA groupscan command (and the default BA:4) for all groupscan commands with OOO:A.
After removing that "IF" lines, I can use "BS:16 OOO:A" to find all 16bytes structures which are at address XXXXXXX4, or XXXXXXX8, or XXXXXXXC. Without that modification it can only find those 16bytes aligned - XXXXXXX0.
currentoffsetEqualToZeroExist check can help to filter out not needed results. Example:
(first twelve results)
_________________
|
|
Back to top |
|
|
panraven Grandmaster Cheater Reputation: 55
Joined: 01 Oct 2008 Posts: 941
|
Posted: Sat Feb 20, 2016 12:40 pm Post subject: |
|
|
Should Defined Symbol applied to every instance in a custom command input, instead of only last one?
Same for ce 6.4.
Code: | {$lua}
function AA_TestPrint(s,sc)
if s=='' or s:lower()=='test' or sc==true then return end
print(s)
return ''
end
if autoAssemble('testWrite(TEST)') then unregisterAutoAssemblerCommand('testwrite') end
registerAutoAssemblerCommand('testwrite',AA_TestPrint)
{$asm}
[ENABLE]
define(hack,12345)
testWrite(AOBScanRegion(hack+100,hack+200,1b 1c 1d))
define(cave,XXXXX)
testWrite(cave 1 hack 2 hack 3 hack no more hack cave)
//print:
//AOBScanRegion(hack+100,12345+200,1b 1c 1d)
//cave 1 hack 2 hack 3 hack no more 12345 XXXXX
[DISABLE] |
_________________
- Retarded. |
|
Back to top |
|
|
mgr.inz.Player I post too much Reputation: 218
Joined: 07 Nov 2008 Posts: 4438 Location: W kraju nad Wisla. UTC+01:00
|
Posted: Sat Feb 20, 2016 1:47 pm Post subject: |
|
|
From the CE source:
Code: | function replacetoken(input: string;token:string;replacewith:string):string;
var tokens: tstringlist;
i,j: integer;
begin
result:=input;
tokens:=tstringlist.Create;
try
tokenize(input,tokens);
for i:=0 to tokens.Count-1 do
if tokens[i]=token then
begin
j:=integer(tokens.Objects[i]);
result:=copy(input,1,j-1)+replacewith+copy(input,j+length(token),length(input));
end;
finally
tokens.free;
end;
end; |
Looks like function replacetoken doesn't replace all instances. In the last iteration it uses not altered input. So all previous iterations are ignored. Looks like a bug. I think it should operate on result variable only, and loop inverted.
My patch:
Code: | Index: autoassembler.pas
===================================================================
--- autoassembler.pas (revision 2301)
+++ autoassembler.pas (working copy)
@@ -273,12 +273,12 @@
result:=input;
tokens:=tstringlist.Create;
try
- tokenize(input,tokens);
- for i:=0 to tokens.Count-1 do
+ tokenize(result,tokens);
+ for i:=tokens.Count-1 downto 0 do
if tokens[i]=token then
begin
j:=integer(tokens.Objects[i]);
- result:=copy(input,1,j-1)+replacewith+copy(input,j+length(token),length(input));
+ result:=copy(result,1,j-1)+replacewith+copy(result,j+length(token),length(result));
end;
finally
|
result:
Code: | AOBScanRegion(12345+100,12345+200,1b 1c 1d)
XXXXX 1 12345 2 12345 3 12345 no more 12345 XXXXX |
Sent 'pull request' https://github.com/cheat-engine/cheat-engine/pull/58
_________________
Last edited by mgr.inz.Player on Sun Feb 21, 2016 3:53 pm; edited 1 time in total |
|
Back to top |
|
|
Csimbi I post too much Reputation: 92
Joined: 14 Jul 2007 Posts: 3102
|
Posted: Sun Feb 21, 2016 4:12 am Post subject: |
|
|
Some error saying "Consistency error" "count too big" popped up and CE went zombie.
I had a reversed structure open in the structure dissect window, with a lot of child structures open (these were a mix of reversed and auto-created structures).
Then, I figured CE would close all of them up so I selected the same structure from the Structure menu.
That's when the error popped.
Please note that I have both cleanup boxed checked (see picture below).
Thanks for fixing!
I'll try to repeat it later on today, gotta run out for a while.
Edit:
100% repeatable; added the error dialog below.
Result seems to be the same with and without having the debugger attached.
Issue #434 in Mantis.
Windows 7 x64 SP1
CE 6.5.0.3; x64
Description: |
|
Filesize: |
6.44 KB |
Viewed: |
10658 Time(s) |
|
Description: |
|
Filesize: |
16.96 KB |
Viewed: |
10676 Time(s) |
|
|
|
Back to top |
|
|
++METHOS I post too much Reputation: 92
Joined: 29 Oct 2010 Posts: 4197
|
Posted: Sun Feb 21, 2016 7:27 am Post subject: |
|
|
When bulk-adding a large number of addresses with 'Open dissect data with selected addresses' from inside the 'Changed addresses' window, the address fields are hosed, and/or do not even show up.
Thanks.
|
|
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
|
|