General Development Archive

Writing Arbitrary Executable Code for x86 Linux Systems

The ability to run arbitrary code is very useful, especially for exploits like buffer overflows. The way to run such arbitrary code is by using what is called shellcode. Shellcode is machine language written in Hexadecimal format and is usually derived from disassembled flat binaries. Since shellcode is machine code, it is not portable and varies between Operating Systems and CPU architectures.

Secure programming with the OpenSSL API

Learning how to use the API for OpenSSL -- the best-known open library for secure communication -- can be intimidating, because the documentation is incomplete. Fill in the gaps, and tame the API, with the tips in this article. After setting up a basic connection, see how to use OpenSSL's BIO library to set up both a secured and unsecured connection. And learn a bit about error detection as well.

Programming Tools for the Hobbyist

Most of us that work in the IT industry have been around for a long time. We started out in our parents basement writing code in some BASIC environment, ussually Commodore BASIC or QBASIC. Do you remember how thrilling it was? Your first program and it was something extremely basic but the point was it worked. Some of us got hooked right away and kept trying to solve problems and added more and more pushing the capabilities of whatever language we used. As we got older the environments progressed and the programming tools progressed and got more complicated.

Komodo 3.0 Released

For many developers, there's usually more than one dynamic language that they use to do their jobs. It's also ActiveState's job with its latest IDE release for professional developers using open source dynamic languages, Komodo 3.0. Dynamic languages such as Perl, PHP, Python, Tcl and XLST are all part of the Komodo IDE, which strives to make developers lives easier by offering a common interface and toolset to develop in multiple languages.

Interview with Charles Simonyi on Intentional Programming

"Last week we spent some time with Sergey Dmitriev who talked about his Meta Programming System, which he says fits Charles Simonyi's model of Intentional Programming. This generated a lot of interest, so I contacted Charles himself to see if we could talk with him about it and he graciously accepted to talk about his work at Intentional Software. He was also very speedy in his response to my questions, which allowed me to publish his interview this following week." Read the interview here.