MantisBT - Cheat Engine
View Issue Details
0000503Cheat Engine(No Category)public2016-08-27 13:052016-12-10 23:01
ReporterThePlug 
Assigned ToDark Byte 
PriorityhighSeveritymajorReproducibilityalways
StatusresolvedResolutionfixed 
Platform32bit Unity GameOSWindows 7 SP1 64 bitOS VersionUltimate
Summary0000503: Mono Dissector Static Field Offsets Incorrect When Adding To Address List
DescriptionIn mono dissector, clicking 'Add static field addresses' adds all the addresses from the class in 'static fields' to the CE address list. But the offset is incorrect for anything above 0x8. 0x10 changes to 0xC in the address list, 0x20 changes to 0x14, 0x30 changes to 0x1E. Any address with hex in it like 0xC changes to 0, 0x1C changes to 0, 0x2D changes to 0, etc.

It's very time consuming having to manually change each offset according to what shows in the mono dissector with big classes.
Steps To ReproduceAttach CE to any Unity game

Mono > Dissect Mono > Left Click On Class > Fields > Add Static Field Addresses

Check address list and the offsets above 0x8 will all be different from what shows in the mono dissector.
Tagsbug, Mono
Attached Files

Notes
(0001099)
ThePlug   
2016-08-27 13:17   
It seems the already hex offsets are being converted to hex again, since the hex of 10 is C and hex of 20 is 14.
(0001100)
Dark Byte   
2016-09-06 08:04   
should be fixed with this script:
https://raw.githubusercontent.com/cheat-engine/cheat-engine/master/Cheat%20Engine/bin/autorun/monoscript.lua

Issue History
2016-08-27 13:05ThePlugNew Issue
2016-08-27 13:05ThePlugTag Attached: Mono
2016-08-27 13:07ThePlugTag Attached: bug
2016-08-27 13:17ThePlugNote Added: 0001099
2016-09-06 07:54Dark ByteAssigned To => Dark Byte
2016-09-06 07:54Dark ByteStatusnew => acknowledged
2016-09-06 08:04Dark ByteStatusacknowledged => resolved
2016-09-06 08:04Dark ByteResolutionopen => fixed
2016-09-06 08:04Dark ByteNote Added: 0001100