| View previous topic :: View next topic |
| Author |
Message |
zhaihouxi Newbie cheater
Reputation: 0
Joined: 27 Jul 2020 Posts: 17
|
Posted: Mon Aug 09, 2021 12:42 am Post subject: Rimworld: mono address not stable? |
|
|
[enable]
{$lua}
mono_initialize()
LaunchMonoDataCollector()
--local mId = mono_findMethod('Assembly-CSharp', 'RimWorld', 'Pawn_SkillTracker', 'SkillsTick')
--mono_compile_method(mId)
--local mId = mono_findMethod('Assembly-CSharp', 'RimWorld', 'SkillRecord', 'Learn')
--mono_compile_method(mId)
{$asm}
// disable decay
// call Interval()
//RimWorld:Pawn_SkillTracker:SkillsTick+15e:
//db eb 0b 90 90 90 90 90 90 90 90 90 90 90
// disable lvl up to 20 so skill can be 50
// levelInt = 20 => levelInt--
RimWorld:SkillRecord:Learn+348:
//dec eax
//mov [rdi+20],eax
db ff c8 89 47 20 90 90
// bill skill range check > max20
// jng ...
// 0f 8e 4a010000
// jmp ...
//
//RimWorld:Bill:PawnAllowedToStartAnew+22a:
//db e9 4a 01 00 00 90
// fast time scale
Verse:TickManager:get_TickRateMultiplier+200:
db 00 00 c0 41
Verse:TickManager:get_TickRateMultiplier+1f0:
//float 24.0
db 00 00 c0 41
[disable]
I made these change in ct. It works some times, but it could fail.
I find out that the effect code could be a dozen lines up or down, why?
Verse:TickManager:get_TickRateMultiplier+107 - F3 0F10 05 E1000000 - movss xmm0,[Verse:TickManager:get_TickRateMultiplier+1f0]
i changed the Verse:TickManager:get_TickRateMultiplier+1f0, the field could change every time.
how do i make the change stable?
|
|
| Back to top |
|
 |
LeFiXER Grandmaster Cheater Supreme
Reputation: 20
Joined: 02 Sep 2011 Posts: 1069 Location: 0x90
|
Posted: Mon Aug 09, 2021 2:13 am Post subject: |
|
|
Please use code tags
| Code: |
[enable]
{$lua}
mono_initialize()
LaunchMonoDataCollector()
--local mId = mono_findMethod('Assembly-CSharp', 'RimWorld', 'Pawn_SkillTracker', 'SkillsTick')
--mono_compile_method(mId)
--local mId = mono_findMethod('Assembly-CSharp', 'RimWorld', 'SkillRecord', 'Learn')
--mono_compile_method(mId)
{$asm}
// disable decay
// call Interval()
//RimWorld:Pawn_SkillTracker:SkillsTick+15e:
//db eb 0b 90 90 90 90 90 90 90 90 90 90 90
// disable lvl up to 20 so skill can be 50
// levelInt = 20 => levelInt--
RimWorld:SkillRecord:Learn+348:
//dec eax
//mov [rdi+20],eax
db ff c8 89 47 20 90 90
// bill skill range check > max20
// jng ...
// 0f 8e 4a010000
// jmp ...
//
//RimWorld:Bill:PawnAllowedToStartAnew+22a:
//db e9 4a 01 00 00 90
// fast time scale
Verse:TickManager:get_TickRateMultiplier+200:
db 00 00 c0 41
Verse:TickManager:get_TickRateMultiplier+1f0:
//float 24.0
db 00 00 c0 41
[disable]
|
Uncommenting these lines would appear to resolve your issue.
| Code: |
--local mId = mono_findMethod('Assembly-CSharp', 'RimWorld', 'Pawn_SkillTracker', 'SkillsTick')
--mono_compile_method(mId)
--local mId = mono_findMethod('Assembly-CSharp', 'RimWorld', 'SkillRecord', 'Learn')
--mono_compile_method(mId)
|
|
|
| Back to top |
|
 |
