obfuscations
Sponsored Links
Sponsored Links
Secleted [ 0 ] software to compare
Results 1 - 15 of about 12
B::Deobfuscate 0.18
B::Deobfuscate Perl module contains the deobfuscate source code. more>>
B::Deobfuscate Perl module contains the deobfuscate source code.
SYNOPSIS
perl -MO=Deobfuscate,-csynthetic.yml,-y synthetic.pl
B::Deobfuscate is a backend module for the Perl compiler that generates perl source code, based on the internal compiled structure that perl itself creates after parsing a program. It adds symbol renaming functions to the B::Deparse module. An obfuscated program is already parsed and interpreted correctly by the B::Deparse program. Unfortunately, if the obfuscation involved variable renaming then the resulting program also has obfuscated symbols.
This module takes the last step and fixes names like $z5223ed336 to be a word from a dictionary. While the name still isnt meaningful it is at least easier to distinguish and read. Here are two examples - one from B::Deparse and one from B::Deobfuscate.
Initial input
if(@z6a703c020a){(my($z5a5fa8125d,$zcc158ad3e0)=File::Temp::tempfile(
UNLINK,1));print($z5a5fa8125d "=over 8nn");(print($z5a5fa8125d
@z6a703c020a)or die(((("Cant print $zcc158ad3e0: $!"))); print($z5a5fa8125d
"=backn");(close(*$z5a5fa8125d)or die(((("Cant close ".*$za5fa8125d.": $!")
));(@z8374cc586e=$zcc158ad3e0);($z9e5935eea4=1);}
After B::Deparse:
if (@z6a703c020a) {
(my($z5a5fa8125d, $zcc158ad3e0) = File::Temp::tempfile(UNLINK, 1));
print($z5a5fa8125d "=over 8nn");
(print($z5a5fa8125d @z6a703c020a)
or die((((q[Cant print ] . $zcc158ad3e0) . : ) . $!)));
print($z5a5fa8125d "=backn");
(close(*$z5a5fa8125d)
or die((((q[Cant close ] . *$za5fa8125d) . : . $!)));
(@z8374cc586e = $zcc158ad3e0);
($z9e5935eea4 = 1);
}
After B::Deobfuscate:
if (@parenthesises) {
(my($scrupulousity, $postprocesser) = File::Temp::tempfile(UNLINK, 1));
print($scrupulousity "=over 8nn");
(print($scrupulousity @parenthesises)
or die((((q[Cant print ] . $postprocesser) . : ) . $!)));
print($scrupulousity "=backn");
(close(*$scrupulousity)
or die((((q[Cant close ] . *$postprocesser) . : ) . $!)));
(@interruptable = $postprocesser);
($propagandaist = 1);
}
Youll note that the only real difference is that instead of variable names like $z9e5935eea4 you get $propagandist.
<<lessSYNOPSIS
perl -MO=Deobfuscate,-csynthetic.yml,-y synthetic.pl
B::Deobfuscate is a backend module for the Perl compiler that generates perl source code, based on the internal compiled structure that perl itself creates after parsing a program. It adds symbol renaming functions to the B::Deparse module. An obfuscated program is already parsed and interpreted correctly by the B::Deparse program. Unfortunately, if the obfuscation involved variable renaming then the resulting program also has obfuscated symbols.
This module takes the last step and fixes names like $z5223ed336 to be a word from a dictionary. While the name still isnt meaningful it is at least easier to distinguish and read. Here are two examples - one from B::Deparse and one from B::Deobfuscate.
Initial input
if(@z6a703c020a){(my($z5a5fa8125d,$zcc158ad3e0)=File::Temp::tempfile(
UNLINK,1));print($z5a5fa8125d "=over 8nn");(print($z5a5fa8125d
@z6a703c020a)or die(((("Cant print $zcc158ad3e0: $!"))); print($z5a5fa8125d
"=backn");(close(*$z5a5fa8125d)or die(((("Cant close ".*$za5fa8125d.": $!")
));(@z8374cc586e=$zcc158ad3e0);($z9e5935eea4=1);}
After B::Deparse:
if (@z6a703c020a) {
(my($z5a5fa8125d, $zcc158ad3e0) = File::Temp::tempfile(UNLINK, 1));
print($z5a5fa8125d "=over 8nn");
(print($z5a5fa8125d @z6a703c020a)
or die((((q[Cant print ] . $zcc158ad3e0) . : ) . $!)));
print($z5a5fa8125d "=backn");
(close(*$z5a5fa8125d)
or die((((q[Cant close ] . *$za5fa8125d) . : . $!)));
(@z8374cc586e = $zcc158ad3e0);
($z9e5935eea4 = 1);
}
After B::Deobfuscate:
if (@parenthesises) {
(my($scrupulousity, $postprocesser) = File::Temp::tempfile(UNLINK, 1));
print($scrupulousity "=over 8nn");
(print($scrupulousity @parenthesises)
or die((((q[Cant print ] . $postprocesser) . : ) . $!)));
print($scrupulousity "=backn");
(close(*$scrupulousity)
or die((((q[Cant close ] . *$postprocesser) . : ) . $!)));
(@interruptable = $postprocesser);
($propagandaist = 1);
}
Youll note that the only real difference is that instead of variable names like $z9e5935eea4 you get $propagandist.
Download (0.017MB)
Added: 2007-06-26 License: Perl Artistic License Price:
854 downloads
Convulsion 0.0.5
Convulsion is a drop-in CVS repository browser for PHP. more>>
Convulsion is a drop-in CVS repository browser for PHP. It makes use of the libraries developed for the Chora module of the Horde project, but does not require that Horde be installed and working to be used.
You can browse directories and files, view a files revision history, compare two versions, and retrieve its ChangeLog. Convulsion also supports automatic obfuscation of e-mail addresses and syntax highlighting of most common languages.
Convulsions output is standards-compliant, accessible, and customisable by means of CSS.
Using Convulsion with Apache 2.x
Please note that in order to use Convulsion with the 2.x series of the Apache web server, you will need to set the value of the "AcceptPathInfo" directive to a value other than "Off". This can be done in the main Apache config, in the < VirtualHost > section for your site or using a .htaccess file.
<<lessYou can browse directories and files, view a files revision history, compare two versions, and retrieve its ChangeLog. Convulsion also supports automatic obfuscation of e-mail addresses and syntax highlighting of most common languages.
Convulsions output is standards-compliant, accessible, and customisable by means of CSS.
Using Convulsion with Apache 2.x
Please note that in order to use Convulsion with the 2.x series of the Apache web server, you will need to set the value of the "AcceptPathInfo" directive to a value other than "Off". This can be done in the main Apache config, in the < VirtualHost > section for your site or using a .htaccess file.
Download (0.018MB)
Added: 2005-09-28 License: GPL (GNU General Public License) Price:
1487 downloads
Physics::Lorentz::Transformation 0.01
Physics::Lorentz::Transformation Perl module contains representation of poincare transformations. more>>
Physics::Lorentz::Transformation Perl module contains representation of poincare transformations.
SYNOPSIS
use Physics::Lorentz;
my $rotation = Physics::Lorentz::Transformation->rotation_euler(
$alpha, $beta, $gamma
);
my $vector = Physics::Lorentz::Vector->new([$t, $x, $y, $z]);
my $rotated = $rotation->apply($vector);
# or: $rotated = $rotation * $vector;
...
This class represents a Poincare transformation. That is a proper or improper Lorentz transformation plus a shift by some 4-vector. (x = lamda*x + a)
Yes, the class name might be misleading, but honestly, when most non-physicists talk about Lorentz transformations, they mean Poincare transformations anyway. (Pun intended.)
To sum this up, the set of Poincare transformations contains, among others
Boosts
Rotations
Space Inversions / Parity
Time Inversion
Shifts by a constant vector
Combinations thereof
OVERLOADED INTERFACE
Stringification is overloaded with the stringify method.
Multiplication (*) is overloaded with the merge method for other transformations: $t3 = $t1 * $t2 corresponds to the following application on a vector: t1 * ( t2 * vec ). (I.e. t2 first, then t1) Of course, Poincare transformations do not commute!
The assignment form of multiplication is supported for merging transformations but its use is discouraged unless youre into obfuscation.
Multiplication is also overloaded for application to vectors, but only if the vector is on the right of the transformation: $t * $v is okay, but $v * $t is not.
<<lessSYNOPSIS
use Physics::Lorentz;
my $rotation = Physics::Lorentz::Transformation->rotation_euler(
$alpha, $beta, $gamma
);
my $vector = Physics::Lorentz::Vector->new([$t, $x, $y, $z]);
my $rotated = $rotation->apply($vector);
# or: $rotated = $rotation * $vector;
...
This class represents a Poincare transformation. That is a proper or improper Lorentz transformation plus a shift by some 4-vector. (x = lamda*x + a)
Yes, the class name might be misleading, but honestly, when most non-physicists talk about Lorentz transformations, they mean Poincare transformations anyway. (Pun intended.)
To sum this up, the set of Poincare transformations contains, among others
Boosts
Rotations
Space Inversions / Parity
Time Inversion
Shifts by a constant vector
Combinations thereof
OVERLOADED INTERFACE
Stringification is overloaded with the stringify method.
Multiplication (*) is overloaded with the merge method for other transformations: $t3 = $t1 * $t2 corresponds to the following application on a vector: t1 * ( t2 * vec ). (I.e. t2 first, then t1) Of course, Poincare transformations do not commute!
The assignment form of multiplication is supported for merging transformations but its use is discouraged unless youre into obfuscation.
Multiplication is also overloaded for application to vectors, but only if the vector is on the right of the transformation: $t * $v is okay, but $v * $t is not.
Download (0.011MB)
Added: 2007-07-30 License: Perl Artistic License Price:
820 downloads
ProGuard 3.9 / 4.0 Beta
ProGuard is a Java class file shrinker and obfuscator. more>>
ProGuard is a free Java class file shrinker, optimizer, and obfuscator. ProGuard project can detect and remove unused classes, fields, methods, and attributes. It can then optimize bytecode and remove unused instructions.
Finally, it can rename the remaining classes, fields, and methods using short meaningless names. The resulting jars are smaller and harder to reverse-engineer.
More compact jar files also means smaller storage requirements, faster transfer of applications across networks, faster loading, and smaller memory footprints.
ProGuards main advantage compared to other Java obfuscators is probably its compact template-based configuration. A few intuitive command line options or a simple configuration file are usually sufficient. For instance, the following configuration option preserves all applets in a jar:
-keep public class * extends java.applet.Applet
The user manual explains all available options and shows more examples of this powerful configuration style.
ProGuard is fast. It only takes seconds to process programs and libraries of several megabytes. The results section presents actual figures for a number of applications.
ProGuard is a command-line tool with an optional graphical user interface. It also comes with plugins for Ant and for the J2ME Wireless Toolkit.
ProGuard is a Java class file shrinker, optimizer, and obfuscator. The shrinking step detects and removes unused classes, fields, methods, and attributes. The optimization step analyzes and optimizes the bytecode of the methods. The obfuscation step renames the remaining classes, fields, and methods using short meaningless names. The resulting jars are smaller and harder to reverse-engineer.
ProGuard can also be used to list unused fields and methods in an application, and to print out the internal structure of class files.
ProGuard typically reads the input jars (or wars, ears, zips, or directories). It then shrinks, optimizes, and obfuscates them. It then writes the results to one or more output jars (or wars, ears, zips, or directories). The input jars can optionally contain resource files. ProGuard copies all non-class resource files from the input jars to the output jars. Their names and contents remain unchanged.
ProGuard requires the library jars (or wars, ears, zips, or directories) of the input jars to be specified. It can then reconstruct class hierarchies and other class dependencies, which are necessary for proper shrinking, optimization, and obfuscation. The library jars themselves always remain unchanged. You should still put them in the class path of your final application.
In order to determine which code has to be preserved and which code can be discarded or obfuscated, you have to specify one or more entry points to your code. These entry points are typically classes with main methods, applets, midlets, etc.
- In the shrinking step, ProGuard starts from these seeds and recursively determines which classes and class members are used. All other classes and class members are discarded.
- In the optimization step, ProGuard further optimizes the code. Among other optimizations, classes and methods that are not entry points can be made final, and some methods may be inlined.
- In the obfuscation step, ProGuard renames classes and class members that are not entry points. In this entire process, keeping the entry points ensures that they can still be accessed by their original names.
Any classes or class members of your code that are created or invoked dynamically (that is, by name) have to be specified as entry points too. It is generally impossible to determine these cases automatically, but ProGuard will offer some suggestions if keeping some classes or class members appears necessary. For proper results, you should at least be somewhat familiar with the code that you are processing.
ProGuard does handle Class.forName("SomeClass") and SomeClass.class constructs automatically. The referenced classes are preserved in the shrinking phase, and the string arguments are properly replaced in the obfuscation phase. With variable string arguments, it is generally impossible to determine their possible values (they might be read from a configuration file, for instance).
However, as mentioned, ProGuard will note constructs like "(SomeClass)Class.forName(variable).newInstance()". These might be an indication that the class or interface SomeClass and/or its implementations may need to be preserved. You can then adapt your configuration accordingly.
Whats New in 3.9 Stable Release:
- This release fixes a number of bugs.
- Notably, ".class" constructs compiled in Java 6 are now handled correctly.
- The optimization step now avoids a possible division by 0 and correctly processes local variables with indices larger than 255.
- The documentation and examples have been updated.
Whats New in 4.0 Beta Development Release:
- Added preverifier for Java 6 and Java Micro Edition, with new option -dontpreverify.
- Added new option -target to modify java version of processed class files.
- Made -keep options more orthogonal and flexible, with option modifiers allowshrinking, allowoptimization, and allowobfuscation.
- Added support for configuration by means of annotations.
- Improved shrinking of unused annotations.
- Added check on modification times of input and output, to avoid unnecessary processing, with new option -forceprocessing.
- Added new options -flattenpackagehierarchy and -repackageclasses (replacing -defaultpackage) to control obfuscation of packages names.
- Added new options -adaptresourcefilenames and -adaptresourcefilecontents, with file filters, to update resource files corresponding to obfuscated class names.
- Now respecting naming rule for nested class names (EnclosingClass$InnerClass) in obfuscation step, if InnerClasses attributes or EnclosingMethod attributes are being kept.
- Added new inter-procedural optimizations: method inlining and propagation of constant fields, constant arguments, and constant return values.
- Added optimized local variable allocation.
- Added over 250 new peephole optimizations.
- Improved making classes and class members public or protected.
- Now printing notes on suspiciously unkept classes in parameters of specified methods.
- Now printing notes for class names that dont seem to be fully qualified.
- Added support for uppercase filename extensions.
- Rewritten class file I/O code.
- Updated documentation and examples.
<<lessFinally, it can rename the remaining classes, fields, and methods using short meaningless names. The resulting jars are smaller and harder to reverse-engineer.
More compact jar files also means smaller storage requirements, faster transfer of applications across networks, faster loading, and smaller memory footprints.
ProGuards main advantage compared to other Java obfuscators is probably its compact template-based configuration. A few intuitive command line options or a simple configuration file are usually sufficient. For instance, the following configuration option preserves all applets in a jar:
-keep public class * extends java.applet.Applet
The user manual explains all available options and shows more examples of this powerful configuration style.
ProGuard is fast. It only takes seconds to process programs and libraries of several megabytes. The results section presents actual figures for a number of applications.
ProGuard is a command-line tool with an optional graphical user interface. It also comes with plugins for Ant and for the J2ME Wireless Toolkit.
ProGuard is a Java class file shrinker, optimizer, and obfuscator. The shrinking step detects and removes unused classes, fields, methods, and attributes. The optimization step analyzes and optimizes the bytecode of the methods. The obfuscation step renames the remaining classes, fields, and methods using short meaningless names. The resulting jars are smaller and harder to reverse-engineer.
ProGuard can also be used to list unused fields and methods in an application, and to print out the internal structure of class files.
ProGuard typically reads the input jars (or wars, ears, zips, or directories). It then shrinks, optimizes, and obfuscates them. It then writes the results to one or more output jars (or wars, ears, zips, or directories). The input jars can optionally contain resource files. ProGuard copies all non-class resource files from the input jars to the output jars. Their names and contents remain unchanged.
ProGuard requires the library jars (or wars, ears, zips, or directories) of the input jars to be specified. It can then reconstruct class hierarchies and other class dependencies, which are necessary for proper shrinking, optimization, and obfuscation. The library jars themselves always remain unchanged. You should still put them in the class path of your final application.
In order to determine which code has to be preserved and which code can be discarded or obfuscated, you have to specify one or more entry points to your code. These entry points are typically classes with main methods, applets, midlets, etc.
- In the shrinking step, ProGuard starts from these seeds and recursively determines which classes and class members are used. All other classes and class members are discarded.
- In the optimization step, ProGuard further optimizes the code. Among other optimizations, classes and methods that are not entry points can be made final, and some methods may be inlined.
- In the obfuscation step, ProGuard renames classes and class members that are not entry points. In this entire process, keeping the entry points ensures that they can still be accessed by their original names.
Any classes or class members of your code that are created or invoked dynamically (that is, by name) have to be specified as entry points too. It is generally impossible to determine these cases automatically, but ProGuard will offer some suggestions if keeping some classes or class members appears necessary. For proper results, you should at least be somewhat familiar with the code that you are processing.
ProGuard does handle Class.forName("SomeClass") and SomeClass.class constructs automatically. The referenced classes are preserved in the shrinking phase, and the string arguments are properly replaced in the obfuscation phase. With variable string arguments, it is generally impossible to determine their possible values (they might be read from a configuration file, for instance).
However, as mentioned, ProGuard will note constructs like "(SomeClass)Class.forName(variable).newInstance()". These might be an indication that the class or interface SomeClass and/or its implementations may need to be preserved. You can then adapt your configuration accordingly.
Whats New in 3.9 Stable Release:
- This release fixes a number of bugs.
- Notably, ".class" constructs compiled in Java 6 are now handled correctly.
- The optimization step now avoids a possible division by 0 and correctly processes local variables with indices larger than 255.
- The documentation and examples have been updated.
Whats New in 4.0 Beta Development Release:
- Added preverifier for Java 6 and Java Micro Edition, with new option -dontpreverify.
- Added new option -target to modify java version of processed class files.
- Made -keep options more orthogonal and flexible, with option modifiers allowshrinking, allowoptimization, and allowobfuscation.
- Added support for configuration by means of annotations.
- Improved shrinking of unused annotations.
- Added check on modification times of input and output, to avoid unnecessary processing, with new option -forceprocessing.
- Added new options -flattenpackagehierarchy and -repackageclasses (replacing -defaultpackage) to control obfuscation of packages names.
- Added new options -adaptresourcefilenames and -adaptresourcefilecontents, with file filters, to update resource files corresponding to obfuscated class names.
- Now respecting naming rule for nested class names (EnclosingClass$InnerClass) in obfuscation step, if InnerClasses attributes or EnclosingMethod attributes are being kept.
- Added new inter-procedural optimizations: method inlining and propagation of constant fields, constant arguments, and constant return values.
- Added optimized local variable allocation.
- Added over 250 new peephole optimizations.
- Improved making classes and class members public or protected.
- Now printing notes on suspiciously unkept classes in parameters of specified methods.
- Now printing notes for class names that dont seem to be fully qualified.
- Added support for uppercase filename extensions.
- Rewritten class file I/O code.
- Updated documentation and examples.
Download (MB)
Added: 2007-06-27 License: GPL (GNU General Public License) Price:
905 downloads
Revo Forum 1.8.0
Revo Forum aims to be one of the most powerful forum systems available. more>>
Revo Forum aims to be one of the most powerful forum systems available. Revo Forum aims to be both powerful and easy to install and use.
Revo is not a clone of any forum. It combines the features found in other forum systems into a unique package. Site creators can use or modify a predefined theme or create their own with the easy templating system.
Using a new theme is as easy as uploading a single archive and running the Web-based installer.
Enhancements:
- miscellaneous optimisations and fixes.
- [+] RSS 1.0 and 2.0 module
- [+] advertising module (supports ANY advertising program, including Google AdSense, Y! Ads, Clicksor and more).
- [+] e-mail obfuscation (anti spamming)
- [+] themes and files editor
- [+] user can choose to enable or disable some modules (invitations, e-mail digests).
- [+] URL rewrite (with mod_rewrite)
- [+] mathematical function generator
- [+] multi-page support
- [+] new downloadable module : Weathercast
- [+] meta tags optimisations
- [+] WYSIWYG editor integrated
- [+] better RSS feed generation
- [+] OPML feed generation
<<lessRevo is not a clone of any forum. It combines the features found in other forum systems into a unique package. Site creators can use or modify a predefined theme or create their own with the easy templating system.
Using a new theme is as easy as uploading a single archive and running the Web-based installer.
Enhancements:
- miscellaneous optimisations and fixes.
- [+] RSS 1.0 and 2.0 module
- [+] advertising module (supports ANY advertising program, including Google AdSense, Y! Ads, Clicksor and more).
- [+] e-mail obfuscation (anti spamming)
- [+] themes and files editor
- [+] user can choose to enable or disable some modules (invitations, e-mail digests).
- [+] URL rewrite (with mod_rewrite)
- [+] mathematical function generator
- [+] multi-page support
- [+] new downloadable module : Weathercast
- [+] meta tags optimisations
- [+] WYSIWYG editor integrated
- [+] better RSS feed generation
- [+] OPML feed generation
Download (1.6MB)
Added: 2006-02-28 License: GPL (GNU General Public License) Price:
1339 downloads
DSPAM 3.8.0
DSPAM is a server-side statistical anti-spam agent for Unix email servers. more>>
DSPAM is a server-side statistical anti-spam agent for Unix email servers.
DSPAM masquerades as the email servers local delivery agent and effectively filters spam using a combination of de-obfuscation techniques, specialized algorithms, and statistical analysis.
The result is an administratively maintenance-free, self-learning anti-spam tool. DSPAM has yielded real-world success rates beyond 99.9% accuracy with less than a 0.01% chance of false positives.
The DSPAM project attempts to set itself apart from other filters by focusing on the following areas:
- DSPAM has a strong drive for research. Many new algorithms and approaches to fighting spam have come out of the DSPAM project. Some of the approaches deployed in DSPAM include Concept Identification, Neural Networking, Message Inoculation , advanced de-obfuscation techniques, and a new noise reduction algorithm called Bayesian Noise Reduction. Were always looking for new approaches to improving the accuracy of DSPAM.
- A strong focus on large-scale implementation support. The largest implementation of DSPAM weve heard about to-date involves 350,000 users, with the next largest being around 125,000, then 100,000. DSPAM has been designed to run with a very short execution time (between 0.01s - 0.03s real time for classification and between 0.03s - 0.10s real time for training, on average hardware), and has been equipped with a storage driver API allowing several different storage mechanisms to be used. Depending on disk space constraints, accuracy can be traded off for additional disk space or vice-versa.
- Usability. DSPAM was designed with "grandma" in mind. Users can retrain by either forwarding any spam they receive to a spam address, or (in v3.4.2+) use the history function of the included web interface to quickly mark spam and deliver false positives. End-users dont need to know any commandline utilities or other complexities plaguing some other such tools. Functions such as whitelisting and keyword inventory are automatic (based on statistical functions) and therefore require no user intervention.
Main features:
- System-wide administratively-maintenance free filtering. The DSPAM agent can integrate into just about any network and can even be implemented as an SMTP gateway.
- A simple-to-use learning mechanism. DSPAM allows users to simply forward their spam to their "spam email address" for learning, eliminating any learning curve necessary to make it usable by your customers. The information used in every calculation is temporarily stored on the server, enabling DSPAM to relearn the original message by looking for a small signature in the forwarded spam. As a result, users dont have to be trained to bounce messages around, and administrators dont have to worry about incompatible mail clients.
- Support for a variety of storage implementations. DSPAMs storage driver API allows the administrator to choose how they wish to store data. Currently supported drivers include SQLite, Berkeley DB3, Berkeley DB4, MySQL, PostgreSQL and Oracle.
- Written in C for speed, performance, and scalability. Unlike Python or PERL solutions DSPAM is written in a low-level compiled language, meaning there is very little overhead. DSPAM runs fast, efficient, and doesnt depend on any third-party language interpreters.
- MTA support. DSPAM works great with Sendmail, Postfix, Qmail, Courier, and Exim, and should work well with many other MTAs. In the event you happen to run something like Exchange, DSPAM can be implemented on your network as an SMTP gateway. Just point your MX at it and configure it to relay to your mail server.
Enhancements:
- This is an unofficial release, but significant.
- Several significant bugfixes have been made.
- Bill Yerazunis Orthogonal Sparse Bigram (OSB) tokenizer algorithm has been added.
- The code has been significantly optimized to run much faster and with fewer resources.
<<lessDSPAM masquerades as the email servers local delivery agent and effectively filters spam using a combination of de-obfuscation techniques, specialized algorithms, and statistical analysis.
The result is an administratively maintenance-free, self-learning anti-spam tool. DSPAM has yielded real-world success rates beyond 99.9% accuracy with less than a 0.01% chance of false positives.
The DSPAM project attempts to set itself apart from other filters by focusing on the following areas:
- DSPAM has a strong drive for research. Many new algorithms and approaches to fighting spam have come out of the DSPAM project. Some of the approaches deployed in DSPAM include Concept Identification, Neural Networking, Message Inoculation , advanced de-obfuscation techniques, and a new noise reduction algorithm called Bayesian Noise Reduction. Were always looking for new approaches to improving the accuracy of DSPAM.
- A strong focus on large-scale implementation support. The largest implementation of DSPAM weve heard about to-date involves 350,000 users, with the next largest being around 125,000, then 100,000. DSPAM has been designed to run with a very short execution time (between 0.01s - 0.03s real time for classification and between 0.03s - 0.10s real time for training, on average hardware), and has been equipped with a storage driver API allowing several different storage mechanisms to be used. Depending on disk space constraints, accuracy can be traded off for additional disk space or vice-versa.
- Usability. DSPAM was designed with "grandma" in mind. Users can retrain by either forwarding any spam they receive to a spam address, or (in v3.4.2+) use the history function of the included web interface to quickly mark spam and deliver false positives. End-users dont need to know any commandline utilities or other complexities plaguing some other such tools. Functions such as whitelisting and keyword inventory are automatic (based on statistical functions) and therefore require no user intervention.
Main features:
- System-wide administratively-maintenance free filtering. The DSPAM agent can integrate into just about any network and can even be implemented as an SMTP gateway.
- A simple-to-use learning mechanism. DSPAM allows users to simply forward their spam to their "spam email address" for learning, eliminating any learning curve necessary to make it usable by your customers. The information used in every calculation is temporarily stored on the server, enabling DSPAM to relearn the original message by looking for a small signature in the forwarded spam. As a result, users dont have to be trained to bounce messages around, and administrators dont have to worry about incompatible mail clients.
- Support for a variety of storage implementations. DSPAMs storage driver API allows the administrator to choose how they wish to store data. Currently supported drivers include SQLite, Berkeley DB3, Berkeley DB4, MySQL, PostgreSQL and Oracle.
- Written in C for speed, performance, and scalability. Unlike Python or PERL solutions DSPAM is written in a low-level compiled language, meaning there is very little overhead. DSPAM runs fast, efficient, and doesnt depend on any third-party language interpreters.
- MTA support. DSPAM works great with Sendmail, Postfix, Qmail, Courier, and Exim, and should work well with many other MTAs. In the event you happen to run something like Exchange, DSPAM can be implemented on your network as an SMTP gateway. Just point your MX at it and configure it to relay to your mail server.
Enhancements:
- This is an unofficial release, but significant.
- Several significant bugfixes have been made.
- Bill Yerazunis Orthogonal Sparse Bigram (OSB) tokenizer algorithm has been added.
- The code has been significantly optimized to run much faster and with fewer resources.
Download (0.70MB)
Added: 2007-03-18 License: GPL (GNU General Public License) Price:
950 downloads
Retchmail 1.1
RetchMail is the worlds most stupidly fast POP3 retriever. more>>
Eric S. Raymonds Fetchmail is a full-featured, robust, well-documented remote-mail retrieval and forwarding utility intended to be used over on-demand TCP/IP links (such as SLIP or PPP connections).
Retchmail project supports every remote-mail protocol now in use on the Internet: POP2, POP3, RPOP, APOP, KPOP, all flavors of IMAP, ETRN, and ODMR. It can even support IPv6? and IPSEC.
RetchMail is the worlds most stupidly fast POP3 retriever.
It is almost completely unlike fetchmail: RetchMail lacks features, isnt particularly robust (although it wont delete a message until sendmail says it was delivered okay), has nearly no documentation, and is actually fast.
Thanks to PatrickPattersons WvSSLStream?, RetchMail also supports POP3-SSL, which is much more secure than the RPOP, APOP, KPOP and other password obfuscation routines currently en vogue to hide your password. SSL has the nice feature that not only is your password secure going across the wire, but so is the rest of your mail.
Enhancements:
- Updated to compile and run with WvStreams 4.4.
- Now works properly with GMails pop support.
- Documentation updates.
<<lessRetchmail project supports every remote-mail protocol now in use on the Internet: POP2, POP3, RPOP, APOP, KPOP, all flavors of IMAP, ETRN, and ODMR. It can even support IPv6? and IPSEC.
RetchMail is the worlds most stupidly fast POP3 retriever.
It is almost completely unlike fetchmail: RetchMail lacks features, isnt particularly robust (although it wont delete a message until sendmail says it was delivered okay), has nearly no documentation, and is actually fast.
Thanks to PatrickPattersons WvSSLStream?, RetchMail also supports POP3-SSL, which is much more secure than the RPOP, APOP, KPOP and other password obfuscation routines currently en vogue to hide your password. SSL has the nice feature that not only is your password secure going across the wire, but so is the rest of your mail.
Enhancements:
- Updated to compile and run with WvStreams 4.4.
- Now works properly with GMails pop support.
- Documentation updates.
Download (0.049MB)
Added: 2007-08-01 License: LGPL (GNU Lesser General Public License) Price:
817 downloads
fl0p 0.0.2 Beta
fl0p provides a passive OS fingerprinting tool. more>>
fl0p provides a passive OS fingerprinting tool.
fl0p is a passive L7 flow fingerprinter that examines TCP/UDP/ICMP packet sequences, can peek into cryptographic tunnels, can tell human beings and robots apart, and performs a couple of other infosec-related tricks.
This approach differs from the techniques used by most other passive
sniffers and mappers, and is advantageous in several interesting ways:
- General flow behavior remains largely unchanged regardless of whether
cryptographic tunnels or other obfuscation techniques are used. As
such, backdoors or firewall evasion techniques that for example
use SSL on port 443, can be told apart from browser traffic, and
further investigated.
- General insight into legitimate encrypted sessions can be gained; for
example, it is possible to remotely tell successful and failed SSH
authentication attempts apart, and react accordingly.
- Human actions can be told apart from automated efforts: it is possible
to ignore SMTP client programs, but single out humans manually
interacting with the server on port 25; similarly, automated SSH
login attempts can be told apart from human actions.
Enhancements:
- Chained signature support added.
- SMTP signatures
<<lessfl0p is a passive L7 flow fingerprinter that examines TCP/UDP/ICMP packet sequences, can peek into cryptographic tunnels, can tell human beings and robots apart, and performs a couple of other infosec-related tricks.
This approach differs from the techniques used by most other passive
sniffers and mappers, and is advantageous in several interesting ways:
- General flow behavior remains largely unchanged regardless of whether
cryptographic tunnels or other obfuscation techniques are used. As
such, backdoors or firewall evasion techniques that for example
use SSL on port 443, can be told apart from browser traffic, and
further investigated.
- General insight into legitimate encrypted sessions can be gained; for
example, it is possible to remotely tell successful and failed SSH
authentication attempts apart, and react accordingly.
- Human actions can be told apart from automated efforts: it is possible
to ignore SMTP client programs, but single out humans manually
interacting with the server on port 25; similarly, automated SSH
login attempts can be told apart from human actions.
Enhancements:
- Chained signature support added.
- SMTP signatures
Download (0.030MB)
Added: 2007-02-28 License: LGPL (GNU Lesser General Public License) Price:
968 downloads
Other version of fl0p
License:GPL (GNU General Public License)
Java Binary Enhancement Tool 3 R1
Java Binary Enhancement Tool is a Java assembler, dissassembler, and binary editor. more>>
The Java Binary Enhancement Tool (JBET) is a general Java program analysis and manipulation tool. Existing class files can be disassembled, reassembled, or edited programmatically through the JBET API. JBET can also be used to create new Java class files from scratch. JBET uses a convenient internal representation of all the contents of Java binary (.class) files, allowing the user to edit the classes easily, in a structured manner.
JBET was developed as part of the DARPA Self-Protecting Mobile Agents project under the OASIS and Active Networks programs (contract number N66001-00-C-8602) in order to study automated software obfuscation.
The Java language was chosen for this project because of the (relative) ease of constructing binary editing tools provided by the large amount of type information present in the class files. Our two reports, the Obfuscation Techniques Evaluation Report, and the Obfuscation Report, are available from the download area. The obfuscation tool developed is not part of this release.
JBET was also used in the DARPA/AFRL Survivable Server project (contract number F30602-00-C-0183) to add additional security checks to the Java Standard Library. (The Java SecurityManager API does not support many desirable security checks, such as continued authorization of file accesses after opening.)
JBET was used to replace the native method references in the Java standard library with stubs that call a pluggable security policy. This tool, called Jpolicy, is also available for download at this website. Jpolicy is very incomplete at this time, but may be interesting to those working in Java security or changing the standard library themselves.
The internal representation of Java class files used by JBET is intented to make it easy for programmers to write Java binary code transforms. Each element of Java class files has a corresponding internal data structure: ClassInfo for entire classes, MethodInfo for methods, FieldInfo for fields, Snippit for code blocks, and Instruction for individual instructions. Snippit and Instruction understand Java opcode syntax and semantics, allowing automated creation of valid Java programs. A Java-compatible class verifier is also included.
Some code transforms are difficult to program directly by manipulating Java instructions. For those transforms, a directed acyclic graph (DAG) representation of code is available. In the DAG representation, each basic block has a corresponding DAG, with a set of input and output nodes. Edges in the graph connect "producer" nodes (such as constants, or the result of calculations) to "user" nodes (such as method calls or other calculations). Methods are divided into basic blocks and control flow is stored at the basic block level (possible because Java has only fixed jump targets)
JBET requires a Java 1.4 virtual machine to run, although it can operate on class files from earlier Java versions. The packaging and build environment supplied supports Linux and Windows with Cygwin; however, the build process is simple and could be performed manually on other platforms. Perl is required for regression testing.
Jpolicy requires a Java 1.4 virtual machine to build, either Linux or Windows NT/XP with Cygwin. gcc is required for building on Windows (supplied with Cygwin). The runtime system can be either Java 1.3 or 1.4 (with Suns JVM only), running on Linux or Windows NT/XP. Windows 9x and Windows 2000 may work as well, but have not been tested.
Installation
1. Install jdk 1.4.1.
2. Set CLASSPATH to jdk1.4.1/jre/lib/rt.jar
3. cd src; make
4. If that didnt work, examine the makefile. java or javac may not be in the path.
5. To build a jar file that can be used with "java -jar jbet.jar", run "make jar".
6. If you have perl installed, run the tests with "make test".
Optionally, run "make regen; make test".
Make a symbolic link from jbet3/bin/jbet to somewhere in your path.
Usage
JBET uses the JNI format for class names, and JNI type and method descriptors. For a summary of this syntax, use jbet help syntax. Suns JVM specification may also be helpful.
To look at a class disassembly, use jbet print. Try disassembling a class you have source for, and was built with debug info (-g): jbet -P < classpath > print < classname >. Suns JVM specification has an instruction reference.
<<lessJBET was developed as part of the DARPA Self-Protecting Mobile Agents project under the OASIS and Active Networks programs (contract number N66001-00-C-8602) in order to study automated software obfuscation.
The Java language was chosen for this project because of the (relative) ease of constructing binary editing tools provided by the large amount of type information present in the class files. Our two reports, the Obfuscation Techniques Evaluation Report, and the Obfuscation Report, are available from the download area. The obfuscation tool developed is not part of this release.
JBET was also used in the DARPA/AFRL Survivable Server project (contract number F30602-00-C-0183) to add additional security checks to the Java Standard Library. (The Java SecurityManager API does not support many desirable security checks, such as continued authorization of file accesses after opening.)
JBET was used to replace the native method references in the Java standard library with stubs that call a pluggable security policy. This tool, called Jpolicy, is also available for download at this website. Jpolicy is very incomplete at this time, but may be interesting to those working in Java security or changing the standard library themselves.
The internal representation of Java class files used by JBET is intented to make it easy for programmers to write Java binary code transforms. Each element of Java class files has a corresponding internal data structure: ClassInfo for entire classes, MethodInfo for methods, FieldInfo for fields, Snippit for code blocks, and Instruction for individual instructions. Snippit and Instruction understand Java opcode syntax and semantics, allowing automated creation of valid Java programs. A Java-compatible class verifier is also included.
Some code transforms are difficult to program directly by manipulating Java instructions. For those transforms, a directed acyclic graph (DAG) representation of code is available. In the DAG representation, each basic block has a corresponding DAG, with a set of input and output nodes. Edges in the graph connect "producer" nodes (such as constants, or the result of calculations) to "user" nodes (such as method calls or other calculations). Methods are divided into basic blocks and control flow is stored at the basic block level (possible because Java has only fixed jump targets)
JBET requires a Java 1.4 virtual machine to run, although it can operate on class files from earlier Java versions. The packaging and build environment supplied supports Linux and Windows with Cygwin; however, the build process is simple and could be performed manually on other platforms. Perl is required for regression testing.
Jpolicy requires a Java 1.4 virtual machine to build, either Linux or Windows NT/XP with Cygwin. gcc is required for building on Windows (supplied with Cygwin). The runtime system can be either Java 1.3 or 1.4 (with Suns JVM only), running on Linux or Windows NT/XP. Windows 9x and Windows 2000 may work as well, but have not been tested.
Installation
1. Install jdk 1.4.1.
2. Set CLASSPATH to jdk1.4.1/jre/lib/rt.jar
3. cd src; make
4. If that didnt work, examine the makefile. java or javac may not be in the path.
5. To build a jar file that can be used with "java -jar jbet.jar", run "make jar".
6. If you have perl installed, run the tests with "make test".
Optionally, run "make regen; make test".
Make a symbolic link from jbet3/bin/jbet to somewhere in your path.
Usage
JBET uses the JNI format for class names, and JNI type and method descriptors. For a summary of this syntax, use jbet help syntax. Suns JVM specification may also be helpful.
To look at a class disassembly, use jbet print. Try disassembling a class you have source for, and was built with debug info (-g): jbet -P < classpath > print < classname >. Suns JVM specification has an instruction reference.
Download (0.19MB)
Added: 2005-03-07 License: BSD License Price:
1697 downloads
Rkdet 0.54
This program is a daemon intended to catch someone installing a rootkit or running a packet sniffer. more>>
This program is a daemon intended to catch someone installing a rootkit or running a packet sniffer. It is designed to run continually with a small footprint under an innocuous name. When triggered, it sends email, appends to a logfile, and disables networking or halts the system. it is designed to install with the minimum of disruption to a normal multiuser system, and should not require rebuilding with each kernel change or system upgrade.http://vancouver-webpages.com/rkdet/rkdet-0.54-2.i386.rpm
The program regularly verifies the checksum of a small number of system files that are typically modified by a rootkit. This list of files is compiled into the program. The file list, together with the system commands and messages, are obfuscated in the compiled code to prevent someone from figuring out what the program is for by eyeballing the binary.
The obfuscation algorithm is simple, but is compiled into the program and does not depend on external programs or other libraries.
The program takes a single optional numeric argument. If odd (bit 0 set), the interface "eth0" is checked for promiscuous operation (packet sniffing). If bit 1 is clear, the program will delete the default route on the network when triggered. Of bit 1 is set, the program will disable the eth0 interface. Systems with multiple interfaces may require an alternate interface specification in "xstrings.txt", or modification of the program to disable multiple interfaces. If bit 2 is set, the program will only log events and not disconnect the network.
The command may be modified to "init 1" or "shutdown -h now" if desired, or to run a script such as "panic.sh" (included).
Enhancements:
- Added configure script.
- Do not trap if checksum program fails (due to load, etc.)
<<lessThe program regularly verifies the checksum of a small number of system files that are typically modified by a rootkit. This list of files is compiled into the program. The file list, together with the system commands and messages, are obfuscated in the compiled code to prevent someone from figuring out what the program is for by eyeballing the binary.
The obfuscation algorithm is simple, but is compiled into the program and does not depend on external programs or other libraries.
The program takes a single optional numeric argument. If odd (bit 0 set), the interface "eth0" is checked for promiscuous operation (packet sniffing). If bit 1 is clear, the program will delete the default route on the network when triggered. Of bit 1 is set, the program will disable the eth0 interface. Systems with multiple interfaces may require an alternate interface specification in "xstrings.txt", or modification of the program to disable multiple interfaces. If bit 2 is set, the program will only log events and not disconnect the network.
The command may be modified to "init 1" or "shutdown -h now" if desired, or to run a script such as "panic.sh" (included).
Enhancements:
- Added configure script.
- Do not trap if checksum program fails (due to load, etc.)
Download (0.057MB)
Added: 2006-07-11 License: GPL (GNU General Public License) Price:
1201 downloads
xMule 1.13.7
xMule is a client for the eDonkey peer-to-peer file sharing network. more>> xMule is a client for the eDonkey peer-to-peer file sharing network, intended to bring it to virtually all the major Unix platforms, with a particular emphasis on Linux. xMule is a fork of the LMule client, which itself was originally a Linux-only port of the eMule client.
This project started as an eMule v0.26d port for Linux (see lMule) and thus xMule is an eDonkey network client. Unlike eMule, which uses MFC (Microsoft Foundation Classes), xMule uses wxWidgets for the Graphical User Interface and various parts of its core. wxWidgets allows software to compile and run on many platforms. xMule is in the process of supporting more platforms, such as Windows and Macintosh, by making more use of wxWidgets.
During xMules development, eMule also managed to update itself with many new features, such as: the Kad network, AICH, large files support, protocol obfuscation, and more. xMule slowly adapts these new features, as the changes are big and porting correctly takes time.<<less
Download (1.92MB)
Added: 2009-04-19 License: Freeware Price: Free
198 downloads
ZZIPlib 0.13.49
ZZIPlib library is intentionally lightweight, it offers the ability to easily extract data from files archived in a single zip. more>>
ZZIPlib library is intentionally lightweight, it offers the ability to easily extract data from files archived in a single zip file. Applications can bundle files into a single zip archive and access them. The implementation is based only on the (free) subset of compression with the zlib algorithm which is actually used by the zip/unzip tools.
The library allows reading zip archives in a number of ways,
archive mode:
reading the zip directory and extracting files from it. This is the traditional mode as seen with unzip-utilities. Some extra unzip-utiles for transparent/magic mode are shipped as well.
replacement mode:
Use ZZIP_FILE / ZZIP_DIR pointers provided by zziplib and put them to work with routines originally developped to work with real directories and file handles. The API calls do follow traditional synopsis from posix/stdio.
transparent mode:
Use replacement handles and allow the open()-calls to automatically detect when a file is contained in a zip archive or when it is a real file in the file system. A filepath can be partly in a real filesystem and partly within the zip archive when one is seen.
ext magic
Use the same filepath to access either a zipped or real file - it looks for a real file and there is none then every subdirectory of the path is checked, a ".zip" extension appended, and the zipped file transparently opened. This can speed up dat-file development dramatically.
io/xor magic
The access to the filesystem can be hooked up - examples are given for xor obfuscation which is great for game artwork and AI data. A small intro for SDLrwops usage is given as well.
<<lessThe library allows reading zip archives in a number of ways,
archive mode:
reading the zip directory and extracting files from it. This is the traditional mode as seen with unzip-utilities. Some extra unzip-utiles for transparent/magic mode are shipped as well.
replacement mode:
Use ZZIP_FILE / ZZIP_DIR pointers provided by zziplib and put them to work with routines originally developped to work with real directories and file handles. The API calls do follow traditional synopsis from posix/stdio.
transparent mode:
Use replacement handles and allow the open()-calls to automatically detect when a file is contained in a zip archive or when it is a real file in the file system. A filepath can be partly in a real filesystem and partly within the zip archive when one is seen.
ext magic
Use the same filepath to access either a zipped or real file - it looks for a real file and there is none then every subdirectory of the path is checked, a ".zip" extension appended, and the zipped file transparently opened. This can speed up dat-file development dramatically.
io/xor magic
The access to the filesystem can be hooked up - examples are given for xor obfuscation which is great for game artwork and AI data. A small intro for SDLrwops usage is given as well.
Download (0.64MB)
Added: 2007-03-22 License: LGPL (GNU Lesser General Public License) Price:
950 downloads
Secleted [ 0 ] software to compare
- Page: 1 of 1
- 1
Copyright Notice:
Software piracy is theft, Using crack, password, serial numbers, registration codes, key generators is illegal and prevent future software development. The above obfuscations search only lists software in full, demo and trial versions for free download. Download links are directly from our mirror sites or publisher sites, torrent files or links from rapidshare.com, yousendit.com or megaupload.com are not allowed