What is Assembly-CSharp
-
- What is cheating?
- Posts: 1
- Joined: Thu Jun 07, 2018 5:11 pm
- Reputation: 0
What is Assembly-CSharp
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"?
What is Assembly-CSharp
Hey :) ?
Lets me first explain you .net assembly
[CODE]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.[/CODE]
This is normal assembly code:
[IMG]http://malwareanalysis.tech/wp-content/uploads/2016/12/CheckRemoteDebugger.exe-CheckRemoteDebuggerPresent-Function-Call.png[/IMG]
What is MSIL
[LIST]
[*]Microsoft Intermediate Language, a programming language that has been standardized later as the [URL='https://en.wikipedia.org/wiki/Common_Intermediate_Language']Common Intermediate Language[/URL]
[/LIST]
Example of MSIL:
[CODE=csharp].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
}[/CODE]
[CODE]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 )
[/CODE]
You can see example here:
[IMG]https://cdn.rd.gt/assets/products/dotnet-reflector/images/async-understand.png[/IMG]
Hope this post help you...
Lets me first explain you .net assembly
[CODE]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.[/CODE]
This is normal assembly code:
[IMG]http://malwareanalysis.tech/wp-content/uploads/2016/12/CheckRemoteDebugger.exe-CheckRemoteDebuggerPresent-Function-Call.png[/IMG]
What is MSIL
[LIST]
[*]Microsoft Intermediate Language, a programming language that has been standardized later as the [URL='https://en.wikipedia.org/wiki/Common_Intermediate_Language']Common Intermediate Language[/URL]
[/LIST]
Example of MSIL:
[CODE=csharp].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
}[/CODE]
[CODE]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 )
[/CODE]
You can see example here:
[IMG]https://cdn.rd.gt/assets/products/dotnet-reflector/images/async-understand.png[/IMG]
Hope this post help you...
Who is online
Users browsing this forum: No registered users