<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE rss [<!ENTITY % HTMLlat1 PUBLIC "-//W3C//ENTITIES Latin 1 for XHTML//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml-lat1.ent">]>
<rss version="2.0" xml:base="http://sysd.org/stas">
<channel>
 <title>stas&#039;den - C</title>
 <link>http://sysd.org/stas/taxonomy/term/19/0</link>
 <description></description>
 <language>en</language>
<item>
 <title>Geolizer HTTP stats</title>
 <link>http://sysd.org/stas/node/10</link>
 <description>&lt;p align=&quot;center&quot;&gt;&lt;img
 alt=&quot;Sample Geolizer output (fragment)&quot;
 src=&quot;http://sysd.org/stas/files/active/0/geolizer.png&quot; height=&quot;480&quot;
 width=&quot;640&quot; style=&quot;border: 1px solid #000000;&quot;&gt;
&lt;/p&gt;
&lt;h3&gt;About Geolizer&lt;/h3&gt;
&lt;p&gt;This is an enhanced version of the popular &lt;a
 href=&quot;http://www.mrunix.net/webalizer/&quot; target=&quot;_blank&quot;&gt;Webalizer&lt;/a&gt;
HTTP server statistics generator. It&#039;s main feature is an ability to
discover visitor&#039;s country by his/her IP address. Default Webalizer
method is to extract host suffix from the reversal DNS query (obtained
directly from log files, or by &lt;code&gt;webazolver&lt;/code&gt;
program if HTTP
server doesn&#039;t reverses client IPs), which is slow and imprecise (for
example, Brazilian host could be reversed as &lt;code&gt;.com&lt;/code&gt;).
Geolizer relies on the &lt;a
 href=&quot;http://www.maxmind.com/app/ip_locate&quot; target=&quot;_blank&quot;&gt;GeoIP&lt;/a&gt;
library API to do the same thing. Thus, no more DNS queries are
required, and
results are much more precise. Geolizer also has some additional
features: it displays file sizes in a human-readable form
(&lt;i&gt;bytes/KB/MB/GB/TB&lt;/i&gt;) instead of default kilobytes. It
also compiles
under &lt;a href=&quot;http://www.mingw.org/msys.shtml&quot;
 target=&quot;_blank&quot;&gt;MinGW/MSYS&lt;/a&gt; now, so you can process
your UN*X log files on your Windows box&lt;code&gt;. &lt;/code&gt;And,
finally, Geolizer features a nice eye-candy: country flags! &lt;code&gt;&lt;img src=&quot;misc/smileys/smile.png&quot; title=&quot;Smiling&quot; alt=&quot;Smiling&quot; /&gt;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Beware as Geolizer also has some bad features (read &quot;bugs&quot;):
for example, &lt;code&gt;webazolver&lt;/code&gt;
won&#039;t work anymore, and already resolved hosts aren&#039;t handled well.
Want to see how it looks like, at all? Take a look at some &lt;a
 href=&quot;http://sysd.org/hybrid/stats/&quot; target=&quot;_blank&quot;&gt;sample
statistics&lt;/a&gt;! Or see &lt;a
 href=&quot;http://www.google.com/search?q=link:sysd.org/stas/node/10&quot;
 target=&quot;_blank&quot;&gt;who else&lt;/a&gt; uses Geolizer to produce
their server stats.
&lt;/p&gt;
&lt;h3&gt;
&lt;b&gt;Tips&lt;/b&gt;&lt;/h3&gt;
&lt;ul&gt;
  &lt;li&gt;The country flag pictures can be downloaded at &lt;a
 target=&quot;_blank&quot; href=&quot;http://flags.blogpotato.de/&quot;&gt;http://flags.blogpotato.de/&lt;/a&gt;.
Just download and unzip &lt;code&gt;world.small.zip&lt;/code&gt;
&amp;amp; &lt;code&gt;special.small.zip&lt;/code&gt; to the &lt;code&gt;flags/&lt;/code&gt;
subdirectory in your HTML output path.&lt;/li&gt;
  &lt;li&gt;You may enhance your Webalizer further (allowing it to
identify more user agents, referrers and search engines than normal)
using extended configuration files, provided by Enric Naval and
available at &lt;a target=&quot;_blank&quot;
 href=&quot;http://griho.udl.es/webalizer/&quot;&gt;http://griho.udl.es/webalizer/&lt;/a&gt;.&lt;/li&gt;
  &lt;li&gt;It is possible to use multiple configuration files on
Webalizer. Just specify them at the command line:&lt;br&gt;
    &lt;pre&gt;webalizer -c common.conf -c user_stas.conf&lt;br&gt;&lt;/pre&gt;
  &lt;/li&gt;
  &lt;li&gt;
Why don&#039;t you try also &lt;a href=&quot;http://awstats.sourceforge.net/&quot;
 target=&quot;_blank&quot;&gt;AWStats&lt;/a&gt;
&amp;amp; &lt;a href=&quot;http://www.projet-webdruid.org/&quot;
 target=&quot;_blank&quot;&gt;WebDruid&lt;/a&gt;?!
  &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
&lt;hr&gt;
It is easy to located an &lt;a href=&quot;http://www.connectedinternet.net&quot; target=&quot;_blank&quot;&gt;internet service&lt;/a&gt; which provides low prices for &lt;a href=&quot;http://www.callage.net&quot; target=&quot;_blank&quot;&gt;voip&lt;/a&gt;. Simply by downloading the &lt;a href=&quot;http://www.softwareconnects.com&quot; target=&quot;_blank&quot;&gt;software&lt;/a&gt; the service of the &lt;a href=&quot;http://www.hostseeq.com/c/internet_phones.htm&quot; target=&quot;_blank&quot;&gt;voip&lt;/a&gt; can be utilized, though for this a fast &lt;a href=&quot;http://www.wirelessnetproviders.com&quot; target=&quot;_blank&quot;&gt;wireless internet&lt;/a&gt; is also required. This is especially benefical for small &lt;a href=&quot;http://www.complete-website-hosting.com&quot; target=&quot;_blank&quot;&gt;website hosting&lt;/a&gt; companies to contact their clients at a low cost.
&lt;/p&gt;</description>
 <category domain="http://sysd.org/stas/taxonomy/term/9">addon</category>
 <category domain="http://sysd.org/stas/taxonomy/term/19">C</category>
 <category domain="http://sysd.org/stas/taxonomy/term/23">database</category>
 <category domain="http://sysd.org/stas/taxonomy/term/17">GeoIP</category>
 <category domain="http://sysd.org/stas/taxonomy/term/7">network</category>
 <category domain="http://sysd.org/stas/taxonomy/term/10">opensource</category>
 <category domain="http://sysd.org/stas/taxonomy/term/4">software</category>
 <category domain="http://sysd.org/stas/taxonomy/term/8">web</category>
 <pubDate>Tue, 16 Jan 2007 15:00:00 -0200</pubDate>
</item>
<item>
 <title>tiny HTTP proxy</title>
 <link>http://sysd.org/stas/node/100</link>
 <description>&lt;br&gt;

&lt;div align=&quot;center&quot;&gt;
&lt;img alt=&quot;Main screen&quot; width=398 height=395 border=0 src=&quot;http://sysd.org/stas/files/active/0/main1.png&quot; /&gt;&lt;/div&gt;

&lt;br&gt;

&lt;p&gt;This is a tiny and highly experimental HTTP/1.0 proxy software that I have
written to debug HTTP protocol &amp;amp; it&#039;s clients. It is very small and
simple, yet useful to reverse-engineering purposes. It&#039;s interface is quite
obvious. The &lt;em&gt;Server&lt;/em&gt; frame controls the IP, port and connection limit
of the proxy server. It also shows how many connections are active at moment.
The &lt;em&gt;Data Traffic&lt;/em&gt; frame shows in/out packets &amp;amp; bytes.
&lt;em&gt;Service&lt;/em&gt; frame allows you to stop, start and quit the proxy. These
are the very minimalist controls for the very minimalist proxy server.&lt;/p&gt;

&lt;p&gt;The interesting stuff begins at the &lt;em&gt;Plugin&lt;/em&gt; frame. All the packet
passed through this proxy server are forwarded to the selectable plugin
module. By default, it is &lt;code&gt;logger.dll&lt;/code&gt;. It simply saves every
single packet into separate file, which uses the following name scheme:
&lt;code&gt;from_IP.from_port-to_IP.to_port.log&lt;/code&gt; (for example,
&lt;code&gt;127.0.0.1.4322-127.0.0.1.21.log&lt;/code&gt;). The files can be ordered by
their modification date in your file explorer, so you can track the entire
session:&lt;/p&gt;

&lt;div align=&quot;center&quot;&gt;
&lt;img alt=&quot;Packets list&quot; width=435 height=345 border=0 src=&quot;http://sysd.org/stas/files/active/0/packets.png&quot; /&gt;&lt;/div&gt;

&lt;p&gt;The &lt;code&gt;logger.dll&lt;/code&gt; can be set up to include a sequence counter at
the beginning of each packet and to output saved packets into some specific
directory:&lt;/p&gt;

&lt;div align=&quot;center&quot;&gt;
&lt;img alt=&quot;logger.dll setup&quot; width=566 height=71 border=0 src=&quot;http://sysd.org/stas/files/active/0/logger.png&quot; /&gt;&lt;/div&gt;

&lt;p&gt;Plugin module is also capable of injecting packets. Load the
&lt;code&gt;replicator.dll&lt;/code&gt; file and check the setup screen:&lt;/p&gt;

&lt;div align=&quot;center&quot;&gt;
&lt;img alt=&quot;replicator.dll setup&quot; width=631 height=246 border=0 src=&quot;http://sysd.org/stas/files/active/0/replicator.png&quot; /&gt;&lt;/div&gt;

&lt;p&gt;When you click the &lt;em&gt;Capture&lt;/em&gt; button and then make some action in
your proxied web client, the replicator plugin will prompt you if it got a
corresponding packet. This packet may be resent automatically, at the period
specified in the &lt;em&gt;Period&lt;/em&gt; box. You can capture &amp;amp; replicate several
packets, and manipulate their resend period. A very interesting application
of the replicator plugin is to flood &lt;strong&gt;web chats&lt;/strong&gt; and to spin
up &lt;strong&gt;web counters&lt;/strong&gt;. Of course, the right way is to use
&lt;code&gt;logger.dll&lt;/code&gt; and to make a clone that imitates the &quot;real&quot; web
client.&lt;/p&gt;

&lt;p&gt;The final note: this is, and always will be, an &lt;em&gt;alpha-state code&lt;/em&gt;.
I do not develop this proxy application anymore. It is useful to me the way
it is. But you can grab the source and make a whatever plugin you like, or
even rewrite the code entirely. I don&#039;t care. Just give me the proper
credits!&lt;/p&gt;
</description>
 <category domain="http://sysd.org/stas/taxonomy/term/19">C</category>
 <category domain="http://sysd.org/stas/taxonomy/term/13">GUI</category>
 <category domain="http://sysd.org/stas/taxonomy/term/18">hack</category>
 <category domain="http://sysd.org/stas/taxonomy/term/7">network</category>
 <category domain="http://sysd.org/stas/taxonomy/term/10">opensource</category>
 <category domain="http://sysd.org/stas/taxonomy/term/4">software</category>
 <category domain="http://sysd.org/stas/taxonomy/term/8">web</category>
 <category domain="http://sysd.org/stas/taxonomy/term/12">windows</category>
 <pubDate>Wed, 03 Jan 2007 22:50:00 -0200</pubDate>
</item>
<item>
 <title>Duke3D D.M. cheater</title>
 <link>http://sysd.org/stas/node/43</link>
 <description>&lt;br&gt;
&lt;div align=&quot;center&quot;&gt;
&lt;img alt=&quot;E1L2 near the dark room elevator: enhanced brightness&quot; src=&quot;http://sysd.org/stas/files/active/0/duke3d.png&quot; height=&quot;240&quot; width=&quot;320&quot;&gt;&lt;br&gt;
&lt;small&gt;E1L2 near the dark room elevator: enhanced brightness&lt;/small&gt;
&lt;/div&gt;
&lt;br&gt;
Do you consider yourself a good Duke3D deathmatch player?! Neither I do &lt;img src=&quot;misc/smileys/wink.png&quot; title=&quot;Eye-wink&quot; alt=&quot;Eye-wink&quot; /&gt;&lt;br&gt;

For our luck, &lt;a href=&quot;http://www.3drealms.com/&quot;&gt;3D Realms&lt;/a&gt; released Duke3D source code under GPL license at April 1&lt;sup&gt;st&lt;/sup&gt;,
2003. No, I&#039;m not fooling you! Since then, several people are enhancing this
classic game, extending it&#039;s portability and adding some cool features
to it. There are ports like &lt;a href=&quot;http://icculus.org/duke3d/&quot;&gt;icculus Duke3D port&lt;/a&gt; and &lt;a href=&quot;http://jonof.edgenetwork.org/index.php?p=jfduke3d&quot;&gt;JonoF&#039;s Duke Nukem 3D Port&lt;/a&gt;.
So, with the source in my hands, I decided to make my own version. I called it &lt;big&gt;Duke Nukem 3D v1.666&lt;/big&gt;. It
is 100% compatible with the original MS-DOS Duke3D v1.5, and adds some &lt;b&gt;cheats&lt;/b&gt; into &lt;b&gt;deathmatch&lt;/b&gt; games:&lt;br&gt;

&lt;ul&gt;

  &lt;li&gt;&lt;b&gt;Omniscience.&lt;/b&gt; You can peek at your opponents screen (using
&quot;Coop View&quot;, which now works even in the deathmatch mode!), and hear the
sounds they make (you may hear them scream when hit at the long distances).
You are able to see in darkness all the time, without using the
night vision goggles, and without that ugly green screen tinting. You&#039;ll know
when your opponent drops a holoduke, so you won&#039;t waste your ammo with
it. And finally, you won&#039;t see that confusing steroids trail anymore!&lt;br&gt;
  &lt;/li&gt;
  &lt;li&gt;&lt;b&gt;Aim bot features.&lt;/b&gt; Aim bot (which can be turned off!) will
track the closest visible opponent automatically. If you&#039;re close
enough to your opponent, aim bot will also try to kick him while
shooting. And it will auto-activate med kit when you get shot! Another
cool feature associated to the aim bot is the auto-jetpack. Jump from a
high place, and jetpack will be activated automatically when you&#039;re
close to the ground.&lt;/li&gt;
  &lt;li&gt;&lt;b&gt;Practical enhancements.&lt;/b&gt; When you find a new weapon, game
won&#039;t switch to it automatically. You will always see which weapon your
opponent is using, without activating the &quot;Weapon Mode&quot;. Demo viewer
doesn&#039;t switches camera automatically anymore. And game doesn&#039;t prompts
you with credit screens/animations when started or finished.&lt;/li&gt;
  &lt;li&gt;&lt;code&gt;DNCROZ&lt;/code&gt;&lt;b&gt; during multiplayer?!&lt;/b&gt; Even this is
