Welcome to Doom9's Forum, THE in-place to be for everyone interested in DVD conversion. Before you start posting please read the forum rules. By posting to this forum you agree to abide by the rules. |
|
|
#1 | Link | ||
|
Registered User
Join Date: Sep 2007
Posts: 102
|
Getting IBX keys and a way to defeat MS WM-DRM 11.0.6000.7000
Hi.
Wanted to start a talk how we can extract (an how it is already done) IBX keys. According to technical details of freeme: Quote:
Quote:
Regards. |
||
|
|
|
|
|
#2 | Link |
|
Stupid should Hurt!!!
Join Date: Apr 2006
Location: In hell next to the boiling pit of Lava...
Posts: 891
|
Is it a random access AES key generator...
It might search for the the key that unlocks the file to gain access to the data contained in the IBX... (ie Brute force attack)... |
|
|
|
|
|
#3 | Link | ||
|
Registered User
Join Date: Sep 2007
Posts: 102
|
Quote:
![]() Quote:
Last edited by sectroyer; 24th September 2007 at 22:48. |
||
|
|
|
|
|
#6 | Link |
|
Stupid should Hurt!!!
Join Date: Apr 2006
Location: In hell next to the boiling pit of Lava...
Posts: 891
|
You might try getting a Copy of the Microsoft digital rights management SDK 10.1.2... After all thats how Viodentia did his program... I know that you have to register with MS and buy a licence to use it I think... or find it on a Bittorrent Site...
ANyhow good luck unlocking the secrets of the empire... |
|
|
|
|
|
#8 | Link |
|
Registered User
Join Date: Sep 2007
Posts: 3
|
More than you want to know about IBX files
There is much confusion, of which I will try and resolve. This information is my own fabrication. It may not represent actual reality. Nor do I speak for any employers, past or present.
The IBX or Individual Black-boX is a method of practical implementation of access control. The goal is to entangle decryption capability with policy enforcement in a manner that resists separation. Concretely: The IBX only decrypts video for a blesssed player application. An IBX is just a DLL (renamed to .key), that contains two assymmetric keypairs (1 - Elliptic Curve Cryptosystem, see freeme doc. 2 - RSA, not documented) and one symmetric key (explained later). It also contains the code to parse licenses, checks that the system clock hasn't been moved backwards, verifications that it is running on the same hardware, and signature validation for the players. When things work perfectly, the application gives the IBX the XML licenses + encrypted file data, and gets back fresh clean multimedia data. In theory, this is doomed - all the keys are in the hands of the attacking parties. In practice, the inevitable is delayed by layers of obfuscation and renewability. As long as each version lasts long enough for the next to be prepared, then the system is reasonably secure. For WM11, IBX files are obfuscated by a tool called "warbird", which is more of an ineffectual surrender chicken. The process likely goes like this, for a large number of IBX components. 1. Generate random key data 2. create source from templates + key data 3. Compile into object files 4. apply "warbird" obfuscations 5. link (shuffling the order of object files) 6. sign Warbird uses the linkage information in the object files to make certain alterations. It encrypts certain whole routines, some randomly picked, others based on configuration. Other routines are seperated into basic blocks (a flow of asssembly statements without a branch), each block is encrypted individually, and the branches are removed (stored in a seperate table). The encryption is a home grown, weak cipher that uses two 24 bit keys (one for even bytes, the other for odd bytes). The keys are either stored in the IBX, or are calculated in code based on hashing other parts of the IBX to ensure integrity. To further protect the valuable asymmetric keys, the keys are stored in a mutated form. They are transformed by XORring with a random value, as well as being rotated. One problem in this scenario is that each IBX has a key, but it is impossible to handle upgrades. If you have IBX v0, and software upgrades you to IBX v1, you want to play all your old files! We handle this in both directions with an associated file (XML, ending in .bla). This file contains your current asymmetric keys, encrypted to a secret private key that only the individualization servers have. When you go to upgrade, this "escrowed" data is encrypted with the new IBX's symmetric key, and stored in the XML file. Recap: .key - Obfuscated: ECC key pair, RSA key pair, AES key .bla - Encrypted to Microsoft key: ECC keypair, RSA keypair, AES key. Encrypted to AES key: ECC/RSA keypairs for PREVIOUS IBX files. c0redump's method used in fairuse4wm and mirakagi worked by extracting the private ECC key data and AES key from the IBX due to the weak obfuscation. Since the key data is mutated, instead of executing IBX code to undo the mutation, the attack just tried every possible mutation on the ECC key data. The new IBX tries to prevent these issues by increasing the number of mutations to make the attack infeasible, using more instructions and better checking to make emulation difficult, and improving slightly improving some microobfuscation. Some of the code that came from cloakware can't be rewritten at this time, so some weaknesses remain. However, this new version complexifies the simple scanning attacks that worked on the prior versions. Last edited by people are pork; 29th September 2007 at 23:30. |
|
|
|
|
|
#9 | Link |
|
Registered User
Join Date: Sep 2007
Posts: 3
|
To answer an unasked question - what can you do?
it is feasible for a moderately skilled attacker to get the keys from any single IBX. Preventing this is impractical. Obfuscation only aims to prevent tools from working over the long term. The easiest attack to mount, then, is to figure out what registry keys are involved in preventing an IBX downloaded on machine A from being moved to machine B. When you can do this, you can distribute IBX files with the associated keypairs. This strategy will also cause more grief for the obfuscation team, as the exact methods used will no longer become public. |
|
|
|
|
|
#10 | Link | ||
|
Registered User
Join Date: Sep 2007
Posts: 3
|
Quote:
fairuse4wm did not use this sdk. It used the freely available windows media sdk, however, it used an undocumented API, probably by guessing the parameters. This undocumented API was used to open and walk the hashed datastore (HDS file). This API will probably be removed from future versions of the public SDK. Quote:
In ECC, the public key is (IIRC) (Secret Key)*(Generator Point). So the code does an scalar multiply then does a compare. There are some optimizations involving projective transforms and other cases, but you will not find the bytes of the key in the IBX (see above post). This isn't AACS stuff. Last edited by people are pork; 29th September 2007 at 23:42. |
||
|
|
|
|
|
#15 | Link |
|
Registered User
Join Date: Jun 2005
Posts: 28
|
drmdbg for IndivBox.key v11.0.6000.7000
http://sky.advenbbs.net/bbs/DRMdbg2005.htm |
|
|
|
|
|
#16 | Link | |
|
Registered User
Join Date: Sep 2007
Posts: 102
|
Quote:
Last edited by sectroyer; 30th September 2007 at 22:30. |
|
|
|
|
|
|
#18 | Link |
|
Registered User
Join Date: Sep 2007
Posts: 102
|
I spent two hours trying to install sp2 and validating product key. Then 15 minutes to install (without WGA) WMP 11 and individualize to 11.0.6000.7000 so you can trust when I say that it is cracked
Just learn japanese or spent some time with google language_tool
|
|
|
|
|
|
#19 | Link |
|
Registered User
Join Date: Sep 2007
Posts: 10
|
Why don't you post some instructions for those of us who know no Japanese? It doesn't seem to be working on Vista English for me. Just closes wmp11 shortly after it tries to open.
Last edited by ssj4android; 1st October 2007 at 04:19. |
|
|
|
|
|
#20 | Link | |
|
Registered User
Join Date: Sep 2007
Posts: 102
|
Quote:
You should consider uninstalling Vista I don't know if it will ever work with Vista
|
|
|
|
|
![]() |
| Tags |
| drm, ibx |
| Thread Tools | |
| Display Modes | |
|
|