Sponsored Content
Full Discussion: Obfuscated C
Top Forums Programming Obfuscated C Post 18472 by PxT on Thursday 28th of March 2002 04:53:10 PM
Old 03-28-2002
MySQL Obfuscated C

Well this year i decided to enter the International Obfuscated C Code Contest. This was my first attempt at writing obfuscated C (at least purposely), so I am sure that this is kids-stuff for the real obfuscation gurus. Anyway, the results are out, and I am not a finalist (I wasn't expecting to be), so I figured I would share my code with you all, just for fun. If anyone else made an entry this year, please share them!


Here are the remarks included with my entry:

This program grew out of a non-obfuscated utility that I threw
together a while ago. I use it as a reference from time to
time since different architectures produce different results (at
least, the output is different on my HP-UX box than it is on my
Intel box). It simply outputs a nicely formatted ascii character
table. It is run with no arguments and produces its report on
the standard out. I achieved obfuscation by using a couple of
levels of recursion, plus some confusingly named variables and
functions. I also included some additional code which does
absolutley nothing just to confuse things a little more.

I strived for "-Wall" cleanness. As a result I had to give up
a couple minor obfuscations, but I think it is still sufficiently
convoluted. This is my first attempt at obfuscated C -- it was
written over the course of several weeks as a diversion. By
the end it became very difficult to improve as I could no longer
understand how it worked without a serious amount of thought!

The code is neatly arranged in the form of my initials. Smilie



Code:
#  include  <stdio.h>
#          define d (
#          define I1 1<<
#          define b )
#          define Il(l) \
           return(l)
#          define lI \
I*((I1 3)-1)+(I*(I1\
1))-(I-\
(I1 4))
#define \
_l(l)  \
ll_l(l)
#define \
ll(l) l
#define \
l1 main(

long i,l,ll(I)=d(I1 5)-(I1 1)b;int _l(l)
{putchar d ll(l)b;Il(l);}int II(l,L){_l(
(l/L)+48);l-=((l/L)*L);d L/=10 b?II(l,L)
          :0;Il(l);}int l1 
          b{*d d l b?&I:&l
          b=I;if d l>(I1 8
          b b Il(I1 0);_l(
          32);_l(I1 5);II(
          l,25<<2);_l(58);
          _l(I1 5);_l(ll(l
          ));l%(I1 2)?0:_l
          ((I1 3)+(ll(I1 1)
          )b;l++;Il(l1 l));
}

 

3 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Removing obfuscated javascript from js files

ello, I am trying to remove obfuscated code in multiple files on a server, the malicious code is surronded by /*km0ae9gr6m*//*qhk6sa6g1c*/ I had success removing from some files using this command sed -i ':strt;s|/\*km0ae9gr6m\*/*/\*qhk6sa6g1c\*/||g;/\/\*km0ae9gr6m\*\//{N;b strt}'... (5 Replies)
Discussion started by: cuantica
5 Replies

2. Web Development

Random - Any help decoding obfuscated code?

I have this following file and I would quite like to get it decoded - any help / advice is appreciated. I would like to know how to decrypt it, however if someone is able to do it for me I would be equally grateful. <?php //Obfuscation provided by FOPO - Free Online PHP Obfuscator v1.2:... (6 Replies)
Discussion started by: mcclunyboy
6 Replies

3. Programming

Obfuscated "Hello World!" in Python 2.7.x...

Obfuscated Hello World! in Python 2.7.x This is seriously impressive:- Obfuscating "Hello world!" - Ben Kurtovic (2 Replies)
Discussion started by: wisecracker
2 Replies
PAR::Filter(3)						User Contributed Perl Documentation					    PAR::Filter(3)

NAME
PAR::Filter - Input filter for PAR SYNOPSIS
$code = 'use strict; print "Hello, World! ";'; $ref = PAR::Filter->new('PodStrip', 'Bleach')->apply($code); print $code; # pod-stripped and obfuscated code print $$ref; # same thing $ref = PAR::Filter->new('PodStrip', 'Bleach')->apply('file.pl'); print $$ref; # same thing, applied to file.pl DESCRIPTION
Starting with PAR 0.76, "pp -f" takes a filter name, like "Bleach", and invokes this module to transform the programs with PAR::Filter::Bleach. Similarily, "pp -F Bleach" applies the Bleach filter to all included modules. It is possible to pass in multiple such filters, which are applied in turn. The output of each such filter is expected be semantically equivalent to the input, although possibly obfuscated. The default list of filters include: o PAR::Filter::Bleach The archetypical obfuscating filter. o PAR::Filter::Obfuscate Use B::Deobfuscate to strip away indents and comments, as well as mangling variable names. o PAR::Filter::PatchContent Fix PAR-incompatible modules, applied to modules by default. o PAR::Filter::PodStrip Strip away POD sections, applied to modules by default. o PAR::Filter::Bytecode Use B::Bytecode to strip away indents and comments. This filter is deprecated! For source hiding, have a look at PAR::Filter::Crypto instead and make sure to read about its caveats. AUTHORS
Audrey Tang <cpan@audreyt.org> COPYRIGHT
Copyright 2003-2009 by Audrey Tang <cpan@audreyt.org>. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. See <http://www.perl.com/perl/misc/Artistic.html> perl v5.18.2 2012-01-06 PAR::Filter(3)
All times are GMT -4. The time now is 04:29 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy