Brian Lam


Software Engineer

Reverse Engineering Chamberlains Api

Recently, I made an Alexa skill to open and check my Chamberlain garage door. I thought it’d be interesting to share how this was made. In particular, I’d like to show how I reverse engineered the Chamberlain API. Aside from this, I will provide my findings on the Chamberlain API.

Read More

Scheduling Tasks In Java

It’s been awhile. I just thought I’d do something a little different to add a little bit of variety to this blog. We’ll probably be seeing more additions in the future.

Read More

Hello World!

Welcome to my new blog! I have recently migrated from WordPress to Jekyll, and I am hosting this on GitHub pages. On this blog, I will be sharing programming related “things” that I find interesting. Sometimes I will be sharing original content that I write, and other times I will be taking a crack at crackmes.

Read More

Crackme Solution 3 Part 2 - Patching NoREpls 1.1

So from my last post, we were done reverse engineering NoREPls 1.1 and have figured out the registration key. However, this isn’t a good or complete solution, since we need to register it everytime we want to use it. And as a Software Engineer, we are always about being lazy 😛 So the best alternative here is to patch it so we never have to register again. So how do we do this? First, we must consider what a registration means. In this program, a registration means the following:

Read More

Crackme Solution 3 - NoREpls 1.1

For today’s crackme, we will be attempting yet another one by dtm of 0x00sec. We will again be helping poor edgyReggie with ensuring that his crackme is safe from reverse engineering after cracking his first program. He thinks he has the solution to stop reverse engineering and he also invalidated the old serial number. Let’s prove him wrong again 🙂 The link to this crackme — er I mean software can be found here. Jeez. I keep getting these two mixed up… 😦 As always, I will be mirroring the link in case the link dies. It can be found here.

Read More

Crackme Solution 2 - NoREpls

For today’s crackme, we will be attempting this one by dtm of 0x00sec. We will be helping poor little edgyReggie to see how well his software holds up to reverse engineering. The link to this crackme — I mean software can be found here 😉 As I’ve done in my first crackme, I have mirrored the crackme in case the link is broken for any reason. It can be found here. Now then, let’s get started. Similar to the first crackme that I solved, I will be walking you through my thought process.

Read More

Crackme Solution 1 - Enter the House

I’ve always wanted to get into reverse engineering. I think it is really interesting and it makes you think outside of the box. At the same time, as a developer, it gives you insight on how an outsider may try to break your code whether it be for malicious or non-malicious purposes. Currently, I have knowledge in Java, Python, C, some basic MIPS Assembly, and some basic x86 Assembly. However, my knowledge in C is definitely weaker than my Java and Python knowledge. In terms of reverse engineering knowledge, I do have some knowledge of reverse engineering from emulating a popular MMORPG game known as MapleStory.

Read More