Python and Reverse Engineering, Part 4

At this point, we have clex.py, which uses sqlpreproc.py to create a proper lexer for C source code. We use PLY 's ANSI C parser (cparse.py) as the backbone of our own analysis of C.

The C Language.

Separate from the lexical structure of C (the spelling …

more ...

Python and Reverse Engineering, Part 3

The client said, "We have this program, largely in C, which we can no longer support. It doesn't really meet our business needs and it doesn't fit our technology skill set." As part of rewriting the requirements, the question of what it really did came up.

Actually, they had more …

more ...

Being an Architect

There are a number of necessary skills for being an architect. Here's a list of four that occurred to me as I tried to piece together a coherent thought from a flurry of emails.

  • Summarize.
  • State A Goal.
  • Know The Technology.
  • Manage Your Investment In Learning.

These aren't sufficient skills …

more ...


Business Analysis vs. Architecture

Much of the work called "Business Analysis" conflates business problem discovery and technical meddling. I draw a firm line between the discovery part of analysis and the non-discovery (or design) part. Discovery is all about managing ignorance; this can be ignorance of the business need or ignorance of the available …

more ...

Python and Reverse Engineering, Part 1

Python is Batteries Included ™ programming. These analysis tools are either Python Out Of the Box , or they are straight-forward downloads of other open-source components.

Here are some analytical situations where Python has saved my bacon. I'll present some code for several of these.

  1. Legacy Data Domains. There are legacy (in …
more ...