Solved Deobfuscation possible?

Status
Not open for further replies.

xadf

Solid & Active Platinian
Original poster
Nov 27, 2020
82
1,532
193
Germany
Hello,
I see in much games the Code is not readable like this :
dnSpy v6.1.8 (64-bit, .NET) 03.01.2021 17_35_34.png

Is there any way to deobfusctate it or will it be the end of modding? :/
 
  • Like
Reactions: Amitsaha

hemoridhero

Platinian
Jul 29, 2020
26
28
18
33
Tokyo
Only way I could think of is to set breakpoints (if its obfuscated then set randomly) then run the program and hope for the best.

Entry code analysis is not helpful for unity afaik

It's really not worth the time, and for most obfuscated titles this is when dll/so based modding ends.

Memory hack may be possible but may be hard to replicate device-wise.
 
  • Like
Reactions: xadf

xadf

Solid & Active Platinian
Original poster
Nov 27, 2020
82
1,532
193
Germany
Only way I could think of is to set breakpoints (if its obfuscated then set randomly) then run the program and hope for the best.

Entry code analysis is not helpful for unity afaik

It's really not worth the time, and for most obfuscated titles this is when dll/so based modding ends.

Memory hack may be possible but may be hard to replicate device-wise.
How can i set such "breakpoints" ?
 

hemoridhero

Platinian
Jul 29, 2020
26
28
18
33
Tokyo
You need a debugger - IDA is fine. Start an emulator or connect your device via adb command. There are guides online (this part is tracing)
Breakpoints are for tracing purposes. It basically links functions up. For example, a correct breakpoint triggered while coins are incremented will inevitably lead to the actual increment code.
Guides regarding setting breakpoints are readily available, eg. reverse engineering stack exchange.

BUT... Your function name is obfuscated, There could be hundreds of thousands of methods & functions within assembly.csharp. If you want to go down this path, be prepared to spend alot of time.

Maybe try asset file hack - some game store textassets in the obb or assets/bin folder as UnityFS - UABE can dump and compile these, and sometimes it just work. Or do a save hack - some simpler game don't have save encryption, only saved in root directory - which (I think) can be bundled with an .apk.
 

AndnixSH

PMT Elite Modder
Staff member
Modding-Team
Jun 27, 2017
4,539
302,616
1,213
Modding World
It's technically possible but useless, you will get names like Method_0, Method_1, Method_2 instead
Don't expect that you can get original names back. it's like trying to recover deleted files from hard drive that was been fully formatted
 

xadf

Solid & Active Platinian
Original poster
Nov 27, 2020
82
1,532
193
Germany
You need a debugger - IDA is fine. Start an emulator or connect your device via adb command. There are guides online (this part is tracing)
Breakpoints are for tracing purposes. It basically links functions up. For example, a correct breakpoint triggered while coins are incremented will inevitably lead to the actual increment code.
Guides regarding setting breakpoints are readily available, eg. reverse engineering stack exchange.

BUT... Your function name is obfuscated, There could be hundreds of thousands of methods & functions within assembly.csharp. If you want to go down this path, be prepared to spend alot of time.

Maybe try asset file hack - some game store textassets in the obb or assets/bin folder as UnityFS - UABE can dump and compile these, and sometimes it just work. Or do a save hack - some simpler game don't have save encryption, only saved in root directory - which (I think) can be bundled with an .apk.
Thanks for this nice aswer!
I will try it ;D
 
  • Like
Reactions: Amitsaha
Status
Not open for further replies.