Accessing Dive Info on the UEMIS SDA

Please register or login

Welcome to ScubaBoard, the world's largest scuba diving community. Registration is not required to read the forums, but we encourage you to join. Joining has its benefits and enables you to participate in the discussions.

Benefits of registering include

  • Ability to post and comment on topics and discussions.
  • A Free photo gallery to share your dive photos with the world.
  • You can make this box go away

Joining is quick and easy. Log in or Register now!

BB1

Contributor
Messages
690
Reaction score
23
Location
Brisvegas, Australia
# of dives
500 - 999
Hi,

Hopefully Scubacastor, DirkHH and others will kick in here as well as they obviously know more about this than me.

I had a chat to a dive buddy tonight who is a java developer amongst other things (handy!)

He said - and these are excerpts from a skype conversation - the following:

not encyrpted - the class files can be decompiled
all the project/code is in there
java code/classes are "compiled" into .class file
Use 7zip to open the jar file
Then use this program to decompile the class files


If you try this at home do it on a COPY of your SDA files!!!!


Now it gets more interesting:

it's all stored on the dive computer
the sync gets the username/password from the computer and uses that for the sync
the data will be transferred in bytes not readable ascii/utf8 text etc


Then in reference to Scubastor's post: all the code to access the SDA memory is visible in sdasync.jar (start renomming *.jar into *.zip, open the file you'll get all compiled and easy to decompile - done it - bits of code to access the memory). he said this: yeah looks pretty straight forward


So I asked the current million $ question: so do you think its possible to get at the dive log info??

And he came back with:

for sure - just use the existing usb communction classes and dump the output to what ever you like. That jar has a built in http server that does the front end communication with the sync. Also looks like a tunnel (ssl) to send the data back to the web servers.

OK coloured text to hopefully show who the comments were from is making this easier to read and follow.

I also sent a big email to Sven at Diving Log 5.0 asking what format he would need to info in to be able to import into his program as that would satisfy my needs completely:

Here what was emailed:

Trying to find out if we can use your program to upload dives from our UEMIS SDA dive computers.

UEMIS unfortunately went into liquidation 3 days ago leaving many owners with no way to download our dives once the UEMIS servers are taken down.

Thankfully some helpful friends have been looking at the java files and decompiled them to show how the information is being synchronised out of them.

Quoting him now \"just use the existing usb communction classes and dump the output to what ever you like.\" then \"that jar has a built in http server that does the front end communication with the sync\".

So with this in mind, what format is required by your software to be able to import dive information.

I have over 150 dives in my computer and online at UEMIS including technical dives which I really don't want to lose!!



I'll update this if or when I get a reply from Sven and if I can get anymore info from my friend about how to export/extract the divelog info.
I'm guessing the file format needed will be .xml from earlier posts by others??

Feel free to add info, point out problems or assist as this will help us all!
 
Last edited:
Subscribing! Thanks for starting this thread.
 
Sounds an exciting project (although the context is less exciting). Thanks for starting the thread.

I'll have already decompiled a fair amount of code. I just need a few days (travelling) before being able to post somewhere more detailed info !
 
Thank you... that is what we all need!!!

btw: any suggestions for Mac users? Diving Log 5.0 seems only to run on Windows machines...
 
Last edited:
Hi

I'll do my best to help you to create a local offline dive import for Diving Log and I'll contact Ernst to see if there is a way to transfer the dives from the online portal. I'll also contact Nick from MacDive and share all details with him, so he can add a solution for all Mac users. Please keep me informed about all progress and I'll monitor and participate this thread, too.

Sven
 
Last edited:
Hi

I've also already decompliled the Java files and had a look at the code, but could not find yet a way to transfer the dive data. But I'll do my best to help you to create a local offline dive import for Diving Log and I'll contact Ernst to see if there is a way to transfer the dives from the online portal. I'll also contact Nick from MacDive and share all details with him, so he can add a solution for all Mac users. Please keep me informed about all progress and I'll monitor and participate this thread, too.

Sven

Put me in line to buy your software when you get it to talk to the Uemis. I never had the habit of logging dives, but since I got the Uemis I kind of like the utility of knowing where I dove, the conditions, fish etc. plus it's easy and kind of fun.

Thanks for everyone's efforts...
 
Also subscribing, so I can stay up to date.

Ron
 
Well this is rolling nicely and hopefully with the amount of smart people around working on this we can engineer a fix for all of us at which point you can add me to the Diving Log customer list :)

Here is the full reply I got from Sven:

Thank you very much for this information! It is very sad that the company
went into liquidation. I'm in contact with them since day 1 about a local
offline logbook and import into Diving Log, but without any success. I
always told them about this scenario and internet problems, but they just
want to keep their online version and only promised a solution, which never
came.

Anyways, I will do my very best to help all Uemis users to get their dives
back. I will contact Uemis again, but I think they have now other problems
and we probably won't get any help from their side. I've also already
decompiled the Java stuff and I can provide that to anyone who is
interested. I did not have success getting any data out of the computer (I
don't have this computer), so I definitely need some help from Uemis owners
and other developers.

I can create an import from any format, but for me the problem is still
getting the dives out of this thing. If you want, you can get me in touch
with the other developers so we might find a solution. "dirkhh" from
Scubaboard is also looking to reverse engineer it:



Lastly a request for all the UEMIS owners out there who obviously have a vested interest in this little project:

Can we try and keep this thread for just posts on the actual work being done on extracting the info we need - it'll help those doing the actual programming and reverse engineering work if they don't have to sift through the extra chatter. This job will possibly be hard enough anyway. We have the whole UEMIS sub-forum available for extra topics.

No offense intended with this comment - just trying to make the task for the programmers amongst us a little easier! :D

To subscribe to the thread just go to "Thread tools" near to top and click "Subscribe to this thread" and that will keep you updated.
 
Last edited:
First, DON'T DO THAT with the files present on your SDA. Copy the syncsda.jar file into another directory on your PC. I've added in the zip file below what I've decompiled so far. So this is basically what's inside syncsda.jar . As I wrote earlier, *.jar file are actually java zipped files which contain subdirectory and *.class files which are the results of the compilation of java files. I've added into the archives what I believe to be the main files (*.java extention). I got those files by decompiling the initial *.class files (you can see those codes from their equivalent with java extension in a regular text editor like notepad)

You find all classes. For those who are proficient at java, have a look at \SyncSDA\ininet\tinyRPC . There you'll find all the USB routines to access part of the memory of the SDA... I am far from an expert in java but I know well programming therefore I'll probably have a look to see how the different files are linked together.

View attachment SyncSDA-decomp.zip
 
I get a "Compressed (Zipped) file is invalid or corrupted" error message when tryin gto crack it open, can you verify the file is intact. I have tried on Win Xp, Win 7 64 & 32 bit machines all resulting in the same error
 

Back
Top Bottom