View Full Version : Sentinel Pro
personmans
March 17th, 2009, 12:09
Alright so the first part of this post is for JMI

So far
I have seen the code of
my target,
reversed it, and
emulated the dongle
by hand using
tutorials and documentation on the Sentinel API as a guide.
The question I have is related to hardware. So far I have taken apart (removed the plastic casing) on my LPT port Sentinel Pro (not SUPER Pro). I have used a multimeter to check continuity on all capacitors and the one diode that is visible.
Basically this dongle was "burned out" by a company, so they trashed it. I enjoy understanding hardware and software at the deepest level, so I was wondering if there is any further information available on the actual hardware of these dongles. Other than the 17 SMD capacitors, I see one diode, and a black blob of epoxy covering what I assume to be a microcontroller or memory.
I'm just looking for any info about the hardware specifications or what actually "burns out" on these chips, if I have to use a reset pin, or if they actually let the voltage go too high and destroy the microchip. I've googled for images and content based on tons of keywords, nothing substantial has been found.
PS:

JMI
JMI
March 17th, 2009, 12:23
personmans:
Regards,
FrankRizzo
March 19th, 2009, 12:35
in THEORY, the resistors, and diode are there to keep the unit from being burned out. If all of them are good, then I'd be at a loss for what they did to kill it.
personmans
March 19th, 2009, 16:45
FrankRizzo,
They are built to protect themselves from being used on multiple computers. This one was used with a device so that two computers could access it at once. I was thinking that there would be a diode that couldn't handle it. I am now dreading the idea that it may have had too much voltage depending on how the device was powered by the computer(s) connected to it.

Woodmann
March 19th, 2009, 21:09
Howdy,
Diodes and resistors can and do burn out.
The only way to know is to find out the ratings and check from there.
Good luck trying to get part numbers off them

.
Woodmann
personmans
March 20th, 2009, 04:13
Yep, I realize that (though I do not see any resistors on the board) the caps could be bad, but it's pretty doubtful and the one diode test good for continuity, not sure if it was a zener or not.....
Interestingly enough, I have 3 working and only 1 broken dongle, so I *could* get proper values if needed.
FrankRizzo
March 20th, 2009, 12:58
I would use a multi-meter, and test the parts on the "Good ones" to see if they're all the same. Once you have that logged, go to the "bad" one, and check those values. That should tell you if anything is blown.
(Preparing to state the obvious)
If it's none of those parts, it's probably the ASIC.
personmans
March 20th, 2009, 22:37
That's exactly what I was planning on testing (left them at work, so it will have to wait until Monday). The problem is that I can not test capacitance, I have tested the caps to make sure they charge and discharge, but don't know if they're getting to the proper values (though that shouldn't matter) and as long as the diode is working, I would say that it is OK.
Fearing that it's the ASIC.
marcovaldo
March 22nd, 2009, 14:15
These parallel port dongles are bad by design:
- They have to allow the signal lines to go through not affecting original
purpose(printing).
- They have to _steal_ power for the operation of the dongle logic or microprocessor
- they have to use a (printer application) transparent communication
way from dongle to PC
What makes it even worse
- there are different designs of parallel port around(since the original
IBM circuit) they differ in pullup resistor values, acceptable high and low
current maximums, even output kind(open collector vs. push pull)
- Manifold lpt modes have been invented(nibble mode, enhanced, extended,
some PnP procedures to identify even a lpt ethernet connector)
So it might not be guaranteed that every dongle works on every
PC
Some dongles need a printer connected on other side(to steal power from
the printer's pullups(which also differ in value)
Some dongles might be more robust towards plugging/unplugging under power
on situation, or with printer on other side.
The caps and resistors might be for protect against spikes in just such a moment(connect /disconnect connect/discnnect printer is not very recommended under power; some kind of electronics doesn't like input signals
below/over psu voltage, read under 'latch up')
If you used two pcs with some kind of switch you have additional
thrills:
- make sure the switch is a 'break before make' type unless you short circuit
signal lines when switsching over.
- If the PCs have different ground level (floating ground or different mains
circuits) you have a good chance to destroy the dongle or one of the printer ports ...)
Some of the dongle manufacturers offer a kind of 'floating' network license
where only a license server has a hardware dongle while the others
relay dongle queries to the server.
So if it's not just a diode(use a cheap multimeter with diode test mode)
the chances are good that the dongle is bricked.
if you locate some kind of SMD or electrolyt caps, (usually the bigger SMD
components, the smaller are resistors and small ceramic caps(very unlikely to
die), measure the voltage across this (suspected power supply buffer cap)
: if it is 3,3 or 5V (possibly some asic need less) then the power stealing
from lpt or printer is OK - and the asic is dead only... :-(
regards
FrankRizzo
March 22nd, 2009, 18:58
Exactly Marco, the reason I wanted him to test the components is that if a spike of sufficient size came through, it could have blown the resistor, AND the ASIC. It's a good tell-tale if nothing else.
personmans
March 24th, 2009, 16:28
Bad news, though I can't test for capacitance, the caps charge and flow voltage, all the components function the same on the working and non-working dongles.
Guess it really is toast... I suppose I could write code and add a new IC to make it function just like the old one. That's just not nearly as fun.
FrankRizzo
March 24th, 2009, 16:33
Depends on your definition of fun!
A LONG time ago, I did a Sentinel Pro program that used a .dll to talk to the dongle.
When I ran the app through IDA, I found all the places that called the "Check" function, and the code looked like this:
Code:
lea eax,String
push eax
Call Check
cmp eax, $XXXX
So, I had a list of the strings sent to the dongle, and the expected return value. I gutted the function in the .dll, and replaced it with a simple lookup table, and it was golden. It would send a string, I would strcmp it to each one in the list, and when it matched, I grabbed the accompanying 16-bit value, and returned it.
It's probably STILL working. That was circa '96 or so.
personmans
March 24th, 2009, 16:46
Does sound like an interesting project, but my interest in dongles went quickly after HASP (I hate that thing now). I have reversed and emulated a few different dongle types (whatever I can get my hands on), but I don't feel the need to have a physical working version of this dongle.
Was your table able to work with different pieces of software, or just the one specific target?
FrankRizzo
March 24th, 2009, 17:51
Quote:
[Originally Posted by personmans;79828]
Was your table able to work with different pieces of software, or just the one specific target? |
Yeah, it was. Since the strings sent TO the dongle are target specific, the lookup table had to be as well. (I assume that the returned values would be unique to that customer's dongles also).
personmans
March 24th, 2009, 18:06
Yeah, if I could get a copy of the original dongle code and make a few... modifications

then I would definitely pursue that project. For now though, I'll just let it be a dead dongle. I don't think I'll be needing a sentinel pro (not even super pro) for anything in the future.
Powered by vBulletin® Version 4.2.2 Copyright © 2018 vBulletin Solutions, Inc. All rights reserved.