PDA

View Full Version : flexlm and seeds


diazpi
February 16th, 2011, 01:23
flexlm version 8.1b
with OllyDbg, I manage to find the values of ESP+4(vendor name), ESP+8 (vendor code)
but I do not know from where, how to find the seeds values.
how to find the values of VC+04 and VC+08

If anyone can help me, thank you.
Pierre

diazpi
February 16th, 2011, 04:29
Ok, I found my seeds.
But now I have another problem.
My license file like this:
Code:
SERVER myserverCLCODE=ERRORE 7171
DEAMON
FEATURE TE deamon 3000.0 30-jun-2015 5 60D0B0E01BE5D77F3D36 VENDOR_STRING=xx


When my daemon start, I receive this error
SERVER line says CLCODE=ERRORE, hostid is "00e08157a141 000e2ee96c67"
Invalid hostid on SERVER line

How I could resolve this?

thank you
Pierre

FoxB
February 17th, 2011, 09:04
the DAEMON is cadlab or thinkflx ?

CLCODE is custom vendor hostid for eutron key...

diazpi
February 17th, 2011, 10:19
Thank for your reply
The deamon is Thinkflx.
How can I do to bypass the dongle ?
I am searching in the _lc_hostid function. I found out the dongle, but I can not avoid using this dongle.
the contents of the dongle seems encrypted

could you help me

Thank you
Pierre

FoxB
February 17th, 2011, 10:32
you need the dongle emulator and valid flexlm license for custom hostid. also may be need pak-file for enabling all options...

diazpi
February 18th, 2011, 01:20
Hello,

Are there tools to do that ?
Is it difficult to install ?

Think you
Pierre

diazpi
February 18th, 2011, 02:43
Hello,

In fact I do not need to emulate a dongle. I have the original, but my licenses are limited in time.
I think my seeds are good for this daemon:
# define ENCRYPTION_SEED1 0x1AB74168
# define ENCRYPTION_SEED2 0x58CAD933
my licenses expire on 30/06/2011 and I would like to extend until 30/06/2012
my original license is like this:
Code:
SERVER mypc CLCODE=EUS04130 7171
DAEMON thinkflx

FEATURE TE thinkflx 3000.0 30-jun-2011 1 20D010801A587C7F61DD VENDOR_STRING=xxx


My new license (I use lmcrypt):
Code:
SERVER mypc CLCODE=EUS04130 7171
DAEMON thinkflx

FEATURE TE thinkflx 3000.0 30-jun-2015 1 10A0D02064B12B1DB30C \
VENDOR_STRING=xxx


when I install the new license I have the following message:
Code:
Server started on tse_prod for: TE
8:11:01 (thinkflx)
8:11:01 (thinkflx) Wrong hostid on SERVER line for license file:
8:11:01 (thinkflx) C:\flexlm8.4\license.dat
8:11:01 (thinkflx) SERVER line says CLCODE=EUS04130, hostid is 00163691dce5
8:11:01 (thinkflx) Invalid hostid on SERVER line


If my seeds are good, for which reason I can not create a license that works ?
are there any options for lmcrypt to create licenses with dongle ?

thank you for all your help
pierre

FoxB
February 18th, 2011, 08:19
your vendor hostid is CLCODE=EUS04130
simply see at C:\Program Files\flexlm\v9.2\examples\vendor_hostid\ folder AND MANY YOUR QUESTIONS WILL BE DEAD

diazpi
February 18th, 2011, 08:44
In fact I must create a specific Deamon for this Dongle.
I have to force the daemon to use this information

I will test this solution.

Thank you very much
Pierre

FoxB
February 18th, 2011, 08:53
you need create the vendor customized license generator =)

diazpi
February 18th, 2011, 09:38
I just tested this solution and I get an error when compiling.
I modified the file Makfile as follows:
Code:
daemon: $(DAEMON)

$(DAEMON): $(XTRAOBJS) $(DAEMONLIBS) lsvendor.obj $(SRCDIR)/lsserver.h $(LMNEW_OBJ)
$(LD) /subsystem:console /out:$(DAEMON) lsvendor.obj $(LMNEW_OBJ) \
$(XTRAOBJS) $(DAEMONLIBS) $(CRT_LIB) $(XTRALIB1)

lsvendor.obj: lm_new.obj
$(CC) $(CFLAGS) -I../h lsrvend.c
if exist lsvendor.obj del lsvendor.obj
ren lsrvend.obj lsvendor.obj

