since this is a new trend or something: hyperlinks to friends
why i havnt linked here till now even tho google has is a mystery even to me,
go there.. feel the goodness of the dogcow
my friend koz, i personally think hes a fantastic photographer, whatever they say
shardys home site
cartons page
treefrog, havnt heard from him in a while, still a friend
b9punk... hot
druid of roots..
the builing printer project
what zell miller sounds like choking on a markov chain
some stuff that ive done
bs1 based accelerometer dongle quick notes on using the parallax hitachi h48c 3 axis accelerometer module using the usb based BS1 (basic stamp) microcontroller
rivest notes some notes on using the functions of a cryptoflex smartcard with opencs and openssl
blaim: "strong" crypto (2048bit diffie-hellman & 448bit blowfish..take that subspace) for gaim (c)
butterx: firewall workaround for the poor (c)
impasse: comsumer of time but also crypto related. 3kbit RSA & 448bit blowfish (c)
sendmail.pl: system independant mailer script with file attachments (perl)
soxy: multi-threaded win32 socks 4/5 proxy (not yet finished) (c)
arpthing: will tell you the hardware manufacturer of machines on your lan.. for some reason (perl)
aim spy: puts your ethernet card into promiscuous mode with Net::Pcap and logs all aim conversations to stdout and/or to a mysql database (DBD/DBI) (perl)
check_func: doesnt have a name.. a quick and dirty hack to checksum (sha1) a function while its in memory and running, i expect this to get cleaned up and used for some secure applications if i can make it work under linux (c)
safe/secure alloc: no name.. another q&d hack.. allocates memory using malloc/calloc/realloc, keeps track of it using a linked list, then deallocates it and scrubs the memory so no data remains in memory or on swap, also hase a nify function to clean up any memory you didnt free, could be useful in secure environments (c)
* EEF!, i didnt notice for ages that this tarball was of old
source, its now been updated, and while still incomplete, it does what
it says it does at least!
deconstruction of some aim/oscar packets into its TLV componants and whatever.. its a work in progress abi word format html format
remotething X10 mp3 remote control software, was written for my roommate in about an hour so that anime can be watched.. still works well (vb6)
LCDstuff some very simple win32 routines for controling a crystalfontz 634 serial display work is in progress to port to unix, also plan to release as a dll for use in vb for some of the less technical in the croud(c)
ntaim console mode aim
client, it had a bug that would disconnect you every few minutes since the
version of the firetalk library it used was outdated/incomplete and didnt support the
KEEPALIVE packet, i fixed it, and heres the source, enjoy
WhatsMyIP not a piece of software im particularly proud of, but it works none the less, whatsmyip consists of a 2 php scripts, and a win32 C program
the c program will contact the php scrip at regular intervals to tell the script what IP address it's at, the address is taken from the $REMOTE_ADDR variable so it will always give the outside
address of the host in NATted environments, the php scrip will either email you with the new information, or just make it availible on the site using the other phpscrip, users must login and all that, enjoy (c)(php)(source + binary + installer)
gwebcacheget a quick program i wrote to demonstrate grabbing the host file from a gnutella/gnucleus gwebcache, the program uses a list of webcache hosts, connects to each, sends a ping, if it gets a pong it makes
a request for the host file and displays it(c)(source + binary).
wapshell this is a SUPER simple php script i wrote after a bad experience on a road trip, it lets me issue commands to bash through a web page, that is simple enough for a WAP to HTML gateway to handle, uses a very simple login method, use it wisely, and for god sakes, rename it when its on your server (php)
slink SLINK!.. or slick.. you decide.. see below
text2table , what can i say.. it should never exist, in any event, it uses the old IBM ps/2 console
bitmapped font to output text in the form of html tables, you can get interesting effects by messinng with cell spacing
and cell paddinig (c)(source)
image2table a nifty offshoot of text2table, i wondered if i could do the same with images in tables (obligatory link to bob.tml) links against imagemagick, so it should take any file format imagemagick takes (c)(source)
hhh.c this is the code that was printed on the HHH(hacker halfway house) party invite cards during the fifth hope.. dear god i hate that name
cow.c if your wondering where the #crypto "crypto cow" came from, it used to be my email signature.. well kinda... heres som C code inspired by that signature
brainfuck.c as a request ive posted a programatic doodle for a brainfuck interpreter its
pretty small, and im sure i can make it much smaller, but as it is, 3k compiled and stripped, or ~130 assembler instructions (gcc -S)
snoop_shell_done.c microphone snooping udp audio streaming shellcode... i have no real excuse for this, it just seemed like a really funny idea.. 172 bytes of fun!(x86/linux/asm)
snoop_listener.c a very simple demo program to catch the packets from snoop_shell, you'll need to adjust bind port!(c)
V1_00_1.BAS i left this cryptic filename the way it was for nostalgias sake, this is a program i wrote my first year of
highschool when i desperate for something like a digital capture oscilloscope, its a qbasic program that reads digital data from the parallel port
and displays/stores/loads the captured data 256 bytes at a time (i.. think) its also kinda cool because it would get the port address for lpt1 directly from the bios..not bad for qb
screencap:

i have another one that i wrote when i ported it to windows so that i could store more bits, it was written in visual basic (i know.. i was just learning to code)
but i still think its kinda cool.. if i ever find the source for this, i will post it
HHH-ntop if you've ever been to the tripple-h youve seen the traffic graph hanging on the wall, well, heres the code
for it.. its really ugly.. i never expected to share it, but since i fixed some minor issues to port to 64 bit.. i figured why not..
see some of the captures below to see what it does.
bpp.txt not sure where else to put this.. so... i'll put it here
heres some screen shots of something im playing with now... its a ascii (vt) graphing library..



heres a pic, of the library in use for an in house network monitor.. brace yourself

coming soon
slink: slink will allow you to host a server behind a NAT which you dont control, by allowing you to connect to a slinkserver (same program with the -s flag) and have the server send connections your way, heres a crack addict ascii view
slink client connects to the server, and sets up a session, requesing a port number
if the port is bindable, the server sends back an OK, and goes into listen mode, this
is the control connection:
______________ _______ ______________
|slink |---------->| NAT |-------->|slink |
| Client| | | | Server|
-------------- ------- --------------
when the slink server gets an incoming connection, it sends the info back to
the client on the control connection with a special cookie identifying the connection,
the client then initiates a second outgoing connection to the slink server, with the
cookie.
at the same time the slink client will make another connection to a predefined host inside (or outside your network for that matter).
and transparently proxies the connections.
once the client has sent an OK to the server, the server also begins to proxy this secondary
connection, and viola, you have fooled the connecting client into thinking hes initiating a server connection,
and your webserver/sshd/telnetd/ascii fire piped to inetd/whatever into thinking its hosting without
actually having a redirect on your NAT server.
______________ _______ ______________
|slink |---------->| NAT |-------->|slink |<----|you connecting on port whatever|
| Client|---------->| |-------->| Server|
-------------- | | --------------
| | |
v | |
|my webserver| |_____|
i will have this program posted as soon as i fix some issues with bilding under unix, win32 has
been tested and works quite well.
rlink: rlink will just redirect an incoming connection on port X and redirect it to another machine (or same) on port y
nothing really fancy here.
and because your so special.. the slink beta
so far its been tested under win32, freebsd, openbsd.. i suspect it would build just fine
under linux.. and if openbsd likes it.. everything will..
i have also added a password feature to the program.. so you can lock it, passwords are sent in the clear much like
telnet.. you have been warned
oh yeah.. this also includes rlink, its just an "r" flag
the win32 build is /not/ a cygwin binary.. its only dependancy is pthreads.. and the dll
and lib files for that are included in the package
to build under unix: run "build.sh"
to build under windows: either load the codewarrior project or the visual studio project and build
to build under something else: it should work.. good luck.. remember to allign on the 1 byte boundary
some stuff that im doing
bigdigits: optimizations made to the bigdigits library
msnd: scalable msn messenger server clone, with expanded api to include crypo
nodenet: self organizing p2p network with quorum based rule enforcement
extending clarus' life 256 bytes at a time .c
Shhhhh!
email address list of various senators and congressmen. WRITE THEM! tell them your opinions, vote!.. ok im done
sometimes.. even spammers get too much spam
how that anoying bundled software spyware shit gets started
interesting stuff.. for me.. to... poop on.
rfc1750 - Randomness Recommendations for Security
arbirary precision computation
elliptic curve cryptography
MD5 message digest algorithm source
Critique of PGP Key Generation
export your crypto through canada *cough*
this servers old index.html for /phar/
mel.txt i took this from izaac's website at setec.org.. no idea where it came from, great short story about a programmer i hope actually existed
and.. oh yeah..
please hire me.. im hungry
at one point in my life.. an interview consisted of my resume, my curriculum vitae along
with a brief talk about what i do, and what i'm working on.. now.. well.. just a hint
"you will need a touch-tone phone to complete this interview"
E245 5328 AF7E 7D6F 4377 E1F3 92AD 538E
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v1.4.1 (GNU/Linux)
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
=Lsqr
-----END PGP PUBLIC KEY BLOCK-----
they used to say "those that can, do. those that can't, teach", i revise this (at least for me) to "those who teach,
learn"