possible in the cheater! The only problem is: both players should type
it when the game is paused, or the &quot;Out Of Sync&quot; condition occurs.
Other cheats that work in the multiplayer game are: &lt;code&gt;DNSCOTTY###; DNCOORDS, DNVIEW; DNRATE; DNBETA; DNTODD; DNSHOWMAP; DNALLEN; DNDEBUG&lt;/code&gt;.&lt;/li&gt;
  &lt;li&gt;&lt;b&gt;&quot;.ANM viewer&quot;&lt;/b&gt;. Just type &lt;code&gt;DNENDING&lt;/code&gt; while playing, and the game skips right to the episode ending video &lt;img src=&quot;misc/smileys/smile.png&quot; title=&quot;Smiling&quot; alt=&quot;Smiling&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;

Please note that the most useful cheat, the aim bot, only works fine
with the game&#039;s internal AI opponents (A.K.A. &quot;PP bot&quot;, started with &lt;code&gt;&quot;duke3d.exe /q2 /a&quot;&lt;/code&gt;
command). It may work in the acceptable way on crossover 100 Mbps LAN
connection (peer-to-peer), although... And the worst thing ever: Duke3D
v1.666 will only work on real DOS mode, so forget it if you only have
Windows NT/2k/XP (anyway, those who play Duke3D over network frequently
do have Windows 9x installed for this specific purpose &lt;img src=&quot;misc/smileys/smile.png&quot; title=&quot;Smiling&quot; alt=&quot;Smiling&quot; /&gt;)&lt;br&gt;

Still interested?! It&#039;s a bit difficult to install, though... First,
you need to have the original Duke Nukem 3D v1.5 installed. Second,
backup it!!! After that:&lt;br&gt;

&lt;ol&gt;

  &lt;li&gt;Unpack the &lt;code&gt;DN3D1666.ZIP&lt;/code&gt; into your Duke3D installation directory, overwriting files.&lt;/li&gt;
  &lt;li&gt;Configure Duke3D. Run &lt;code&gt;SETUP.EXE&lt;/code&gt;, and go to &lt;i&gt;&quot;Controller Setup&quot;&lt;/i&gt;, then &lt;i&gt;&quot;Choose Controller Type&quot;&lt;/i&gt;, and then select &lt;i&gt;&quot;Keyboard and External&quot;&lt;/i&gt;. After this, select &lt;i&gt;&quot;Setup External&quot;&lt;/i&gt;, &lt;i&gt;&quot;Change External Program Name&quot;&lt;/i&gt;, and type &lt;code&gt;&quot;DUKE3D.EXE&quot;&lt;/code&gt; there. Now you can save config, but DON&#039;T LAUNCH A GAME YET!!!&lt;br&gt;
(NOTE: it would be great if you disabled &lt;i&gt;Turn_Left&lt;/i&gt; and &lt;i&gt;Turn_Right&lt;/i&gt; keyboard bindings, although, if you don&#039;t plan to use &lt;i&gt;&quot;AutoAimSelfCalibrate&quot;&lt;/i&gt; setting in &lt;code&gt;DUKE3D.666&lt;/code&gt; file or won&#039;t use Auto-Aim feature at all, you don&#039;t need to do this).&lt;/li&gt;
  &lt;li&gt;Now, edit the file &lt;code&gt;DUKE3D.666&lt;/code&gt;. Open it in your
favorite editor (&lt;code&gt;EDIT.COM&lt;/code&gt; &lt;img src=&quot;misc/smileys/wink.png&quot; title=&quot;Eye-wink&quot; alt=&quot;Eye-wink&quot; /&gt;), and you&#039;ll see that it&#039;s almost self-explanatory. Note that
your mouse is now configured by this file, any &lt;code&gt;SETUP&lt;/code&gt;
settings will be ignored! Also note that default mouse settings for
v1.666 imitates the default settings for the original Duke3D v1.5.&lt;br&gt;
  &lt;/li&gt;
&lt;/ol&gt;

I also recommend you to read the &lt;code&gt;&quot;DN3D1666.ME!&quot;&lt;/code&gt; file, supplied in the download package.&lt;br&gt;

&lt;hr size=&quot;2&quot; width=&quot;100%&quot;&gt;Relative project: &lt;a href=&quot;http://sysd.org/stas/node/40&quot;&gt;GRP packer plugin&lt;/a&gt; for the &lt;a href=&quot;http://www.ghisler.com/&quot;&gt;Total Commander&lt;/a&gt;.&lt;br&gt;

&lt;hr size=&quot;2&quot; width=&quot;100%&quot;&gt;Sorry, no source code is available for direct download. However, if you&#039;re interested in it, &lt;a href=&quot;http://sysd.org/stas/feedback&quot;&gt; contact me&lt;/a&gt; and I&#039;ll provide it to you! Thus, GPL license of the original Duke3D source wouldn&#039;t be harmed, I beleive...&lt;br&gt;
</description>
 <category domain="http://sysd.org/stas/taxonomy/term/9">addon</category>
 <category domain="http://sysd.org/stas/taxonomy/term/19">C</category>
 <category domain="http://sysd.org/stas/taxonomy/term/27">cheat</category>
 <category domain="http://sysd.org/stas/taxonomy/term/29">game</category>
 <category domain="http://sysd.org/stas/taxonomy/term/6">graphics</category>
 <category domain="http://sysd.org/stas/taxonomy/term/18">hack</category>
 <category domain="http://sysd.org/stas/taxonomy/term/7">network</category>
 <category domain="http://sysd.org/stas/taxonomy/term/4">software</category>
 <pubDate>Tue, 09 May 2006 16:47:51 -0300</pubDate>
</item>
<item>
 <title>MD5/SHA1 checksum</title>
 <link>http://sysd.org/stas/node/42</link>
 <description>An enhanced file checksum plugin for the &lt;a href=&quot;http://www.ghisler.com/&quot;&gt;Total Commander&lt;/a&gt;
(TC for short). It supports both MD5 &amp;amp; SHA1 algorithms, and is able
to checksum the entire directory trees. Note that it&#039;s MD5 checksum
function is much faster than TC&#039;s internal one (70% faster on my Athlon
XP 1700+ with Seagate IDE 160 GB 7200 rpm HD!). Both MD5 &amp;amp; SHA1
algorithms were ripped from &lt;a href=&quot;http://www.chiark.greenend.org.uk/%7Esgtatham/putty/&quot;&gt;PuTTY&lt;/a&gt; by
Simon Tatham, who implemented them directly from the specification.&lt;br&gt;

Basically, the file checksum plugin integrates the functionality of &lt;a href=&quot;http://www.gnu.org/&quot;&gt;GNU&lt;/a&gt;
utilities &lt;code&gt;md5sum&lt;/code&gt; and &lt;code&gt;sha1sum&lt;/code&gt;
into the Total Commander GUI. This is done through the packer extension
API: you simply select files/directories you want to checksum, and
&quot;Pack&quot; (Alt+F5) them into a &lt;code&gt;.md5&lt;/code&gt; or &lt;code&gt;.sha&lt;/code&gt; &quot;archive&quot;. It will be a plain text file which looks like this (just the same format as that of above GNU utilities):&lt;br&gt;

&lt;pre&gt;3fb2924c8fb8098dbc8260f69824e9c437d28c68  FC4-i386-disc1.iso&lt;br&gt;31fdc2d7a1f1709aa02c9ea5854015645bd69504  FC4-i386-disc2.iso&lt;br&gt;032455cdf457179916be3a739ca16add75b768b7  FC4-i386-disc3.iso&lt;br&gt;f560f26a32820143e8286afb188f7c36d905a735  FC4-i386-disc4.iso&lt;br&gt;736e1555e88740d6131c5c84fbe69ed1073ba82d  FC4-i386-rescuecd.iso&lt;br&gt;&lt;/pre&gt;

