ADDP password encryption?

I needed the 64-bit version of ADDP so I rewrote the ADDP.DLL, but I cannot figure out what kind of encryption the password uses for the set commands. Everything else works.

Anyone know how the encryption works for the passwords?

Thanks,
-Erik

I am bumping this to see if anyone now has the encryption method for the commands. Once I have it I will gladly share the ADDP library code.

-Erik

Have you tried downloading Dynamic C and looking at the client side implementation there? There is a Dynamic C ADDP library and example code there which would probebly answer your questions.

Regards,
Peter

The last I saw, there were only client side API calls into the DLL. The DLL is what I rewrote because it is so old and doesn’t support 64-bit.

-Erik

The Rabbit based ADDP code comes with the source code for the libraries for the client side in Dynamic C. It should be easy to see what is being done for authentication from this code.

Regards,
Peter

I downloaded Dynamic C and took a look, couldn’t find the keystring “ADDP” anywhere. Where is it stashed?

Thanks,
-Erik

If you have downloaded DC 10.66 the ADDP library is in:

c:\DCRABBIT_10.66\lib\rabbit4000 cpip\addp.lib

and the sample file using it is:

c:\DCRABBIT_10.66\samples cpip\addp.c

Regards,
Peter

I don’t need instructions on using it, the LIB file is obselete and I replaced it with one of my own. (Therefore I know how to use it.) I need to know how the password is encrypted inside the LIB file.

-Erik

I don’t think you understand what I’ve pointed you at…

The library with Dynamic C is not the same as the the DLL or Lib on the PC. It is an implementation of the ADDP protocol which runs on Rabbit based embedded products. If you look at the library sourcecode (which is in the ADDP.LIB file I pointed you to) you will see how ADDP is implemented on the client side including how the authentication etc is done.

Dynamic C is similar enough to ANSI C that you should be able to make sense of the code supplied without too much head scratching.

Regards,
Peter

Okay, then where can I get this Rabbit stuff? The Digi website had a small zip and a Dynamic C update (which won’t install without the full DC on the disk) - that’s all I could find besides the documentation. Do I need to buy it?

Thanks,
-Erik

http://www.digi.com/support/productdetl.jsp?pid=4978&osvid=0&s=565&tp=10&tp2=0

It free to download, you probably need to register but there is no charge.

Regards,
Peter

I looked at the sample, it is just a sample of how to use the client library. I need information on how the client library works internally with the password encryption to do commands.

-Erik

Have you looked at the client library source? It should give you some clues. I had a quick look at it and the Rabbit version does not seem to implement the encrypted passwords but it does mention in the comments that the encrypted password option is based on MD5 challenge/response.

Regards,
Peter

Where is that source? All I can find is addp.c which is an example file on how to use the library.

Assuming you installed DC in the default directory it should be in c:dcrabbit_10.66\Lib\Rabbit4000 cpip\addp.lib
The Dynamic C Lib files are actually source code and can be viewed with a normal text editor.

Regards,
Peter

I found it. It is the host implementation minus the password encryption. It does say MD5. Maybe with that clue and WireShark I can figure it out.

Thanks,
-Erik