My professor wants me to tell him if I can get the code of an assembly binary file. For me it is not possible. The file can be call with : https://learn.microsoft.com/en-us/dotnet/api/system.reflection.methodbase.invoke?view=net-5.0#System_Reflection_MethodBase_Invoke_System_Object_System_Object___
((Assembly)obj).EntryPoint.Invoke((object)null, (object[])null);
//object was defined before
Thanxs !
[EDIT]
Thanks all for your answers, i have already tried dotpeek, ildasm.. -> not working
The file is not a dll.
file_read = Path.Combine(Application.StartupPath, "testfile");
bytes = File.ReadAllBytes(string.Concat(file_read));
bytes2 = Memrestore((byte[])bytes);
objAssembly = Assembly.Load((byte[])bytes2);
((Assembly)objAssembly).EntryPoint.Invoke(null, null);
My professor help me a little bit, bytes2 contain all the byte in the testfile.
On visual studio if i watch this variable and right click->Go to disassembly I get this :
0000000012E5F082 mov edx,9B4000Eh
0000000012E5F087 int 21h
0000000012E5F089 mov eax,21CD4C01h
0000000012E5F08E push rsp
0000000012E5F08F push 70207369h
0000000012E5F094 jb 0000000012E5F105
0000000012E5F096 jb 0000000012E5F0FA
0000000012E5F099 ins dword ptr [rdi],dx
0000000012E5F09A and byte ptr [rbx+61h],ah
0000000012E5F09D outs dx,byte ptr [rsi]
0000000012E5F09E outs dx,byte ptr [rsi]
0000000012E5F09F outs dx,dword ptr [rsi]
0000000012E5F0A0 je 0000000012E5F0C2
0000000012E5F0A2 ?? ??????
0000000012E5F0A3 and byte ptr gs:[rdx+75h],dh
0000000012E5F0A7 outs dx,byte ptr [rsi]
0000000012E5F0A8 and byte ptr [rcx+6Eh],ch
0000000012E5F0AB and byte ptr [rdi+rcx*2+53h],al
0000000012E5F0AF and byte ptr [rbp+6Fh],ch
0000000012E5F0B2 ?? ??????
0000000012E5F0B3 ?? ??????
0000000012E5F0B4 or eax,240A0Dh
0000000012E5F0BA add byte ptr [rax],al
0000000012E5F0BC add byte ptr [rax],al
0000000012E5F0BE add byte ptr [rax],al
0000000012E5F0C0 push rax
0000000012E5F0C1 add byte ptr [r8],r8b
0000000012E5F0C4 add qword ptr [rbx],r8
0000000012E5F0C7 add byte ptr [rsi],dl
0000000012E5F0C9 cmp dl,dh
(It is an extract of the file)
My question is : it is possible to revert this assembler code to c# ?