Note that as TC runs on Windows, checksum plugin will use DOS line endings (CRLF). To
&quot;export&quot; the generated checksum list to a UN*X system, you can use my &lt;a href=&quot;http://sysd.org/stas/node/34&quot;&gt;ToFroWin&lt;/a&gt; utility, which also integrates itself into TC &lt;img src=&quot;misc/smileys/smile.png&quot; title=&quot;Smiling&quot; alt=&quot;Smiling&quot; /&gt;&lt;br&gt;

Then, to verify files consistence from TC, select &lt;code&gt;.md5&lt;/code&gt; or &lt;code&gt;.sha&lt;/code&gt;
file and &quot;Test archive&quot; (Shift+Alt+F9). Files generated by *BSD &lt;code&gt;md5&lt;/code&gt; utility are also supported. You can also browse checksum
files as they were directories; this is specially useful to locate
and check for consistence a single file from the huge directory tree.
To do that, just &quot;View&quot; (F3) a file, and TC Lister will pop you a
window with content like this:&lt;br&gt;

&lt;pre&gt;D:\_INSTALL_\stentz-binary-i386\FC4-i386-rescuecd.iso&lt;br&gt;&lt;br&gt;expected:	736e1555e88740d6131c5c84fbe69ed1073ba82d&lt;br&gt;computed:	736e1555e88740d6131c5c84fbe69ed1073ba82d&lt;br&gt;&lt;br&gt;SHA1 checksum OK!&lt;br&gt;&lt;/pre&gt;

Check this &lt;a href=&quot;http://sysd.org/stas/files/active/0/md5_totcmd.png&quot;&gt;screenshot&lt;/a&gt; to see the checksum plugin in operation!&lt;br&gt;

&lt;br&gt;

&lt;h3&gt;Installation:&lt;/h3&gt;

&lt;ol&gt;

  &lt;li&gt;Unzip the &lt;code&gt;&quot;checksum.wcx&quot;&lt;/code&gt; to the Total Commander or Windows Commander plugins directory&lt;/li&gt;
  &lt;li&gt;In Windows Commander 4.0 (or newer) or Total Commander, choose &#039;Configuration =&amp;gt; Options&#039;&lt;/li&gt;
  &lt;li&gt;Open the &#039;Packer&#039; page&lt;/li&gt;
  &lt;li&gt;Click &#039;Configure packer extension WCXs&#039;&lt;/li&gt;
  &lt;li&gt;Type &lt;code&gt;md5&lt;/code&gt; as the extension&lt;/li&gt;
  &lt;li&gt;Click &#039;New type&#039;, and select the &lt;code&gt;&quot;checksum.wcx&quot;&lt;/code&gt; file&lt;/li&gt;
  &lt;li&gt;Click OK and then &#039;Configure packer extension WCXs&#039;&lt;/li&gt;
  &lt;li&gt;Now type &lt;code&gt;sha&lt;/code&gt; as the extension&lt;/li&gt;
  &lt;li&gt;Click &#039;New type&#039;, and select the &lt;code&gt;&quot;checksum.wcx&quot;&lt;/code&gt; file again&lt;/li&gt;
  &lt;li&gt;Click OK&lt;br&gt;
  &lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;Usage:&lt;/h3&gt;

&lt;i&gt;(This section uses MD5 checksums as example; for SHA1 the procedure is the&lt;br&gt;
same, just replace every &quot;md5&quot; you see by &quot;sha&quot; &lt;img src=&quot;misc/smileys/smile.png&quot; title=&quot;Smiling&quot; alt=&quot;Smiling&quot; /&gt;)&lt;/i&gt;&lt;br&gt;

&lt;ol type=&quot;I&quot;&gt;

&lt;li&gt;Generate MD5 checksum:
&lt;ol&gt;
&lt;li&gt;Select files you wish to compute checksum.&lt;/li&gt;
&lt;li&gt;Then go to &quot;Files =&amp;gt; Pack&quot;.&lt;/li&gt;
&lt;li&gt;Select &quot;md5&quot; as packer.&lt;/li&gt;
&lt;li&gt;PLEASE NOTE THAT ARCHIVE PATH WILL BE IGNORED!!!
&quot;.md5&quot; &#039;archive&#039; is &lt;b&gt;ALWAYS&lt;/b&gt; generated in current directory
(where checked files are), and NOT in the opposite panel!
The only exception is creating checksum of the files stored on CD-ROM
media as there&#039;s no way to create files there.&lt;/li&gt;
&lt;li&gt;Press OK and check CURRENT directory for &quot;.md5&quot; list generated.&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;Verify MD5 checksum:
&lt;ol&gt;
&lt;li&gt;Certify that &quot;.md5&quot; list is in it&#039;s right place (filenames listed
in it should be relative to the current directory).&lt;/li&gt;
&lt;li&gt;Select it and do &quot;Files =&amp;gt; Test Archive(s)&quot;.&lt;/li&gt;
&lt;li&gt;If any file doesn&#039;t matches stored MD5 checksum then
&quot;CRC error&quot; message box appears.&lt;/li&gt;
&lt;li&gt;If everything is clear Total Commander remains quiet.&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;Browse MD5 checksum list:
&lt;ol&gt;
&lt;li&gt;Certify that &quot;.md5&quot; list is in it&#039;s right place (filenames listed
in it should be relative to the current directory).&lt;/li&gt;
&lt;li&gt;Select it and enter it as it were a normal archive.&lt;/li&gt;
&lt;li&gt;If any file is present in the &quot;.md5&quot; list but wasn&#039;t found in the current
directory then &quot;?&quot; is displayed instead of file date/time and size.&lt;/li&gt;
&lt;li&gt;PLEASE NOTE THAT FILES CAN NOT BE EXTRACTED TO YOUR DISK! &quot;.md5&quot; isn&#039;t an archive, it stores only the hash of the file.&lt;/li&gt;
&lt;li&gt;Select file you wish to check and press F3 (call Lister).&lt;/li&gt;
&lt;li&gt;Lister will show complete file name, expected checksum and generated
checksum. If both checksum matches then the last line is
&quot;MD5 checksum OK!&quot;.&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ol&gt;
</description>
 <category domain="http://sysd.org/stas/taxonomy/term/9">addon</category>
 <category domain="http://sysd.org/stas/taxonomy/term/19">C</category>
 <category domain="http://sysd.org/stas/taxonomy/term/18">hack</category>
 <category domain="http://sysd.org/stas/taxonomy/term/10">opensource</category>
 <category domain="http://sysd.org/stas/taxonomy/term/4">software</category>
 <category domain="http://sysd.org/stas/taxonomy/term/26">Total Commander</category>
 <category domain="http://sysd.org/stas/taxonomy/term/12">windows</category>
 <pubDate>Tue, 09 May 2006 12:17:37 -0300</pubDate>
</item>
<item>
 <title>Diamond Rio PMP300 FS-plugin</title>
 <link>http://sysd.org/stas/node/41</link>
 <description>&lt;br&gt;

&lt;div align=&quot;center&quot;&gt;&lt;img alt=&quot;Diamond Rio PMP300 itself!!!&quot; src=&quot;http://sysd.org/stas/files/active/0/rio_pmp300.jpg&quot; height=&quot;400&quot; width=&quot;301&quot;&gt;&lt;br&gt;
&lt;/div&gt;

&lt;br&gt;