vendor_hostid.obj : $(SRCDIR)/vendor_hostid.c
$(CC) $(CFLAGS) -I../h $(SRCDIR)\vendor_hostid.c
makekey.exe: $(SRCDIR)\makekey.c $(SRCDIR)\lm_code.h lm_new.obj \
$(SRCDIR)/lmclient.h $(STATIC_CLIENTLIB)
$(CC) $(CFLAGS) $(SRCDIR)/makekey.c
$(LD) /out:makekey.exe makekey.obj vendor_hostid.obj $(STATIC_CLIENTLIB) $(XTRALIB)
if exist makekey.obj del makekey.obj
lmcrypt.exe: $(SRCDIR)/lmcrypt.c \
$(SRCDIR)/lmclient.h $(SRCDIR)\lm_code.h $(STATIC_CLIENTLIB)
$(CC) $(CFLAGS) $(SRCDIR)/lmcrypt.c
$(LD) /out:lmcrypt.exe lmcrypt.obj vendor_hostid.obj $(STATIC_CLIENTLIB) $(XTRALIB)
lmflex.exe: $(SRCDIR)/lmflex.c $(LMNEW_OBJ) \
$(CLIENTLIB) lmstrip.exe
$(CC) $(CFLAGS) $(SRCDIR)/lmflex.c
$(LD) /out:lmflex.exe lmflex.obj vendor_hostid.obj $(LMNEW_OBJ) $(CLIENTLIB) $(XTRALIB)
if exist lmflex.obj del lmflex.obj


And I do build:
Code:

lmrand1 -i ..\machind/lsvendor.c
cl /c /nologo /c /I..\machind /I. /MT -I../h lmcode.c
lmcode.c
LINK /nologo /NODEFAULTLIB /OPT:NOREF /subsystem:CONSOLE lmnewgen.obj l
mcode.obj lmgr.lib libcrvs.lib libsb.lib oldnames.lib kernel32.lib user32.lib n
etapi32.lib advapi32.lib gdi32.lib comdlg32.lib comctl32.lib wsock32.lib libc
mt.lib /out:lmnewgen.exe
if exist lm_new.c del lm_new.c
lmnewgen.exe thinkflx.exe -o lm_new.c
Upgrading, using license-key
cl /nologo /c /I..\machind /I. /MT /Folm_new.obj lm_new.c
lm_new.c
cl /nologo /c /I..\machind /I. /MT /O1 ..\machind/lmsimple.c
lmsimple.c
LINK /nologo /NODEFAULTLIB /OPT:NOREF /out:lmsimple.exe lmsimple.obj lm
_new.obj lmgr.lib libsb.lib libcrvs.lib flock.lib oldnames.lib kernel32.lib user
32.lib netapi32.lib advapi32.lib gdi32.lib comdlg32.lib comctl32.lib wsock32.
lib libcmt.lib
if exist lmsimple.obj del lmsimple.obj
cl /nologo /c /I..\machind /I. /MT /O1 ..\machind/lmflex.c
lmflex.c
LINK /nologo /NODEFAULTLIB /OPT:NOREF /out:lmflex.exe lmflex.obj vendor
_hostid.obj lm_new.obj lmgr.lib libsb.lib libcrvs.lib flock.lib oldnames.lib ker
nel32.lib user32.lib netapi32.lib advapi32.lib gdi32.lib comdlg32.lib comctl3
2.lib wsock32.lib libcmt.lib
LINK : fatal error LNK1181: cannot open input file "vendor_hostid.obj"
NMAKE : fatal error U1077: 'LINK' : return code '0x49d'
Stop


What I miss ?

thank you
Pierre

FoxB
February 18th, 2011, 09:42
check folder path for output obj-file

diazpi
February 18th, 2011, 09:47
The file vendor_hostid.obj is not created.
It is created automatically ?

Thank, Pierre

diazpi
February 18th, 2011, 09:50
Do you know where I set the path.

Thanks, Pierre

Arlequim
March 17th, 2011, 10:31
One year ago i have successfully cr4cked thinkdesign so i know the solution: all you need to do is reversing thinkflx/t3gen.dll where your CLCODE variable is crypted (default is BOLOGNA0). You will find a poor XOR routine so this task takes a some minutes, in other words a valid license with 16 chars is not enuf. Good luck, you are on the right way