Japanese Spam Analysis (or Artificially Intelligent Teaching by Statistics)


Sept 25, 2008

Japanese AI version 0.1 [sig]

Japanese spam is a good indicator of text in Japanese language. It is also very good tool for understanding common Japanese speech. Most spam is designed to trick the recipient into e-mail or visiting a site. Unlike English spam, most Japanese spam is extremely well-written, targeted at the net savvy and quite well-educated Japanese audience. Also, since spam filters in Japan can pick out words much quicker (since Japan uses Kanji), spammers are using higher quality spam generators.

Read more »

Reverse Engineering Binary Kernel Drivers

1 comment


Written Oct 8 - 26, 2008
Research Done Apr 27 - May 25, 2008

Reverse Engineering 1 version 0.1 [sig]

Linux Kernel drivers are very important this year and will continue to be in the coming years. Multiple kernel driver projects are underway and multiple methods are being used to develop them. As a software developer and hacker, I find that reverse engineering is one of the most important methods in writing kernel drivers for devices that currently lack open source drivers. Whether the method is snooping in on communication, brute forcing data, or analysis of driver state, reverse engineering tactics are employed. In this essay I will be reverse engineering a binary kernel driver, which is protected under copyright law as a fair use of copyrighted material. If you feel that I am violating your copyright during the production of this, please feel free to contact me and I will be glad to discuss this. Note however on the other hand that currently several Linux copyright holders consider binary blobs to be violations of their GPL copyright. These issues are connected and yet immaterial at this point. Let's just write the code.

Read more »

Base-N Math Without Zero

8 comments

by Joel R. Voss aka. Javantea
jvoss@altsci.com
June 2, 2008

Can I do base N math without zero? Of course. We just pretend that zero doesn't exist. Let's do base 10 without zero.

1 2 3 4 5 6 7 8 9 11
The first thing I notice is that there are only 9 in the first set and no ten. So we end up skipping 10. it becomes a base-9 setup, right? 11 is the 10th number. But 11 means 10 * 1 + 1. If it's base 9 it's 9 * 1 + 1 = 10. Does this make sense?

Thesis: It is possible to create a valid mathematical representation of numbers without the use of zero.

The roman numeral is base 10 without a zero, right?

i ii iii iv v vi vii viii ix x
xi xii xiii xiv xv xvi xvii xviii xix xx
The above does make sense. Each row has 10 and each row makes sense.

Read more »

AltSci Concepts C Shellcode Framework

by Joel R. Voss aka. Javantea
jvoss@altsci.com
Oct 8, 2008

AltSci C Shellcode 0.3 [sig]

I, Javantea at AltSci Concepts have done a reasonable amount of work in shellcode. I've written a virus, reverse engineered binaries, and exploited simple programs. All of these projects have been or will be featured in this very journal. But putting aside the interesting uses of assembly the obvious conclusion to every project I've done in assembly is: this ought to be done in C. Not unexpected that I have now written a full framework to write shellcode using the C language. It doesn't support stdlib functions, but it may soon. It generates very large shellcode and definitely doesn't do anything fancy like xor encoding or null removal, but all that is pretty immaterial. C code allows us to write complex code knowing that it will work and call functions that are large knowing what every line does.

The method I use to do this is simple. I compile the code into a binary without stdlib (-nostdlib) and using position independent code (-fPIC). Then I have an automated script that grabs .text and .rodata from the binary and outputs them to a binary file that is the shellcode.

Read more »

« previous next »