windowsdlls
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
windowsdlls [2009/05/07 04:49] – nopsled | windowsdlls [2010/04/29 14:48] (current) – megadiscman | ||
---|---|---|---|
Line 124: | Line 124: | ||
</ | </ | ||
- | |||
===== OpenMG Secure Module - Implementation Architecture ===== | ===== 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 | .................................................................................................... + UI | ||
- | SonicStage | + | SonicStage |
.................................................................................................... | .................................................................................................... | ||
^ ^ | ^ ^ | ||
| | | | | | ||
- | | | | + | | COM |
v v | v v | ||
- | .................................................................................................... Plug-in layer | + | .................................................................................................... Plug-in layer (AVLib) |
+ CheckOut +Playback | + CheckOut +Playback | ||
+ CheckIn +Convert | + CheckIn +Convert | ||
Line 149: | Line 178: | ||
.................................................................................................... OpenMG | .................................................................................................... OpenMG | ||
^ | ^ | ||
- | | | + | | COM |
- | | + | DLL |
----------------------- | ----------------------- | ||
pfcom.dll | pfcom.dll | ||
Line 165: | Line 194: | ||
| | | | ||
v | v | ||
- | | + | |
- | rights information | + | License repository/ |
- | (opf data) | + | |
- | | + | [License information] |
+ | | ||
+ | < | ||
+ | | ||
Line 182: | Line 214: | ||
.................................................................................................... | .................................................................................................... | ||
</ | </ | ||
+ | |||
+ | |||
===== The ocm-files ===== | ===== The ocm-files ===== | ||
Line 189: | 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 199: | 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 209: | Line 255: | ||
* Netmd.ocm: [[netmdocm]] | * Netmd.ocm: [[netmdocm]] | ||
* Device.sal: [[devicesal]] | * Device.sal: [[devicesal]] | ||
+ | * Trkinf: [[trkinfocm]] | ||
+ | |||
+ | ===== Links ===== | ||
+ | * [[http:// |
windowsdlls.1241671776.txt.gz · Last modified: 2009/05/07 04:49 by nopsled