this my first question here, so please dont be too hard on me:)
What I got:
a mixed mode C# dll, that has C# code which in turn calls a native method in the same dll, that im interested in
The calling:
int num3 = <Module>.fn_GetBitArray((byte*)(&$ArrayType$$$BY0DC@E), (byte*)(&$ArrayType$$$BY05E2), ref nHardwareType);
as IL
IL_0117: stind.i1
IL_0118: ldloca.s 9
IL_011a: ldloca.s 8
IL_011c: ldloca.s 7
IL_011e: call uint32 modopt([mscorlib]System.Runtime.CompilerServices.CallConvCdecl) '<Module>'::fn_GetBitArray(uint8*, uint8*, uint32* modopt([mscorlib]System.Runtime.CompilerServices.IsImplicitlyDereferenced) )
with a definition like this (ILSpy)
// <Module>
[SuppressUnmanagedCodeSecurity]
[MethodImpl(MethodImplOptions.Unmanaged | MethodImplOptions.PreserveSig)]
public unsafe static extern uint fn_GetBitArray(byte*, byte*, uint*);
Im not sure how to continue from here. When I load this in IDA, I can choose .NET loader, where I can see all the C# code and the call, but not the offset of the "external" function, and then I can choose x86 mode, but all function are numbered through (sub_XXXXXXXX), so I NEED the offset.
Question: How can I find out, how exactly this call is resolved and retrieve the destination function?
PS: im pretty sure its really not imported, because no other dll contains the function name string (wrote a quick tool to search by hex patterns) and all imports are related to other things. also ollydbg confuses the hell out of me in respect to IL, normal c/c++ fine, but (maybe as side question) how do I find the IL function names there?!
thanks in advance for your time
greetz WV