topbanner_forum
  *

avatar image

Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length
  • Thursday April 18, 2024, 1:08 am
  • Proudly celebrating 15+ years online.
  • Donate now to become a lifetime supporting member of the site and get a non-expiring license key for all of our programs.
  • donate

Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - drgreen [ switch to compact view ]

Pages: [1]
1
 :up:  That solves the problem,  I think its time you uploaded a fresh beta! :)

2
Found a problem, when I call EncryptString or DecryptString using my own char array, it looks as if your dll is trying to free it or something.

In the debug window I see:
HEAP[m220.exe]: Invalid Address specified to RtlFreeHeap( 00820000, 001596D8 )
HEAP[m220.exe]: Invalid Address specified to RtlFreeHeap( 00820000, 00159728 )

m220 is the name of my program,  here is some example code which will reproduce the same error:


#include <stdio.h>
#include <windows.h>

char * (__stdcall *DecryptString)(char *, char *,char *, int);
char * (__stdcall *EncryptString)(char *, char *,char *, int);
void  (__stdcall *FreeResultString)(char *);


int main(int argc, char **argv)
{
  char *v;
  char result[1024];
  HINSTANCE hDll;

  if ( argc == 1 )
  {
    fprintf(stdout,"usage: %s [key] [text]\n",argv[0]);
    exit(1);
  }


  hDll = LoadLibrary("mircryption.dll");
  if ( hDll == NULL)
  {
    fprintf(stdout,"Error loading dll %u\n",GetLastError());
    exit(1);
  }
  DecryptString = (void *)GetProcAddress(hDll,"DecryptString");
  EncryptString = (void *)GetProcAddress(hDll,"EncryptString");
  FreeResultString = (void *)GetProcAddress(hDll,"FreeResultString");

  if ( DecryptString == NULL || EncryptString == NULL || FreeResultString == NULL )
  {
    fprintf(stdout,"Error finding exported functions from the dll!\n");
    exit(1);
  }

  v = EncryptString(argv[1],argv[2],result,sizeof(result));
  fprintf(stdout,"%s\n",v);
  getchar();
}

debug this program, and youll end up at an int 3 breakpoint inside ntdll.dll
It also looks as if your dll is leaking memory?

3
 :up: awesome thanks :)

4
They are exported sorta funny in the beta dll:

         2    3 00006178 _DecryptString@16
         3    4 000061E6 _EncryptString@16
         4    5 00006254 _FreeResultString@4
         5    6 00005060 _GetVersionString@0


5
It would also be great if these functions supported cbc :)

6
I was hoping to use your dll in my program, but i found that the functions I wished to use were no longer exported.  I wanted to use EncryptString and DecryptString. Is this a mistake or what?

It would make me a happy man if you readded them to the .def file and fixed it up  :)

Heres the latest dll I downloaded:

  Name:            MIRCRYPTION.dll
  Characteristics: 00000000
  TimeDateStamp:   41E28A34 Mon Jan 10 08:59:16 2005
  Version:         0.00
  Ordinal base:    00000001
  # of functions:  00000025
  # of Names:      00000025
Adresses of functions: 000138A8
Adresses of name Ordinals 00013970
Adresses of names: 0001390c

  Entry Pt  Ordn  Name
  00001117     1  DLLInfo
  00001153     2  LoadDll
  00001169     3  UnloadDll
  000013F8     5  mc_decrypt
  00001323     4  mc_decrypt2
  00001486     6  mc_delkey
  000014CA     7  mc_disablekey
  00001552     8  mc_displaykey
  0000150E     9  mc_enablekey
  000013B1    11  mc_encrypt
  000012DC    10  mc_encrypt2
  0000136A    12  mc_forceencrypt
  0000177F    13  mc_forcetopic
  00001615    14  mc_isdecrypting
  000015C9    15  mc_isencrypting
  000012A1    16  mc_iskeyunlocked
  00001596    17  mc_listkeys
  00001661    18  mc_md5
  00002260    19  mc_pastepad
  0000143F    20  mc_setkey
  0000126B    21  mc_setkeyfile
  00001226    22  mc_setunlockpassphrase
  00002063    23  mc_splitsay
  00001C64    24  mc_touchfile
  00001135    25  version

Pages: [1]