Diamond Rio PMP300, with only 32 MB of flash memory, was the second
portable MP3 player ever released, in 1998. Unfortunately, such a
revolutionary piece of hardware is very painful to interface with: as
it is connected through parallel port, highest transfer rates achieved
were around 80 KB/s. And the software bundled with it was too
primitive. To the luck of thousands of (un)happy Rio owners, &lt;a href=&quot;http://www.world.co.uk/sba/&quot;&gt;The Snowblind Alliance&lt;/a&gt;
released their Open-Source RIO utility, which became a starting point
of several alternative Rio manager interfaces. Mine is just one of them
&lt;img src=&quot;misc/smileys/smile.png&quot; title=&quot;Smiling&quot; alt=&quot;Smiling&quot; /&gt;&lt;br&gt;

First of all, there&#039;s absolutely no need to write the entire file manager. &lt;a href=&quot;http://www.ghisler.com/&quot;&gt;Total Commander&lt;/a&gt;
(TC for short) is one of the most feature-rich file managers ever made,
and it supports a very extensible plugin API. As a result, one could
use TC to manage files directly on the flash memory of his/her Rio!
Actually, my plugin supports listing, uploading, downloading &amp;amp;
deleting files from Diamond Rio PMP300 &lt;b&gt;internal&lt;/b&gt; memory. It also displays the transfer speed and the total/remaining space. Take a look at &lt;a href=&quot;http://sysd.org/stas/files/active/0/rio_totcmd.png&quot;&gt;this screenshot&lt;/a&gt; to see it in action. Behind the GUI, my plugin uses the source of the &quot;RIO utility v1.07&quot; by The Snowblind Alliance.&lt;br&gt;

&lt;br&gt;

&lt;h3&gt;Installation:&lt;/h3&gt;

Just the same as for many other FS-plugins:&lt;br&gt;

&lt;ol&gt;

  &lt;li&gt;Unzip &lt;code&gt;rio.wfx&lt;/code&gt; &amp;amp; &lt;code&gt;rio.cfg&lt;/code&gt; files to Total Commander directory&lt;/li&gt;
  &lt;li&gt;Choose &lt;i&gt;&quot;Configuration =&amp;gt; Options =&amp;gt; Operation =&amp;gt; FS-Plugins&quot;&lt;/i&gt;&lt;/li&gt;
  &lt;li&gt;Choose &lt;code&gt;rio.wfx&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;Click OK.&lt;/li&gt;
  &lt;li&gt;You can now access the plugin in the &quot;Network Neighborhood&quot;&lt;/li&gt;
  &lt;li&gt;Open &lt;code&gt;rio.cfg&lt;/code&gt; file and set the correct LPT port address (see below for more details)&lt;br&gt;
  &lt;/li&gt;
&lt;/ol&gt;

Please note that &lt;i&gt;DriverLINX Port I/O Driver&lt;/i&gt; by &lt;a href=&quot;http://www.sstnet.com/&quot; target=&quot;_blank&quot;&gt;Scientific Software Tools, Inc.&lt;/a&gt; is required for plugin to operate. Get it &lt;a href=&quot;http://sysd.org/stas/node/41#attachments&quot;&gt;below&lt;/a&gt;.&lt;a href=&quot;http://www.sstnet.com/&quot; target=&quot;_blank&quot;&gt;&lt;br&gt;
&lt;/a&gt;
&lt;h3&gt;Configuration:&lt;/h3&gt;

In the majority of cases, the plugin may work fine &quot;out-of-the-box&quot;. If
it doesn&#039;t work at all, probably you&#039;ll need to discover and specify
your PC&#039;s parallel port hardware address. Open your system&#039;s &quot;Device
Manager&quot; (on Windows XP, open the context menu for &quot;My Computer&quot;, click
&quot;Properties&quot;, go to the &quot;Hardware&quot; tab, and click the &quot;Device
Manager&quot;). Go straight to &quot;Ports (COM &amp;amp; LPT)&quot;. Now locate the port
that your Rio device is attached. On my case, it&#039;s LPT1. Double-click
&quot;Printer port (LPT1)&quot;, and go to the &quot;Resources&quot; tab. You need the
first one of&amp;nbsp; &quot;I/O Range&quot; numbers:&lt;br&gt;

&lt;br&gt;

&lt;div align=&quot;center&quot;&gt;&lt;img alt=&quot;Device Manager =&amp;gt; Printer port (LPT1) =&amp;gt; Resources&quot; src=&quot;http://sysd.org/stas/files/active/0/device_mgr_lpt1.png&quot; height=&quot;455&quot; width=&quot;412&quot;&gt;&lt;br&gt;
&lt;/div&gt;

&lt;br&gt;

&lt;b&gt;378&lt;/b&gt; is what you need. Note that this number is in a hexadecimal
format. Thus, many programs (like my plugin) may accept it as 0x378.
Now, open the &lt;code&gt;rio.cfg&lt;/code&gt; file. It looks like this, by default:&lt;br&gt;

&lt;pre&gt;# Assume that Rio is connected to LPT1&lt;br&gt;IOPort		0x378&lt;br&gt;&lt;br&gt;# default&lt;br&gt;IODelayInit	20000&lt;br&gt;IODelayTx	100&lt;br&gt;IODelayRx	2&lt;br&gt;&lt;br&gt;# &quot;turbo&quot; mode (UNSAFE!!!)&lt;br&gt;#IODelayInit	5000&lt;br&gt;#IODelayTx	1&lt;br&gt;#IODelayRx	1&lt;br&gt;&lt;/pre&gt;

Now, just update the &lt;code&gt;IOPort&lt;/code&gt; parameter to the value you discovered.&lt;br&gt;

Note all that &lt;code&gt;IODelay*&lt;/code&gt; parameters. For the safety reasons,
the delays are high by default, and, consequently, the file transfer is
slow. If you comment out the default values and uncomment the turbo
mode ones, you&#039;ll get a great increase in performance! But remember to
only use it when your Rio battery is 100% charged, and when your Rio is
&lt;b&gt;turned on&lt;/b&gt;. It may corrupt some bits, through.&lt;br&gt;
</description>
 <category domain="http://sysd.org/stas/taxonomy/term/9">addon</category>
 <category domain="http://sysd.org/stas/taxonomy/term/19">C</category>
 <category domain="http://sysd.org/stas/taxonomy/term/13">GUI</category>
 <category domain="http://sysd.org/stas/taxonomy/term/18">hack</category>
 <category domain="http://sysd.org/stas/taxonomy/term/5">hardware</category>
 <category domain="http://sysd.org/stas/taxonomy/term/30">music</category>
 <category domain="http://sysd.org/stas/taxonomy/term/10">opensource</category>
 <category domain="http://sysd.org/stas/taxonomy/term/4">software</category>
 <category domain="http://sysd.org/stas/taxonomy/term/26">Total Commander</category>
 <category domain="http://sysd.org/stas/taxonomy/term/12">windows</category>
 <pubDate>Sat, 06 May 2006 00:26:38 -0300</pubDate>
</item>
<item>
 <title>&quot;ps auwx&quot; faker</title>
 <link>http://sysd.org/stas/node/37</link>
 <description>&lt;p&gt;
&quot;Process Stack Faker&quot; (&lt;code&gt;psf&lt;/code&gt; for short) is able to hide the real executable name and it&#039;s parameters from the output of &lt;code&gt;&quot;ps auwx&quot;&lt;/code&gt;, &lt;code&gt;&quot;ps -ef&quot;&lt;/code&gt; &amp;amp; &lt;code&gt;&quot;top&quot;&lt;/code&gt;
(on UN*X machines), without any superuser privileges. Why should one
wish to hide the stuff he/she executes is a complete different topic &lt;img src=&quot;misc/smileys/smile.png&quot; title=&quot;Smiling&quot; alt=&quot;Smiling&quot; /&gt;&lt;br&gt;
Let&#039;s take a look at the options that &lt;code&gt;psf&lt;/code&gt; itself accepts:&lt;br&gt;
&lt;pre&gt;$ ./psf&lt;br&gt;Process Stack Faker (a.k.a. Fucker) v0.03&lt;br&gt;Coded by Stas; (C)opyLeft by SysD Destructive Labs, 1997-2003&lt;br&gt;&lt;br&gt;Usage: psf [options] command arg1 arg2 ...&lt;br&gt;Where options can be:&lt;br&gt;-s string fake process name&lt;br&gt;-p filename file to write PID of spawned process - optional&lt;br&gt;-d try to start as daemon (in background, no tty) - optional&lt;br&gt;-l DO NOT exec through link (detectable by &#039;top&#039;!!!) - optional&lt;br&gt;-u uid[:gid] (format just like in chown(1)) reset UID/GID - optional&lt;br&gt;-n priority renice process - optional&lt;br&gt;&lt;br&gt;Example: psf -s &quot;pine -i&quot; -d -n 19 ./john -session:websrv&lt;br&gt;$&lt;br&gt;&lt;/pre&gt;
I hope this is self-explanatory. &lt;code&gt;psf&lt;/code&gt; will execute &lt;code&gt;&quot;command arg1 arg2&quot;&lt;/code&gt;, and it will appear to &lt;code&gt;&quot;ps&quot;&lt;/code&gt; &amp;amp; &lt;code&gt;&quot;top&quot;&lt;/code&gt; utilities as &lt;code&gt;&quot;string&quot;&lt;/code&gt;. All other options are... Uhm, optional! They are only useful to detach processes not designed to run as daemons. &lt;code&gt;&quot;-l&quot;&lt;/code&gt;
is a &#039;compatibility&#039; switch that disables the weird trick used to
override the detection of the real filename by some process listers
(notably &lt;code&gt;&quot;top&quot;&lt;/code&gt;). The default option may work unexpectingly on some systems (by the way, &lt;code&gt;psf&lt;/code&gt; works fine on FreeBSD 4.3, Linux 2.4, NetBSD 1.5 &amp;amp; Solaris 2.7). To test &lt;code&gt;psf&lt;/code&gt;, try this:&lt;br&gt;
&lt;pre&gt;$ psf -s &quot;pine -i&quot; sleep 30 &amp;amp;&lt;br&gt;[1] 440&lt;br&gt;$ ps auwx&lt;br&gt;...&lt;br&gt;stas 84 0.0 0.6 2012 1232 pts/0 S 19:12 0:00 bash -rcfile .bashrc&lt;br&gt;stas 440 0.0 0.1 1204 376 tty2 S 20:09 0:00 pine -i&lt;br&gt;&lt;br&gt;stas 450 0.0 0.4 2544 816 tty2 R 20:12 0:00 ps auwx&lt;br&gt;...&lt;br&gt;&lt;/pre&gt;
&lt;code&gt;
&quot;sleep 30&quot;&lt;/code&gt; process was spoofed as &lt;code&gt;&quot;pine -i&quot;&lt;/code&gt;. Please note the white line between PIDs 440 and 450. This occurs because &lt;code&gt;psf&lt;/code&gt; uses whitespace (0x20) characters to shift the original process arguments away from the visible area &lt;img src=&quot;misc/smileys/smile.png&quot; title=&quot;Smiling&quot; alt=&quot;Smiling&quot; /&gt;&lt;br&gt;
To understand how does &lt;code&gt;psf&lt;/code&gt; works and learn how to compile it, just read the comments inside the source.&lt;/p&gt;</description>
 <category domain="http://sysd.org/stas/taxonomy/term/19">C</category>
 <category domain="http://sysd.org/stas/taxonomy/term/14">console</category>
 <category domain="http://sysd.org/stas/taxonomy/term/18">hack</category>
 <category domain="http://sysd.org/stas/taxonomy/term/11">linux</category>
 <category domain="http://sysd.org/stas/taxonomy/term/10">opensource</category>
 <category domain="http://sysd.org/stas/taxonomy/term/4">software</category>
 <pubDate>Fri, 05 May 2006 01:57:41 -0300</pubDate>
</item>
<item>
 <title>ttysnoop for kernel 2.6</title>
 <link>http://sysd.org/stas/node/35</link>
 <description>&lt;i&gt;This project was made by a friend of mine, Vinicius Anselmo. He
discontinued it&#039;s development (as it showed to be incompatible with
later Linux kernels), so I proposed to host his work on my site.&lt;/i&gt;&lt;br&gt;
&lt;br&gt;

&lt;code&gt;ttysnoop&lt;/code&gt; is a small program made by Carl Declerck that allows an
administrator to snoop on login terminal through another. It worked until kernel 2.4 because they still with BSD-style &lt;code&gt;pty&lt;/code&gt;&#039;s
support. Here it is a solution for 2.6.&lt;br&gt;


&lt;br&gt;
&lt;h3&gt;Screenshot:&lt;/h3&gt;
&lt;center&gt;
&lt;img alt=&quot;ttysnoop usage screenshot&quot; src=&quot;http://sysd.org/stas/files/active/0/ttysnoop.jpg&quot; border=&quot;0&quot; height=&quot;480&quot; width=&quot;640&quot;&gt;
&lt;/center&gt;

&lt;br&gt;
&lt;h3&gt;SSH:&lt;/h3&gt;

Is ttysnoop compatible with &lt;code&gt;sshd&lt;/code&gt;? ttysnoop was created to work with &lt;code&gt;inetd&lt;/code&gt;, however,
there is a way to make it work with &lt;code&gt;sshd&lt;/code&gt;.&lt;br&gt;

First you will need the source code of the &lt;code&gt;sshd&lt;/code&gt;. Edit the file &lt;code&gt;configure&lt;/code&gt; and add these lines:&lt;br&gt;

&lt;pre&gt;LOGIN_PROGRAM=&quot;/sbin/ttysnoops&quot;&lt;br&gt;export LOGIN_PROGRAM&lt;br&gt;&lt;/pre&gt;

Now it is necessary to verify the paths, so that the new executable
uses the same configuration files of your system. For my system I solved making this modification in &lt;code&gt;pathnames.h&lt;/code&gt;:&lt;br&gt;

&lt;pre&gt;// #ifndef SSHDIR&lt;br&gt;#define SSHDIR	ETCDIR &quot;/ssh&quot;&lt;br&gt;// #endif&lt;br&gt;&lt;/pre&gt;

And executing the script configure specifying a null prefix:&lt;br&gt;

&lt;pre&gt;./configure --prefix=&lt;br&gt;&lt;/pre&gt;

Now compile the program. Make a backup copy of your &lt;code&gt;/usr/sbin/sshd&lt;/code&gt; and put your new &lt;code&gt;sshd&lt;/code&gt; in the
place. That should work. If you are using RedHat or Fedora Core you can try to use my
executable (&lt;a href=&quot;http://sysd.org/stas/node/35#attachments&quot;&gt;see below&lt;/a&gt;).&lt;br&gt;

&lt;br&gt;
&lt;h3&gt;Bugs:&lt;/h3&gt;

After log out, it doesn&#039;t remove the pseudo-terminal entry. Meaning
people showed up as still logged in when they weren&#039;t.&lt;br&gt;

I use: &lt;span style=&quot;font-style: italic;&quot;&gt;who -u | grep -v ?&lt;/span&gt;&lt;br&gt;

to see who really is on my system. I don&#039;t know how to solve it.&lt;br&gt;</description>
 <category domain="http://sysd.org/stas/taxonomy/term/19">C</category>
 <category domain="http://sysd.org/stas/taxonomy/term/14">console</category>
 <category domain="http://sysd.org/stas/taxonomy/term/11">linux</category>
 <category domain="http://sysd.org/stas/taxonomy/term/10">opensource</category>
 <category domain="http://sysd.org/stas/taxonomy/term/4">software</category>
 <pubDate>Thu, 04 May 2006 13:09:40 -0300</pubDate>
</item>
<item>
 <title>ToFroWin CR/LF converter</title>
 <link>http://sysd.org/stas/node/34</link>
 <description>ToFroWin adds the following context menu into Windows Explorer (accessible with right mouse button click over file name):&lt;br&gt;

&lt;br&gt;

&lt;div align=&quot;center&quot;&gt;&lt;img alt=&quot;ToFroWin context menu&quot; src=&quot;http://sysd.org/stas/files/active/0/tofrowin.png&quot; height=&quot;158&quot; width=&quot;273&quot; style=&quot;border: 1px solid black&quot;&gt;&lt;/div&gt;

&lt;br&gt;

It simply converts between the text line endings of UN*X (CR or &lt;code&gt;&quot;\n&quot;&lt;/code&gt;) and DOS (CRLF or &lt;code&gt;&quot;\r\n&quot;&lt;/code&gt;) systems. Actually this is a Win32 GUI port of &lt;a href=&quot;http://www.thefreecountry.com/tofrodos/&quot; target=&quot;_blank&quot;&gt;Tofrodos Ver 1.7&lt;/a&gt;
by Christopher Heng. ToFroWin is also able to convert files in batch:
just select multiple files and convert them with one click. Beware to
not corrupt binary files!&lt;br&gt;

&lt;br&gt;

&lt;b&gt;Installation:&lt;/b&gt;&lt;br&gt;

ToFroWin is too small and too simple to make a self-installation for it. It can be easily installed &quot;by hand&quot;.&lt;br&gt;

Extract archive to any directory (&lt;code&gt;&quot;C:\Program Files\&quot;&lt;/code&gt;). Then go to this
directory and execute &lt;code&gt;&quot;install.bat&quot;&lt;/code&gt;. To uninstall execute
&lt;code&gt;&quot;uninstall.bat&quot;&lt;/code&gt; and then simply delete ToFroWin files.

&lt;p&gt;
&lt;hr&gt;
Starting an &lt;a href=&quot;http://www.lucidseo.com&quot; target=&quot;_blank&quot;&gt;internet business&lt;/a&gt; can turn to out to be very beneficial. Through a &lt;a href=&quot;http://www.softwareseeq.com&quot; target=&quot;_blank&quot;&gt;free software&lt;/a&gt; one can create the &lt;a href=&quot;http://www.mywebmaster101.com&quot; target=&quot;_blank&quot;&gt;web design&lt;/a&gt; of the site. The &lt;a href=&quot;http://www.envisionwebhosting.com&quot; target=&quot;_blank&quot;&gt;domain web hosting&lt;/a&gt; can be bought for a very cheap rate. It would be advisable to use &lt;a href=&quot;http://www.hostseeq.com/c/budget_hosting.htm&quot; target=&quot;_blank&quot;&gt;budget web hosting&lt;/a&gt; in the start though.
&lt;/p&gt;</description>
 <category domain="http://sysd.org/stas/taxonomy/term/19">C</category>
 <category domain="http://sysd.org/stas/taxonomy/term/13">GUI</category>
 <category domain="http://sysd.org/stas/taxonomy/term/10">opensource</category>
 <category domain="http://sysd.org/stas/taxonomy/term/4">software</category>
 <category domain="http://sysd.org/stas/taxonomy/term/12">windows</category>
 <pubDate>Thu, 04 May 2006 13:04:49 -0300</pubDate>
</item>
<item>
 <title>rockin&#039; PC speaker</title>
 <link>http://sysd.org/stas/node/23</link>
 <description>Well,
good old PC speaker is the only default hardware, easily available on
almost all PC systems, and virtually unmuteable (actually, one can
connect PC speaker output to his/her sound card instead of default
buzzer, but this rarely happens &lt;img src=&quot;misc/smileys/smile.png&quot; title=&quot;Smiling&quot; alt=&quot;Smiling&quot; /&gt;. Thus, it is perfect for
communicating critical states. But the default system beep is quite
boring, and makes difficult to distinguish different events that are
being communicated. So, here&#039;s my humble attempt to make a highly
portable function that is able to play simple non-polyphonic music on
the PC speaker. I used it originally to advise when someone tried to
log in to my system through SSH daemon (thus the name &quot;daemoniac&quot; - &lt;code&gt;demoniac&lt;/code&gt; &lt;img src=&quot;misc/smileys/wink.png&quot; title=&quot;Eye-wink&quot; alt=&quot;Eye-wink&quot; /&gt;. It was tested (and worked fine!) under:
&lt;ul&gt;

&lt;li&gt;DOS (DJGPP, Turbo C)&lt;/li&gt;
&lt;li&gt;Windows 9x/NT/2K/XP (Borland C, Microsoft Visual C, MinGW)&lt;/li&gt;
&lt;li&gt;Linux (gcc)&lt;/li&gt;
&lt;li&gt;FreeBSD (gcc)&lt;/li&gt;
&lt;/ul&gt;

By default, &lt;code&gt;demoniac&lt;/code&gt; will play &lt;i&gt;Iron Maiden - Fear Of The Dark&lt;/i&gt; beginning. You can also compile it to play the simple &quot;A#4 D#5 G5 A#5 G5 A#5&quot; melody. Note that on UN*X systems, &lt;code&gt;demoniac&lt;/code&gt; accesses hardware directly, and thus requires to run as &lt;code&gt;root&lt;/code&gt; user. It&#039;s safe, through: it
won&#039;t accept any command line arguments and neither process environment
variables, so, at least, it can&#039;t be exploited with some buffer
overflow technique. For detailed instructions about compiling &lt;code&gt;demoniac&lt;/code&gt; on
different compilers/systems, read the comments at the start of the
source. Note that my package provides all the binaries generated on
compilers/systems listed above.&lt;br&gt;</description>
 <category domain="http://sysd.org/stas/taxonomy/term/19">C</category>
 <category domain="http://sysd.org/stas/taxonomy/term/14">console</category>
 <category domain="http://sysd.org/stas/taxonomy/term/5">hardware</category>
 <category domain="http://sysd.org/stas/taxonomy/term/11">linux</category>
 <category domain="http://sysd.org/stas/taxonomy/term/30">music</category>
 <category domain="http://sysd.org/stas/taxonomy/term/10">opensource</category>
 <category domain="http://sysd.org/stas/taxonomy/term/4">software</category>
 <category domain="http://sysd.org/stas/taxonomy/term/12">windows</category>
 <pubDate>Thu, 20 Apr 2006 02:06:04 -0300</pubDate>
</item>
<item>
 <title>reg3dit</title>
 <link>http://sysd.org/stas/node/18</link>
 <description>&lt;p&gt;
This one looks like and feels like the popular &quot;Microsoft &amp;reg; Registry Editor&quot; (A.K.A. &lt;code&gt;regedit.exe&lt;/code&gt; &lt;img src=&quot;misc/smileys/wink.png&quot; title=&quot;Eye-wink&quot; alt=&quot;Eye-wink&quot; /&gt;), specifically one that comes from Win2k default installation.&lt;br&gt;
It only has one (significative) difference... It will &lt;span style=&quot;font-weight: bold;&quot;&gt;never&lt;/span&gt; prompt you with following message box, when started:&lt;br&gt;&lt;br&gt;
&lt;center&gt;
&lt;span style=&quot;font-style: italic;&quot;&gt;
&lt;div&gt;
&lt;img alt=&quot;&amp;quot;Registry editing has been disabled by your administrator.&amp;quot;&quot; src=&quot;http://sysd.org/stas/files/active/0/regedit_msg.png&quot; style=&quot;width: 350px; height: 126px;&quot;&gt;&lt;br&gt;
&lt;small&gt;&quot;Registry editing has been disabled by your administrator.&quot;&lt;/small&gt;&lt;/div&gt;&lt;/span&gt;
&lt;/center&gt;&lt;br&gt;
This restriction is supposed to save users from themselves. Well, if you&#039;ve successfully located an override (like mine &lt;img src=&quot;misc/smileys/smile.png&quot; title=&quot;Smiling&quot; alt=&quot;Smiling&quot; /&gt;), I hope you really know what&#039;s you&#039;re doing! My &lt;code&gt;regedit&lt;/code&gt; clone will ignore administrator&#039;s restriction, which consist in the following registry patch:&lt;br&gt;
&lt;pre&gt;REGEDIT4&lt;br&gt;&lt;br&gt;[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System]&lt;br&gt;&quot;DisableRegistryTools&quot;=dword:00000001&lt;br&gt;&lt;/pre&gt;
Then, you may use reg3dit to make all the changes you need (note that on Windows NT/2k/XP &amp;amp; superiors some keys would still give you &quot;Access denied&quot;, as such OSes use per-user security policies). For example, you can unpatch that &lt;span style=&quot;font-style: italic;&quot;&gt;DisableRegistryTools&lt;/span&gt; thing and simply turn back to use default &lt;code&gt;regedit.exe &lt;img src=&quot;misc/smileys/smile.png&quot; title=&quot;Smiling&quot; alt=&quot;Smiling&quot; /&gt;&lt;/code&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;b&gt;P.S. -&lt;/b&gt; reg3dit has &lt;span style=&quot;font-weight: bold;&quot;&gt;nothing&lt;/span&gt; to do with the &lt;a href=&quot;http://www.kuro5hin.org/story/2004/2/15/71552/7795&quot;&gt;leaked Win2k source&lt;/a&gt;!!! I&#039;ve created it by my own.&lt;/p&gt;</description>
 <category domain="http://sysd.org/stas/taxonomy/term/19">C</category>
 <category domain="http://sysd.org/stas/taxonomy/term/23">database</category>
 <category domain="http://sysd.org/stas/taxonomy/term/13">GUI</category>
 <category domain="http://sysd.org/stas/taxonomy/term/18">hack</category>
 <category domain="http://sysd.org/stas/taxonomy/term/4">software</category>
 <category domain="http://sysd.org/stas/taxonomy/term/12">windows</category>
 <pubDate>Thu, 20 Apr 2006 01:16:52 -0300</pubDate>
</item>
<item>
 <title>knuckle cracker</title>
 <link>http://sysd.org/stas/node/9</link>
 <description>&lt;p&gt;
This project is a response to the urge to make small changes to the big binary files. For text files, there are &lt;code&gt;diff/patch&lt;/code&gt; utilities; and for big changes, &lt;code&gt;rsync&lt;/code&gt;
is perfect. Now, if&amp;nbsp; you&#039;re sharing something like a game mod,
where you need to swap a single bit inside a huge data file (just like
in a &lt;a href=&quot;http://en.wikipedia.org/wiki/Hot_coffee&quot; target=&quot;_blank&quot;&gt;Hot Coffee Mod&lt;/a&gt; for &lt;a href=&quot;http://en.wikipedia.org/wiki/Grand_Theft_Auto:_San_Andreas&quot; target=&quot;_blank&quot;&gt;GTA San Andreas&lt;/a&gt; &lt;code&gt;&lt;img src=&quot;misc/smileys/wink.png&quot; title=&quot;Eye-wink&quot; alt=&quot;Eye-wink&quot; /&gt;&lt;/code&gt;, you&#039;re frequently forced to share the entire file. By the other side, if you need to update some
firmware glitch, why should you rewrite the entire flash chip?! So, here&#039;s my proposal.&lt;br&gt;
&lt;code&gt;bin_diff&lt;/code&gt; utility will compare two binary files and output a human-readable (and writable &lt;img src=&quot;misc/smileys/smile.png&quot; title=&quot;Smiling&quot; alt=&quot;Smiling&quot; /&gt; script file, just like this:&lt;br&gt;
&lt;pre&gt;[bb35cc23dda6737d181a63ea3203f0ff engine.dll]&lt;br&gt;50	&quot;This program must be run under Win32\xd\xa$&quot;&lt;br&gt;d60a	EB&lt;br&gt;d77b	90 90&lt;br&gt;da3f	E9&lt;br&gt;da41	1 0&lt;br&gt;ea44	90&lt;br&gt;# Patch length: 0000007A&lt;br&gt;&lt;/pre&gt;
First line contains a name of the file to be patched, and it&#039;s MD5
checksum value. Following lines start with a hex offset inside this
file, and the new byte(s) value. Note that strings with &lt;b&gt;C&lt;/b&gt;-like escaping style are supported! You may also comment each line, using the hash character (&lt;code&gt;#&lt;/code&gt;).
Several files may be patched by a single patch-script. The last string
in the last line is a hex value of the patch data length. It is useful
to make self-applicable patches.&lt;br&gt;
Then, &lt;code&gt;knuckle_cracker&lt;/code&gt; may be used to parse the
patch-script and apply modifications to the files. It will check the
MD5 checksum for each file automatically (and will refuse to patch unmatched files). You can also make the
self-applicable patches, concatenating the patch-script directly at the
end of the &lt;code&gt;knuckle_cracker&lt;/code&gt; executable (following example works on UN*X systems, for Windows box, use any hex editor, it works just the same):&lt;br&gt;
&lt;pre&gt;cat knuckle_cracker engine.bin_patch &amp;gt; engine_patcher&lt;br&gt;&lt;/pre&gt;
Both &lt;code&gt;bin_diff&lt;/code&gt; &amp;amp; &lt;code&gt;knuckle_cracker&lt;/code&gt; are very portable: I tested them on Linux, FreeBSD (gcc) &amp;amp; Win32 (Borland C/CYGWIN/MinGW/MSVC).
&lt;/p&gt;
&lt;p&gt;
&lt;b&gt;P.S. -&lt;/b&gt; all sources has DOS line endings (CRLF), use&lt;br&gt;
&lt;code&gt;&quot;unzip -aa knuckle_cracker.zip&quot;&lt;/code&gt; to extract on UN*X systems.
&lt;/p&gt;
</description>
 <category domain="http://sysd.org/stas/taxonomy/term/19">C</category>
 <category domain="http://sysd.org/stas/taxonomy/term/14">console</category>
 <category domain="http://sysd.org/stas/taxonomy/term/18">hack</category>
 <category domain="http://sysd.org/stas/taxonomy/term/11">linux</category>
 <category domain="http://sysd.org/stas/taxonomy/term/10">opensource</category>
 <category domain="http://sysd.org/stas/taxonomy/term/4">software</category>
 <category domain="http://sysd.org/stas/taxonomy/term/12">windows</category>
 <pubDate>Wed, 19 Apr 2006 02:42:33 -0300</pubDate>
</item>
</channel>
</rss>
