I'm new here so I'm sorry if this isn't the right section for my question.
I'm reverse engineering a software that's written in .net 3.5 c# which loads a weird dynamic dll, which has an important functionality of decrypting / encrypting strings. I tried to make a c# program and import the dlls but visual studio complains about invalid / unsupported dll.
Here is some output and info:
targetframework: .Net Framework v3.5
FileAnalyzer.dll: PE32 executable (DLL) (GUI) Intel 80386, for MS Windows
the .net software loads it and hooks its functions like this:
public class FileDataCtrlWrap
{
[DllImport("FileDataCtrl.dll", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
private static extern bool GetPersonalSettingsFolder(byte[] buffer, uint type);
[DllImport("FileDataCtrl.dll", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
private static extern bool GetSettingsFolder(byte[] buffer, uint type);
[DllImport("FileDataCtrl.dll", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
private static extern bool GetSnapShotFolder(byte[] buffer);
[DllImport("FileDataCtrl.dll", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
private static extern bool GetSnapShotPath(string cameraName, byte[] buffer);
[DllImport("FileDataCtrl.dll", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.Cdecl)]
private static extern int Encrypt(string intput, StringBuilder output);
...
...
..etc
- How is this .net program loading a pe32 dll?
- Is it possible to replicate this behavior? If not what are the alternatives?
the dll file can be found here