Digital rights management Introduction about Digital rights management, Software reverse engineering, Software tamper resistance, Digital rights management, Software reverse engineering, DRM for a P2P Application, DRM in the Enterprise. | DIGITAL RIGHTS MANAGEMENT Hoang Viet Lam Tran Quoc Trieu OUTLINE Introduction Software reverse engineering Software tamper resistance Digital rights management SOFTWARE REVERSE ENGINEERING Reverse engineering is the process of analyzing a subject system to identify the system's components and their inter-relationships, and to create representations of the system in another form at higher levels of abstraction(Chikofsky and Cross1990) SRE can be used for good or not so good purposes. SOFTWARE REVERSE ENGINEERING(CONT) The essential tools for SRE include a disassembler, a debugger and a hex editor. A disassembler converts an executable into assembly code(IDA Pro, Hackman). A debugger is used to set break points, which allows Trudy to step through the code as it executes(SoftICE, OllyDbg). SOFTWARE REVERSE ENGINEERING(CONT) A hex editor is also a necessary SRE hex editor is the tool Trudy will use to directly modify, or patch, the exe file(UltraEdit, . | DIGITAL RIGHTS MANAGEMENT Hoang Viet Lam Tran Quoc Trieu OUTLINE Introduction Software reverse engineering Software tamper resistance Digital rights management SOFTWARE REVERSE ENGINEERING Reverse engineering is the process of analyzing a subject system to identify the system's components and their inter-relationships, and to create representations of the system in another form at higher levels of abstraction(Chikofsky and Cross1990) SRE can be used for good or not so good purposes. SOFTWARE REVERSE ENGINEERING(CONT) The essential tools for SRE include a disassembler, a debugger and a hex editor. A disassembler converts an executable into assembly code(IDA Pro, Hackman). A debugger is used to set break points, which allows Trudy to step through the code as it executes(SoftICE, OllyDbg). SOFTWARE REVERSE ENGINEERING(CONT) A hex editor is also a necessary SRE hex editor is the tool Trudy will use to directly modify, or patch, the exe file(UltraEdit, HIEW). Other tools that might sometimes prove useful include( Regmon-monitors all accesses of the Windows registry; Filemon-monitors all accesses of files) VMWare-which allows a user to set up virtual machines SOFTWARE REVERSE ENGINEERING(CONT) Why do we need a disassembler and a debugger? For SRE work, boundless patience and optimism are also needed since SRE is extremely tedious and labor intensive. SRE is essentially a manual process The necessary technical skills for SRE include a working knowledge of the target assembly language and experience with the necessary tools SOFTWARE REVERSE ENGINEERING(CONT) For our SRE example, we’ll consider code that requires a serial number. SOFTWARE REVERSE ENGINEERING(CONT) Trudy disassembled using IDA Pro tool SOFTWARE REVERSE ENGINEERING(CONT) SOFTWARE REVERSE ENGINEERING(CONT) SOFTWARE REVERSE ENGINEERING(CONT) The instruction test eax,eax computes a binary AND of register eax with itself. This causes the flag .