
www.program-transformation.org
Get flash to fully experience Pearltrees
Praise for Exploiting Software “ Exploiting Software highlights the most critical part of the software quality problem. As it turns out, software quality problems are a major contributing factor to computer security problems. Increasingly, companies large and small depend on software to run their businesses every day. The current approach to software quality and security taken by software companies, system integrators, and internal development organizations is like driving a car on a rainy day with worn-out tires and no air bags.
Exploiting Software: How to Break Code (0785342786958): Greg Hoglund, Gary McGraw: Books
Our look is the result of reader comments, our own experimentation, and feedback from distribution channels. Distinctive covers complement our distinctive approach to technical topics, breathing personality and life into potentially dry subjects. The image on the cover of Security Warrior is a group of Sumo wrestlers. Sumo is the traditional national sport of Japan. An origin myth about Japan tells how the god Take-Mikazuchi won dominion over the Japanese islands in a Sumo match.
Security Warrior - O'Reilly Media
Reversing: Secrets of Reverse Engineering
Beginning with a basic primer on reverse engineering-including computer internals, operating systems, and assembly language-and then discussing the various applications of reverse engineering, this book provides readers with practical, in-depth techniques for software reverse engineering. The book is broken into two parts, the first deals with security-related reverse engineering and the second explores the more practical aspects of reverse engineering. In addition, the author explains how to reverse engineer a third-party software library to improve interfacing and how to reverse engineer a competitor's software to build a better product. * The first popular book to show how software reverse engineering can help defend against security threats, speed up development, and unlock the secrets of competitive productsDesquirr :: Desquirr (2002)
Program Transformation Wiki / Decompilation Possible
Revenge: Research into Reverse engineering and decompiling.
CGEN (pronounced seejen ) is a framework for developing generators of CPU-related tools such as assemblers, disassemblers and simulators. It specifies a description language for describing the architecture and organization of a CPU without reference to any particular application. Additional applications can be written within the framework.
CGEN
The New Jersey Machine-Code (NJMC) Toolkit helps programmers write applications that process machine code -- assemblers, disassemblers, code generators, tracers, profilers, and debuggers. The NJMC Toolkit implements the SLED (Specification Language for Encoding and Decoding) language. SLED specifications for the MIPS, SPARC, Pentium, Alpha and PowerPC have been written.
Program Transformation Wiki / Njmc Tk
Program Transformation Wiki / Decompilation Resources
Sim-nML might be considered a competitor to the NJMC toolkit. Using specifications, you can generate disassemblers, code generators, simulators, etc. Fenris is a multipurpose tracer, GUI debugger, stateful analyzer and partial decompiler intended to simplify bug tracking, security audits, code, algorithm, protocol analysis and computer forensics.Even if you know the compiler's manufacturer and version number and compile-time options, what third party libraries were linked-in, and what was their version? Even if you know all that stuff, most executables have had their debugging information stripped out, so the resulting decompiled code will be totally unreadable. Even if you know everything about the compiler, manufacturer, version number, compile-time options, third party libraries, and debugging information, the cost of writing a decompiler that works with even one particular compiler and has even a modest success rate at generating code would be significant — on the par with writing the compiler itself from scratch.
[38] Compiler dependencies Updated! , C++ FAQ
Program Transformation Wiki / Bob Stout Refutation
Program-Transformation.Org: The Program Transformation Wiki This page is my refutation of a Frequently Asked Question answer on decompilation. The original page is difficult to find now in its complete form, so I have archived it here . As with the other refutation page , I sincerely mean no disrespect to Bob Stout, Jeremy Coffin, or other commentators. This sort of attitude to decompilation is unfortunately common. Ultimately, the naysayers may be correct in a very broad sense, i.e. it may be that machine code decompilers will never be easy enough to use to become mainstream.Program-Transformation.Org: The Program Transformation Wiki There may be a few machine code patterns that are impossible to decompile automatically. These would therefore require expert human intervention to decompile successfully. There are features such as the original comments, variable names and function names that can never be recovered, although very powerful analyses may be able to suggest good (perhaps even better than the original, in some cases) alternatives. These unrecoverable features are not the aim of this page, since correct decompilations can be generated (even if usually less readable that the original) without recovering the original comments or names. Reference combined with casts

