Log in

View Full Version : Extracting Content Key from drmv2.lic/drmstore.hds files.


sectroyer
8th February 2008, 10:33
<?xml version="1.0"?><LICENSE version="2.0.0.0"><LICENSORINFO><DATA><LID>{CFFE4A08-FE5C-4771-814A-4BCB541B1647}</LID>
<KID>Eeuh/fZk5Uq6ZUkyJBAfDw==</KID><ISSUEDATE>#20080129 22:52:23Z#</ISSUEDATE><PRIORITY>10</PRIORITY><RevocationList>
eCNA5atibBJqxM8CV7ex7?<?xml version="1.0"?><LICENSE
version="2.0.0.0"><LICENSORINFO><DATA><LID>{8EC97DB5-E3EF-4D91-B4C6-96D719403D49}</LID>
<KID>vSzHOJjVSkiXDCanEDi4Jw==</KID><ISSUEDATE>#20080125 01:44:48Z#</ISSUEDATE><PRIORITY>10</PRIORITY>
<RevocationList>eCNA5atibBJqxM8CV7ex7kMmDym6M!7s
z2UtPOvo1bjLlEle9n1fVgIAAABABQAAHgAAAAAAAAAoAAAANs
oG8h076HTyFMMZjG1vHXeZmFeFES14zclivEcB3FgtMrxadnl2
aQAAAAAoAAAAkT8hU9tuYui*2dyuJ8!6VtLNWnr7z7GY7MGD8joh
DA1aGt2taWZlOwAAAAAoAAAAEEHRFbXHQQGkpQhOQnuMj4KgSS
Cfy!ogHo08y!ZTAQoQPsKkUXSQfQAAAAAoAAAASSBW8Brm2QMF
mXjMc0fsJoZC910j03VkHoAP70Up8ehGlx*idNilggAAAAAoAAAALUFO
b8j!cSiwzc1e2S2ZkrlxWU1atzf2Ggr8DObXsl4DanBZrYGWeAAAAAAoA
AAAhpK3pGFUkDLH2Z7rgkmlaXlsGi9LvHXWtUK9Mn2uzZug8554SvW6
aAAAAAAoAAAAPlP0uQW*XbqKUSy2e!G7QCEYfmG3Sw7S5*Bkt4dBrQL
fXGeVavBHaQAAAAAoAAAAbHWjCvKZNZGsIui5jRAxtCfu0npsH6I*Ql2l
XpDqPknrLTw4YptyAgAAAAAoAAAA1KTsar1TXo8S5C4UvgmAj522z1ldX
LskSK7uQgv3keaQnLLXttH5EwAAAAAoAAAAOuscDotVp!wBUi3PO27K1
OzntEiaWnkP7byxAd7hdPR!bvcWlD06WgAAAAAoAAAANVAFOpddfda39
MlLcDvgg90C7AUpnHTXQT3n7ryRI302REu8iYzjgAAAAAAoAAAAiCGW9D
!zJ6Pj*9lcUhqcDHvrTxtd9d8DtoXo8E8SvH35bkYFWBXleQAAAAAoAAAA
4gII2XJGbQB5PJyaNjH7!0Zx4V118ojrj!kB5iTL14z*bv7TCediUAAAAAAo
AAAAFsTRr0fKcIPOnK38YIQWEgKwVVECGtBgoxJ8l9oHkyoiB43rW*jgSg
AAAAAoAAAAcEkP1thG1bf!eLf!XL27E5PrVBn1y8rrO84WiWCUwAOLEsViP!
6QbQAAAAAoAAAANDPDLL!eZXvSrOeAuIy8KlD!hG*Qh6TBy0IWUyxTKhD
fDt47Z8D0VgAAAAAoAAAAlpGcjODTjHP!MzB5YZDPt3UGV0xhzupn8LkC
1oYyasGLDaRAvcb!NgAAAAAoAAAAQfs9AtQcEfH0bGJidXrMkMjL4RoUGK
R3F1K1c6FmWc91SbT19rZ3ggAAAAAoAAAA3TSJEPXjbYiRKDW5FQPR0
dXcoUkotCYOnZB2g2R9OPyfr1KZa0OERgAAAAAoAAAA9*nrFvxm*7KQ
is0rR29SH5Gm5hyxT4saeO0sLIez93YKnDHBwuiBKQAAAAAoAAAAAnQ
JsT3UKNOKcaE!VLxpN!puQBwF*jIwRNPhAcH!i2j2Y0BHCeU8fQAAAAAo
AAAAWKVlYIw1OnNQqQt!h!ELkaLllyx4H*qOmMPsws6RAFsOdpZyxl3k
OQAAAAAoAAAA1l6OyJjG3T5n64VP!333fLWVuWP4y4gFOWPtlp2RI7
FB!*cZCJKehwAAAAAoAAAAgyzVG8EN7bxMmF7bwg7mZFAdJmQm9
TFuZF8UCIAqNypKabahOkXTKgAAAAAoAAAADbEhBonRQ7Ibr8eq9oR0
CHz*o1vyH3H1zvrUgWDfekFXe2h3!!SWbwAAAAAoAAAAazKK*ilyiVkE
8d2FB!9hkuYR0h0p0uF!0DPgjXtlKmtztgWoyCxLcwAAAAAoAAAAtf2Hu
oZs4GK*uUNjTQcZ7f9yHiwhGEzPNIJ1kV1omz0awA!hnelPQwAAAAAo
AAAAyvl2NedtYTowb80gSXX*pz*xfDjT6IKug2NnvNPEcnMXFpvmG6fq
HA==</RevocationList><CONTENTPUBKEY>DF8wVFESxDCAfwR6fiA
ABDboKHlrAoPLud9BZ!Sfd2MnSzxitnm3Bw==</CONTENTPUBKEY>
<META></META><ONACTION type="Restore"><CONDITION>
<![CDATA[1]]></CONDITION></ONACTION><ONACTION type="Backup">
<CONDITION><![CDATA[1]]></CONDITION></ONACTION>
<ONACTION type="CREATE_PM_LICENSE"><CONDITION><![CDATA[pmlicense.rights
= 19;pmlicense.appseclevel = 150;1]]></CONDITION><ACTION>
<![CDATA[!exists(secstate.FirstUseDate)?secstate.FirstUseDate =
machine.datetime:0]]></ACTION></ONACTION><ONACTION type="Play"><CONDITION><![CDATA[1]]></CONDITION><ACTION>
<![CDATA[!exists(secstate.FirstUseDate)?secstate.FirstUseDate = machine.datetime:0]]></ACTION></ONACTION><ONCLOCKROLLBACK>
<ACTION><![CDATA[secstate.OldSaveTime<secstate.global.
savedatetime?secstate.OldSaveTime=secstate.global.savedatetime:0]]>
</ACTION></ONCLOCKROLLBACK><ONSELECT><CONDITION>
<![CDATA[((exists(secstate.FirstUseDate) && datediff("h",
secstate.FirstUseDate, machine.datetime) > 336))?(secstate.deleted=1;
deletelicense();0):(!exists(secstate.deleted) && (app.minseclevel >=
2000?1:(secstate.drmreason=3;0)) && (app.seclevel >=
3000?1:(secstate.drmreason=9;0)) && machine.datetime >=
secstate.OldSaveTime && (!exists(secstate.FirstUseDate) || datediff("h",
secstate.FirstUseDate, machine.datetime) <= 336))]]>
</CONDITION></ONSELECT><ONSTORE><ACTION><![CDATA
[!exists(secstate.OldSaveTime)?secstate.OldSaveTime=machine.
datetime:0;!exists(secstate.HoursFromFirstUse)?secstate.
HoursFromFirstUse=336:0;!exists(secstate.MinAppSecLevel)?
secstate.MinAppSecLevel=2000:0;!exists(secstate.SecLevel)?
secstate.SecLevel=3000:0]]></ACTION></ONSTORE><ENABLINGBITS>
<ALGORITHM type="MSDRM"></ALGORITHM><PUBKEY type="machine">
ISNc!Gs8VkCwKCDQB0uwVJAmvW90G2JJSrTWYdxhnve9C5LkDxhZeQ==
</PUBKEY><VALUE>y96yEXrg96g8SticgM14veCfwmtM1M8K7dUt
*4KJVOf38RgWxUMXhZ*JfHK7IFLfRDR*1U*QcpXhdic*4OtrkrpCdpNQ
P9JSJ39IzN0wA0s=</VALUE><SIGNATURE>ERTK26tutwsMO4et*56k8
rQk2gi7RvomGIO4irczwOqLr7lUjTUTDQ==</SIGNATURE></ENABLINGBITS>
</DATA><SIGNATURE><HASHALGORITHM type="SHA"></HASHALGORITHM>
<SIGNALGORITHM type="MSDRM"></SIGNALGORITHM><VALUE>
!Pa6oaZoEfboY4TfWHkzxq9T2nh8pkCqICHB3LyauTLxRMiZZAMlIg==
</VALUE></SIGNATURE><CERTIFICATECHAIN type="MSDRM">
<CERTIFICATE>AAEAADgAAAAknQLIrLkkPz8KdxnESiNvDkKcWFIQkOgYmempc6XpTG
oCWJsFuRYP0BIiUR*5uuA13PnvAtPeGvlYq4BKPkG5sEe2zecRVjHR3f7EJ8
3JdmNjDB8AAABkAAAAAQAAAAE=</CERTIFICATE><CERTIFICATE>
AAEAADgAAADDO1sdXV5zZfQ2gGw8OZgoe6CQhI4HzRvQfylbAfYT0YMB
A!vUTY1aU5sZU*BO3kVVL9QMr2H2pli7L06DyNLNYYI71pdIXqIH5im01
jNAhRQIAhYAkKjoAAAAAgCRyTs=</CERTIFICDjbLEApeV0Sq2UgzSUdykA==
Hi. The problem is simple I just can't find a place where Content Key for <KID>Eeuh/fZk5Uq6ZUkyJBAfDw==</KID> is stored :( In such cases FreeMe2 extracts the key for the second KID (vSzHOJjVSkiXDCanEDi4Jw==) which is not correct (I did even check the Checksum field from asf DRMv2 header). It's just strange example for me. No PUBKEY, no ENABLINGBITS tags :( I count on your suggestions :)

Ajax_Undone
10th February 2008, 07:43
Interesting the PUBKEY has Dropped from existence...


I had this happen but only after I had destroyed WMP using the Media player hack that installs the version you want...

After restoring MP10 Then re-invid the IBX and got Verson 11.5xxx.6xxx From MP11 Final with IBX11.6000.7000 after that I relicensed my files they played using MP but I wasn't able to retrieve the key using FU4WM... I found out that it used the store key to play the file and the KID was no longer needed but the file was permafried... It couldn't be transferred to the player or used in any type of Standalone...
And I could not decrypt it...

After that happend I purchased another track and it ended up the same way... played but retrived nothing

So I believe that file has been junked...

sectroyer
10th February 2008, 11:13
This is only the example of one file. And strange thing is that in this specific license file there are 18 files and only I am only able to extract 13 SIDS :( One more thing is that this happens just after the file is bought! You say something about "the store key"? Where can I find? Is it possible to extract SID from this?

Ajax_Undone
11th February 2008, 02:25
This is only the example of one file. And strange thing is that in this specific license file there are 18 files and only I am only able to extract 13 SIDS :( One more thing is that this happens just after the file is bought! You say something about "the store key"? Where can I find? Is it possible to extract SID from this?

The store key is the master key to the file: After all it is what set the SID PID and KID for the file to be played transferred and decrypted.. It is stored in drmstore.hds But it is encrypted... If you find out how it is encrypted and are able to decrypt it PM me with "the how to's":rolleyes:

I like what DVD Jon had on Itunes he Recreated the store by reverse engineering itunes and made one that did not kill the file with drm... Check your PM

sectroyer
12th February 2008, 01:26
I am just curious is there any difference (except the name) between drmstore.hds and drmv2.lic I ask since this example is from drmv2.lic.