windowsdlls
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
windowsdlls [2009/05/05 07:39] – moved info to subpages megadiscman | windowsdlls [2010/04/29 14:48] (current) – megadiscman | ||
---|---|---|---|
Line 124: | Line 124: | ||
</ | </ | ||
+ | ===== OpenMG Secure Module - Implementation Architecture ===== | ||
+ | |||
+ | * References: | ||
+ | Sony Patent EP1 496 439 A1, Fig.6 there is a diagram illustrating the functional structure of the client. | ||
+ | |||
+ | Note: Patent diagram says following: | ||
+ | |||
+ | Security Module: | ||
+ | |||
+ | [0047] A security module 53 performs processing relating | ||
+ | to data security, such as encryption of the modules. | ||
+ | A request for the security-related processing generated | ||
+ | in the modules is sent to the security module 53, | ||
+ | and the security module 53 performs encryption or the like | ||
+ | in response to the request. | ||
+ | |||
+ | DRM Module: | ||
+ | |||
+ | [0043] Fig. 6 shows an example of the functional | ||
+ | structure of the client 1. A DRM (Digital Right Management) | ||
+ | module 51 communicates the content, right data, | ||
+ | etc., or manages the right data. | ||
+ | |||
+ | Comparision with the implementation: | ||
+ | |||
+ | Playback module, write module, read module, lcm module all communicate directly to | ||
+ | the DRM module or Security Module. These modules would be OmgNetMD.dll, | ||
+ | |||
+ | Modules in the plugin-layer at the top would communicate with these " | ||
+ | they never directly communicate with salwrap/ | ||
+ | There are tough, exceptions, a couple of functions can be used in pfcom trough COM. Its also possible to use SAL (salExec0) using COM (omgmisc.dll DLL link to salwrap.dll salExec0). | ||
+ | |||
+ | < | ||
+ | .................................................................................................... + UI | ||
+ | SonicStage | ||
+ | .................................................................................................... | ||
+ | ^ ^ | ||
+ | | | | ||
+ | | COM | ||
+ | v v | ||
+ | .................................................................................................... Plug-in layer (AVLib) | ||
+ | + CheckOut +Playback | ||
+ | + CheckIn +Convert | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | NetMDAPI.dll | ||
+ | | ||
+ | | ||
+ | NetMDUSB.dll | ||
+ | | ||
+ | .................................................................................................... OpenMG | ||
+ | ^ | ||
+ | | COM | ||
+ | DLL | ||
+ | ----------------------- | ||
+ | pfcom.dll | ||
+ | | | ||
+ | | | ||
+ | | ||
+ | | ||
+ | | | ||
+ | | ||
+ | | | ||
+ | | | ||
+ | ----------------------- | ||
+ | ^ | ||
+ | | | ||
+ | v | ||
+ | | ||
+ | | ||
+ | maclist1.dat, | ||
+ | [License information] | ||
+ | OMGKEY\salomgid.dat | ||
+ | < | ||
+ | | ||
+ | |||
+ | |||
+ | .................................................................................................... Secure Applications | ||
+ | | ||
+ | | ||
+ | | ||
+ | |||
+ | | ||
+ | SAL Runtime | ||
+ | | ||
+ | |||
+ | .................................................................................................... | ||
+ | </ | ||
+ | |||
+ | |||
===== The ocm-files ===== | ===== The ocm-files ===== | ||
Line 131: | Line 223: | ||
* [[http:// | * [[http:// | ||
* [[http:// | * [[http:// | ||
+ | |||
+ | OCM handling code is stored in a private git repository (run using [[http:// | ||
+ | |||
+ | < | ||
+ | Hostname z6.physik.fu-berlin.de | ||
+ | IdentityFile ~/ | ||
+ | </ | ||
+ | |||
+ | After that, you can clone the repo by using | ||
+ | < | ||
+ | git-clone gitosis@z6.physik.fu-berlin.de:/ | ||
+ | </ | ||
The OCM files (except for init.ocm which contains an extra layer of packing) are interpreted as [[OCMBytecode]] | The OCM files (except for init.ocm which contains an extra layer of packing) are interpreted as [[OCMBytecode]] | ||
- | Here is a decode | + | Here is a decoder |
* It does not name imports from salwrap, it just puts offsets into the import table into a generic name. Check here for some name [[OCMSalwrapExports]] | * It does not name imports from salwrap, it just puts offsets into the import table into a generic name. Check here for some name [[OCMSalwrapExports]] | ||
* It is unable to parse named exports | * It is unable to parse named exports | ||
Line 141: | Line 245: | ||
The output of the program is an assembler source file (completely unreadable) that is intended to be compiled by the GNU assembler (Win32 port or cross-assembler in linux) and then loaded into a good disassembler, | The output of the program is an assembler source file (completely unreadable) that is intended to be compiled by the GNU assembler (Win32 port or cross-assembler in linux) and then loaded into a good disassembler, | ||
- | [[codeblockparser]] | + | [[codeblockparser]] |
Some info about analysing an OCM file can be found in this part of chat log: | Some info about analysing an OCM file can be found in this part of chat log: | ||
Line 151: | Line 255: | ||
* Netmd.ocm: [[netmdocm]] | * Netmd.ocm: [[netmdocm]] | ||
* Device.sal: [[devicesal]] | * Device.sal: [[devicesal]] | ||
+ | * Trkinf: [[trkinfocm]] | ||
+ | |||
+ | ===== Links ===== | ||
+ | * [[http:// |
windowsdlls.1241509186.txt.gz · Last modified: 2009/05/05 07:39 by megadiscman