How we developed our simple Harbour decompiler
#1
Lightbulb 
Quote:Every once in a while we get a request that leaves us scratching our heads. With these types of requests, existing tools are usually not enough and we have to create our own custom tooling to solve the “problem”. One such request dropped onto our desk at the beginning of 2018, when one of our customers – a financial institution – asked us to analyze a sample. This in itself is nothing unusual – we receive requests like that all the time. But what was unusual about this particular request was that the sample was written in ‘Harbour’. For those of you who don’t know what Harbour is (just like us), you can take a look here, or carry on reading.

Harbour is a programming language originally designed by Antonio Linares that saw its first release in 1999. It’s based on the old Clipper system and is primarily used for the creation of database programs.

Understanding Harbour’s internals

Let us take a “Hello, world” example from the Harbour repository tests – hello.prg.

t prints the “Hello, world!” message to the terminal. For that, you need to build a Harbour binary to execute the code (there are also other ways to run it without building a binary, but we chose this path because the received sample was an executable).

Compiling is as simple as calling:

hbmk2.exe hello.prg
...
Continue Reading
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)
[-]
Welcome
You have to register before you can post on our site.

Username/Email:


Password:





[-]
Recent Posts
Mozilla Firefox Browser 136.0.1
Mozilla Firefox Br...harlan4096 — 10:28
Google Chrome 134.0.6998.88/.89
Google Chrome 134....harlan4096 — 10:18
Vivaldi 7.1 Build 3570.60
Vivaldi 7.1 Build ...harlan4096 — 10:16
Bitdefender 27.0.49.249
Changelog posted f...harlan4096 — 10:14
Adobe Acrobat Reader DC 25.001.20432
Adobe Acrobat Reade...harlan4096 — 10:05

[-]
Birthdays
Today's Birthdays
avatar (37)ykazawu
Upcoming Birthdays
avatar (43)gapedDow
avatar (37)snorydar
avatar (42)Hectorvot
avatar (50)knowhanPluts
avatar (38)Williamengiz
avatar (45)qaqapeti
avatar (43)battsourIonix
avatar (42)CedricSek
avatar (38)chasRex
avatar (50)tersfargum
avatar (49)alfreExept
avatar (32)uteluxix
avatar (46)piafcflene
avatar (38)Matthewkah
avatar (37)Charlesfibre
avatar (41)napasvem
avatar (43)diploJeoca
avatar (37)francisnj3
avatar (42)artmaGoork
avatar (40)RichardCisee

[-]
Online Staff
There are no staff members currently online.

>