What's new

What is Assembly-CSharp


What is cheating?
Jun 7, 2018
Hello everyone, back in the old days i used CE a lot and people only had the normal ".ct" table, now i see many posts here and people are using this "Assembly-CSharp" thing too and i never heard of it. What is this and is better than the ".ct"?


Expert Cheater
May 29, 2018
Hey :) 😉
Lets me first explain you .net assembly

An assembly is the compiled output of your code, typically a DLL, but your EXE is also an assembly. It's the smallest unit of deployment for any .NET project.

The assembly typically contains .NET code in MSIL (Microsoft Intermediate language) that will be compiled to native code ("JITted" - compiled by the Just-In-Time compiler) the first time it is executed on a given machine. That compiled code will also be stored in the assembly and reused on subsequent calls.

The assembly can also contain resources like icons, bitmaps, string tables and so on. Furthermore, the assembly also contains metadata in the assembly manifest - information like version number, strong name, culture, referenced assemblies and so forth.

In 99% of your cases, one assembly equals a physical file on disk - the case of a multi-file assembly (one assembly, distributed across more than a single file) appears to be a rather odd-ball edge case which I've never encountered so far in my 5+ years of .NET development.

In a multifile assembly there would still be only one assembly manifest in a DLL or EXE and the MSIL code in multiple netmodule files.
This is normal assembly code:

What is MSIL
Example of MSIL:
.method public hidebysig instance void SetSpeedAccordingly() cil managed
    .maxstack 8
    L_0000: ldarg.0
    L_0001: ldarg.0
    L_0002: ldfld class Enemy Arrow::parent
    L_0007: ldarg.0
    L_0008: ldfld bool Arrow::isUlti
    L_000d: callvirt instance float32 Enemy::GetProjectileSpeed(bool)
    L_0012: stfld float32 Arrow::speed
    L_0017: ldarg.0
    L_0018: ldfld float32 Arrow::speed
    L_001d: ldc.r4 0
    L_0022: beq L_0033
    L_0027: ldarg.0
    L_0028: ldarg.0
    L_0029: ldfld float32 Arrow::speed
    L_002e: stfld float32 Arrow::defSpeed
    L_0033: ret
When the app or game have dll named Assembly-CSharp.dll that mean its developed by Unity(Game engine)
This dll contain main game code (for example player health our ammo or other etc.. that writed by game developer )
You  can use app named .net Refletor or ..... to see game code ! , and use plugin named Reflexil to edit code inline..
We cant compare Assembly-CSharp with .ct ,these are completly different things!
For unity i choose to edit game core , i like that way... (Because i am reverse enginner not a cheat maker :D )
You can see example here:

Hope this post help you...

Top Bottom