Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "lmclient.h"
- #include "lm_attr.h"
- #define VENDOR_NAME "your vendor nae"
- #define ENCRYPTION_SEED1 0x12345678
- #define ENCRYPTION_SEED2 0x12345678
- #define VENDOR_KEY1 0x12345678
- #define VENDOR_KEY2 0x12345678
- #define VENDOR_KEY3 0x12345678
- #define VENDOR_KEY4 0x12345678
- #define VENDOR_KEY5 0x12345678
- #define LM_VER_BEHAVIOR LM_BEHAVIOR_V6
- char *feature[]=
- {
- "FeatureName #1",
- "FeatureName #2",
- "FeatureName #3",
- // etc
- };
- char *version="2.0";
- char *expdate="permanent";
- char *licnum="uncounted";
- char *hostidtype="DISK_SERIAL_NUM";
- LM_CODE(code, ENCRYPTION_SEED1, ENCRYPTION_SEED2, VENDOR_KEY1, VENDOR_KEY2, VENDOR_KEY3, VENDOR_KEY4, VENDOR_KEY5);
- LM_HANDLE *lm_job;
- void main()
- {
- char i;
- int featureno=sizeof(feature)/sizeof(feature[0]);
- char istr[255];
- char *ostr=(char *)0;
- char *err;
- int flag=LM_CRYPT_FORCE;
- char hostid[MAX_CONFIG_LINE];
- if (lc_init((LM_HANDLE *)0, VENDOR_NAME, &code, &lm_job))
- {
- lc_perror(lm_job, "lc_init failed");
- exit(-1);
- }
- if (strstr(hostidtype,"DISK_SERIAL_NUM"))
- lc_hostid(lm_job, HOSTID_DISK_SERIAL_NUM, hostid);
- else if (strstr(hostidtype,"ETHER"))
- lc_hostid(lm_job, HOSTID_ETHER, hostid);
- else
- strcpy(hostid,"ANY");
- code.data[0] ^= VENDOR_KEY5;
- code.data[1] ^= VENDOR_KEY5;
- for each(char * feat in feature)
- {
- strcpy(istr,"FEATURE " );
- strcat(istr,feat); strcat(istr," ");
- strcat(istr,VENDOR_NAME); strcat(istr," ");
- strcat(istr,version); strcat(istr," ");
- strcat(istr,expdate); strcat(istr," ");
- strcat(istr,licnum); strcat(istr," ");
- strcat(istr,"0 ");
- strcat(istr,"HOSTID=");strcat(istr,hostid); strcat(istr," ");
- strcat(istr,"ISSUER=cDc"); // :-)
- if (lc_cryptstr(lm_job, istr, &ostr, &code, flag, (char *)0, &err))
- printf("%s\n", err);
- if (ostr)
- puts(ostr);
- }
- lc_free_mem(lm_job, ostr);
- return;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement