
Congratulations! You’ve inherited a web app. No documentation, no source code — just a production environment hosted on AWS. If this sounds like the beginning of a tech thriller, you’re not wrong. Let’s dive in and reverse engineer this beast with a mix of humor, curiosity, and some seriously handy tools.
Step 1: Survey the Land (a.k.a. Panic, Then Explore)
Take a deep breath and start mapping out what you do have. Log into AWS and begin piecing together the puzzle:
- EC2 Instances — Check what’s running and grab the instance metadata. Is it running Linux? Windows? What’s installed?
- RDS — What kind of database are we dealing with? MySQL? PostgreSQL? Go snooping with a read-only connection.
- ElastiCache — Redis and Memcached? Look at configurations and key patterns.
- ELB — Is there one? Check its routing rules. If not, brace yourself for a single point of failure.
Step 2: If There’s No Source Code, Improvise
When you lack source code, the live environment is your Rosetta Stone. Here’s how to decode:
- File System Archaeology: SSH into the EC2 instances and poke around. Look for app directories, configs, and logs. These are treasure troves of clues.
- Database Schemas: Inspect the RDS schema. Table names often tell stories (like
users
,orders
, or ominously namedtemp_data
). - Traffic Analysis: Enable ELB access logs and study the traffic patterns. Where are requests going? What parameters are being passed?
- Runtime Inspection: Use tools like
lsof
,netstat
, andhtop
to see active processes, network connections, and resource usage.

Step 3: Bring Out the Big Guns (Tools You’ll Need)
- AWS CLI and Console: Your best friends for inventory and configuration details.
- Burp Suite: A powerful proxy for poking at live web traffic.
- Wireshark: For deeper network dives.
- Postman: Testing APIs like a pro.
- Dockerize: If you spot Docker containers, try replicating them locally.
- Static Analysis Tools: If you find any trace of source code, use tools like SonarQube to audit it.
Step 4: Call in the AI Cavalry
ChatGPT can assist in ways you might not expect:
- Log Analysis: Paste in logs, and it can help decipher patterns and errors.
- Code Reconstruction: Feed snippets of decompiled code to get explanations.
- API Testing: Ask it for API request templates based on observed traffic.
- Documentation: Generate config documentation or even hypothesized workflows.
Step 5: Ten Questions to Ask Yourself (or the App)
- What languages or frameworks are being used? Look for
.php
,.py
,.js
, or compiled binaries. - What’s in
/etc
,/var/log
, and/home
? These directories are gold. - Who’s using the app, and what’s their traffic pattern?
- What’s in the RDS? Any sensitive data to protect?
- Are there any hardcoded secrets or API keys?
- What’s the backup story? Snapshots? Manual dumps?
- Are there third-party integrations? APIs, plugins, or SDKs?
- Is the system patched and secure?
- Can you find monitoring tools? CloudWatch metrics? Custom dashboards?
- How do you safely test changes? Build a staging environment if one doesn’t exist.

Step 6: Other Tips for the Brave
- Tag Everything: Add AWS tags to resources as you understand them. Future-you will thank you.
- Snapshot Everything: Before you tinker, back up the instances and RDS.
- Build a Dependency Map: Diagram your findings. Tools like Lucidchart can help.
- Document as You Go: Even if it’s just bullet points in a Markdown file.
A Simplified AI Art Prompt
“An impressionist painting of a single, glowing AWS EC2 instance under a starry night sky, surrounded by abstract representations of databases and caches, symbolizing a lone beacon of legacy technology.”

Follow me for more tales of tech sleuthing! Got questions or horror stories of your own? Drop a comment below and let’s talk!