CJB2 console to dll

2010-09-30
2012-11-08
  • jorge  escobar
    jorge escobar
    2010-09-30

    I'm trying to convert CJB2.exe to a dll so i can produce new files sending the
    file content rather that file path.

    I've removed the main function and now i'm trying to call the cjb2 function,
    but i'm getting an exception.

    I'm using windbg to check it and it's stopping at

    "inline unsigned int
    GBaseString::length( void ) const
    {
    return ptr ? (*this)->size : 0;
    }"

    on the gstring.h library

    this is the complete error:
    "(144.1f88): Access violation - code c0000005 (first chance)
    First chance exceptions are reported before any exception handling.
    This exception may be expected and handled.
    eax=742e5045 ebx=00e90000 ecx=00458ac4 edx=01133182 esi=0012f458 edi=0012ed2c
    eip=00f9e113 esp=0012ec50 ebp=0012ed2c iopl=0 nv up ei pl nz ac po nc
    cs=001b ss=0023 ds=0023 es=0023 fs=003b gs=0000 efl=00010212
    libdjvulibre!DJVU::GBaseString::length+0x33:
    00f9e113 8b4808 mov ecx,dword ptr ds:0023:742e504d=????????
    "

    Anyone can have suggestions or comments.

    Regards

     
  • jorge  escobar
    jorge escobar
    2010-09-30

    Well… some more details, i'm using Delphi to consume the DLL, and the error
    doesn't happen if i previously declare the passing value as string; but I'm
    not receiving the string back.

     
  • jorge  escobar
    jorge escobar
    2010-10-05

    I converted the cjb2.exe into a DLL only receiving the file names, that's
    enough for me for now… The problems i had were related to passing the strings
    only, so i figured them out.