zhaihouxi Newbie cheater
Reputation: 0
Joined: 27 Jul 2020 Posts: 17
|
Posted: Mon Aug 09, 2021 2:47 am Post subject: |
|
|
| LeFiXER wrote: | Please use code tags
...
|
i found out that every time i get into the menu these codes are already compiled.
i think the problem is
Verse:TickManager:get_TickRateMultiplier+107 - F3 0F10 05 E1000000 - movss xmm0,[Verse:TickManager:get_TickRateMultiplier+1f0]
i can
allocate memory
mov eax,num
movq xmm0,eax
is there a way not allocating memory?
|
|
| Back to top |
|
 |
LeFiXER Grandmaster Cheater Supreme
Reputation: 20
Joined: 02 Sep 2011 Posts: 1069 Location: 0x90
|
Posted: Mon Aug 09, 2021 3:10 am Post subject: |
|
|
| zhaihouxi wrote: |
i found out that every time i get into the menu these codes are already compiled.
|
I mean in the forum:
| Quote: |
[code ]
... Your code here
[/ code] (without spaces)
|
| zhaihouxi wrote: |
i think the problem is
| Code: |
Verse:TickManager:get_TickRateMultiplier+107 - F3 0F10 05 E1000000 - movss xmm0,[Verse:TickManager:get_TickRateMultiplier+1f0]
|
i can
allocate memory
mov eax,num
movq xmm0,eax
is there a way not allocating memory?
|
You mean removing previously allocated memory? If so then yes
| Code: |
dealloc([allocated_memory_tag_name])
|
Note: square brackets not requried.
|
|
| Back to top |
|
 |
zhaihouxi Newbie cheater
Reputation: 0
Joined: 27 Jul 2020 Posts: 17
|
Posted: Mon Aug 09, 2021 5:00 am Post subject: |
|
|
| LeFiXER wrote: | | zhaihouxi wrote: |
i found out that every time i get into the menu these codes are already compiled.
|
I mean in the forum:
| Quote: |
[code ]
... Your code here
[/ code] (without spaces)
|
| zhaihouxi wrote: |
i think the problem is
| Code: |
Verse:TickManager:get_TickRateMultiplier+107 - F3 0F10 05 E1000000 - movss xmm0,[Verse:TickManager:get_TickRateMultiplier+1f0]
|
i can
allocate memory
mov eax,num
movq xmm0,eax
is there a way not allocating memory?
|
You mean removing previously allocated memory? If so then yes
| Code: |
dealloc([allocated_memory_tag_name])
|
Note: square brackets not requried. |
Thank you.
The problem is the c# program is so dynamic, that a constant field can change its offset every time. Some time the constant is Verse:TickManager:get_TickRateMultiplier+107 - movss xmm0,[Verse:TickManager:get_TickRateMultiplier+1f0]
some time it becomes +1e0 +200... etc. Is there a way to edit this constant?
|
|
| Back to top |
|
 |
LeFiXER Grandmaster Cheater Supreme
Reputation: 20
Joined: 02 Sep 2011 Posts: 1069 Location: 0x90
|
Posted: Mon Aug 09, 2021 5:28 am Post subject: |
|
|
Use AOB injection. You can scan for the array of bytes within a specific region.
| Code: |
aobscanregion(symbol_name, address_from, address_to, aob_here)
|
|
|
| Back to top |
|
 |
zhaihouxi Newbie cheater
Reputation: 0
Joined: 27 Jul 2020 Posts: 17
|
Posted: Mon Aug 09, 2021 6:16 am Post subject: |
|
|
| LeFiXER wrote: | Use AOB injection. You can scan for the array of bytes within a specific region.
| Code: |
aobscanregion(symbol_name, address_from, address_to, aob_here)
|
|
Perfectly solved. Thank you.
|
|
| Back to top |
|
 |
LeFiXER Grandmaster Cheater Supreme
Reputation: 20
Joined: 02 Sep 2011 Posts: 1069 Location: 0x90
|
Posted: Mon Aug 09, 2021 6:28 am Post subject: |
|
|
No problem
|
|
| Back to top |
|
 |
|