binbot binary newsreader 1.1b3
Sponsored Links
Sponsored Links
Secleted [ 0 ] software to compare
Results 1 - 15 of about 1348
nn Newsreader 6.7.3
nn Newsreader is a curses-based USENET news reader. more>>
nn Newsreader project is a curses-based USENET news reader. The motto of nn is its expanded name, "No News is good news, but nn is better". The nn newsreader is designed to let you minimize the amount of time you spend reading news (or, more realistically, to allow you to follow even more newsgroups).
Nn allows you to quickly select articles of interest and skip the rest. It also supports efficient article killing and selection of articles by author and subject.
Main features:
- Menu-based article selection prior to reading the articles, with the articles sorted according to subject and posting time. This significantly reduces the time spent on news reading. No keystrokes are wasted on articles you dont want to read, and only the articles selected on the menu will be read.
- Uses standard .newsrc, and can leave individual articles unread.
- Digests are automatically split and presented as ordinary articles! You can transparently save and respond to individual sub-articles.
- Full folder support: read, save, and delete individual articles.
- Online help and manual.
- Built-in unshar and patch functions.
- Built-in uudecode function which will automatically unpack, concatenate, and decode multi-part postings.
- Easy remapping of keys with advanced macro definition features.
- Automatic kill & selection of articles based on subject or author.
- User specified presentation sequence of news groups based on the news group hierarchy.
- Whole classes of news groups can easily be unsubscribed permanently, e.g., talk.all and all.politics
- Related groups can be merged and presented as a single group, e.g. comp.emacs and all gnu.emacs groups.
Enhancements:
- The name length displayed is now based upon the width of the screen.
- The header check macro is now case insensitive for both news and folders.
- GPG support has been added , which comes with a new run-time variable sign-type, and a compile-time variable SIGN_TYPE to set the default to either PGP or GPG.
- nn will now look in /etc/resolv.conf for a domain if DOMAIN isnt defined and hostname isnt a FQDN.
<<lessNn allows you to quickly select articles of interest and skip the rest. It also supports efficient article killing and selection of articles by author and subject.
Main features:
- Menu-based article selection prior to reading the articles, with the articles sorted according to subject and posting time. This significantly reduces the time spent on news reading. No keystrokes are wasted on articles you dont want to read, and only the articles selected on the menu will be read.
- Uses standard .newsrc, and can leave individual articles unread.
- Digests are automatically split and presented as ordinary articles! You can transparently save and respond to individual sub-articles.
- Full folder support: read, save, and delete individual articles.
- Online help and manual.
- Built-in unshar and patch functions.
- Built-in uudecode function which will automatically unpack, concatenate, and decode multi-part postings.
- Easy remapping of keys with advanced macro definition features.
- Automatic kill & selection of articles based on subject or author.
- User specified presentation sequence of news groups based on the news group hierarchy.
- Whole classes of news groups can easily be unsubscribed permanently, e.g., talk.all and all.politics
- Related groups can be merged and presented as a single group, e.g. comp.emacs and all gnu.emacs groups.
Enhancements:
- The name length displayed is now based upon the width of the screen.
- The header check macro is now case insensitive for both news and folders.
- GPG support has been added , which comes with a new run-time variable sign-type, and a compile-time variable SIGN_TYPE to set the default to either PGP or GPG.
- nn will now look in /etc/resolv.conf for a domain if DOMAIN isnt defined and hostname isnt a FQDN.
Download (0.67MB)
Added: 2006-03-20 License: Freely Distributable Price:
1318 downloads
cg binary downloader 0.4
cg is a semi-automatic newsgroup binary downloader. more>>
cg is a semi-automatic newsgroup binary downloader. It assembles parts based on subject headers and then offers them in an editor for the user to choose which files he really wants.
cg is a automatic binary newsgroups downloader. It assembles parts based on subject headers and then offers them in an editor for the user to choose which files he really wants.
It supports decoding data in the following formats:
uuencode (both single- and multi-posting binaries)
MIME (multipart/mixed, message/partial; base64, quoted printable, x-uuencode) yEnc
Start it with cg somenewsgroup; `cg -h offers a short help, should you need it.
Enhancements:
- yenc support
- rename broken files to filename.broken
- CTRL-C/SIGINT handling: write rc file and quit after completely decoding current file.
- segfault fix (for postings of the type [422/7])
- ignore some uninteresting comment lines (no .desc file)
- dont assume last line before end is not allowed to contain data in uu data
<<lesscg is a automatic binary newsgroups downloader. It assembles parts based on subject headers and then offers them in an editor for the user to choose which files he really wants.
It supports decoding data in the following formats:
uuencode (both single- and multi-posting binaries)
MIME (multipart/mixed, message/partial; base64, quoted printable, x-uuencode) yEnc
Start it with cg somenewsgroup; `cg -h offers a short help, should you need it.
Enhancements:
- yenc support
- rename broken files to filename.broken
- CTRL-C/SIGINT handling: write rc file and quit after completely decoding current file.
- segfault fix (for postings of the type [422/7])
- ignore some uninteresting comment lines (no .desc file)
- dont assume last line before end is not allowed to contain data in uu data
Download (0.16MB)
Added: 2006-06-20 License: GPL (GNU General Public License) Price:
1222 downloads
XPN - X Python Newsreader 0.7.0
XPN is a multiplatform newsreader with full Unicode support. more>>
XPN - X Python Newsreader project is a graphical newsreader written in Python with the GTK+ toolkit. I started writing it because I was learning Python language and working on a real project keeps your attention high.
XPN is distributed with the GPL licence, youll found a copy of the licence inside the XPN archive.
An interesting characteristic of XPN is the complete portability. I use it a lot on Linux and Windows, however XPN should work wherever Python and GTK+2 work.
With XPN you can read/write articles on the Usenet with a good MIME support (better than some well known newsreaders).
XPN can operate with all the most diffuse charset starting from US-ASCII to UTF-8. When you edit an article XPN automatically chooses the best charset, however is always possible to override this choice.
There also other useful features like scoring, filtered views, random tag-lines, external editor support, one-key navigation, ROT13, spoiler char ...
Main features:
On-Line/Off-Line Mode
- XPN has been for a long time an on-line only newsreader, now its changed. Starting from 0.2.5 I added the read articles storing, and starting from 0.4.0 you are able to download the whole bodies with the headers, or to mark for retrieval some articles and then download their bodies.
- Note that the download is a bit slow because I havent yet optimized this code, so the better way to use XPN is still with a local news-server, or if you have a DSL connection, directly online.
MIME Standards
- With XPN you can read articles coded with quoted-printable, 7bit or 8bit. XPN is also full UTF-8 compliant, you can read and send aritcles with the UTF-8 charset.
- Outgoing articles are coded with the best charset, however you can always override this choice.
Scoring
- Its possible to create scoring rules (like the Hamsters ones but simpler) in order to assign a score to articles. This rule can act on this fields: From, Subject, Date, Message-ID, References, Age, Xpost, Xref, Bytes and Lines
- You may also create action rules. These rules trigger an action to be applied on to the article. Possible actions are !kill (delete the article), !markread, !watch, !ignore and so on.
- Action rules act on the same fields listed above plus a new field named Score, in fact action rules are always applied after scoring rules.
Multiple Layouts
- Ther three different possible layouts for the main window. Probably in the future I will add more of them. You can also zoom one of the tree panes.
Colors
- Articles are shown with different colors for text, quoted text and signs. You can change this colors.
Random TagLines
- Its possible to automatically add a random tagline in your articles. TagLines are picked from a textfile that you can customize.
X-Face::
- Starting from 0.4.5 XPN support decoding of the X-Face and Face headers. Thanks to Andrew Taylor (author of a Javascript implementation of uncompface) for helping me in translating its module.
Internationalization
- Starting from 0.4.5 release XPN supports multiple languages. I use gettext (thank to Guillame Bedot) in order to mark and extract text string from the code
- If you want to translate XPN in your language just get the original strings file (xpn.pot), youll find it inside lang directory. Translate it with a translation software like GTranslator, KBabel or POEdit and send me the result. Please use UTF-8 as you charset.
<<lessXPN is distributed with the GPL licence, youll found a copy of the licence inside the XPN archive.
An interesting characteristic of XPN is the complete portability. I use it a lot on Linux and Windows, however XPN should work wherever Python and GTK+2 work.
With XPN you can read/write articles on the Usenet with a good MIME support (better than some well known newsreaders).
XPN can operate with all the most diffuse charset starting from US-ASCII to UTF-8. When you edit an article XPN automatically chooses the best charset, however is always possible to override this choice.
There also other useful features like scoring, filtered views, random tag-lines, external editor support, one-key navigation, ROT13, spoiler char ...
Main features:
On-Line/Off-Line Mode
- XPN has been for a long time an on-line only newsreader, now its changed. Starting from 0.2.5 I added the read articles storing, and starting from 0.4.0 you are able to download the whole bodies with the headers, or to mark for retrieval some articles and then download their bodies.
- Note that the download is a bit slow because I havent yet optimized this code, so the better way to use XPN is still with a local news-server, or if you have a DSL connection, directly online.
MIME Standards
- With XPN you can read articles coded with quoted-printable, 7bit or 8bit. XPN is also full UTF-8 compliant, you can read and send aritcles with the UTF-8 charset.
- Outgoing articles are coded with the best charset, however you can always override this choice.
Scoring
- Its possible to create scoring rules (like the Hamsters ones but simpler) in order to assign a score to articles. This rule can act on this fields: From, Subject, Date, Message-ID, References, Age, Xpost, Xref, Bytes and Lines
- You may also create action rules. These rules trigger an action to be applied on to the article. Possible actions are !kill (delete the article), !markread, !watch, !ignore and so on.
- Action rules act on the same fields listed above plus a new field named Score, in fact action rules are always applied after scoring rules.
Multiple Layouts
- Ther three different possible layouts for the main window. Probably in the future I will add more of them. You can also zoom one of the tree panes.
Colors
- Articles are shown with different colors for text, quoted text and signs. You can change this colors.
Random TagLines
- Its possible to automatically add a random tagline in your articles. TagLines are picked from a textfile that you can customize.
X-Face::
- Starting from 0.4.5 XPN support decoding of the X-Face and Face headers. Thanks to Andrew Taylor (author of a Javascript implementation of uncompface) for helping me in translating its module.
Internationalization
- Starting from 0.4.5 release XPN supports multiple languages. I use gettext (thank to Guillame Bedot) in order to mark and extract text string from the code
- If you want to translate XPN in your language just get the original strings file (xpn.pot), youll find it inside lang directory. Translate it with a translation software like GTranslator, KBabel or POEdit and send me the result. Please use UTF-8 as you charset.
Download (0.26MB)
Added: 2007-01-12 License: GPL (GNU General Public License) Price:
1016 downloads
Tree::Binary::Search 0.07
Tree::Binary::Search is a binary search tree for Perl. more>>
Tree::Binary::Search is a binary search tree for Perl.
SYNOPSIS
use Tree::Binary::Search;
my $btree = Tree::Binary::Search->new();
$btree->useNumericComparison();
$btree->insert(5 => "Five");
$btree->insert(2 => "Two");
$btree->insert(1 => "One");
$btree->insert(3 => "Three");
$btree->insert(4 => "Four");
$btree->insert(9 => "Nine");
$btree->insert(8 => "Eight");
$btree->insert(6 => "Six");
$btree->insert(7 => "Seven");
# this creates the following tree:
#
# +-------(5)----------+
# | |
# +-(2)-+ +-(9)
# | | |
# (1) (3)-+ +----(8)
# | |
# (4) (6)-+
# |
# (7)
#
$btree->exists(7); # return true
$btree->update(7 => "Seven (updated)");
$btree->select(9); # return Nine
$btree->min_key(); # returns 1
$btree->min(); # returns One
$btree->max_key(); # return 9
$btree->max(); # return Nine
$btree->delete(5);
# this results in the following tree:
#
# +-------(6)-------+
# | |
# +-(2)-+ +-(9)
# | | |
# (1) (3)-+ +-(8)
# | |
# (4) (7)
#
This module implements a binary search tree, which is a specialized usage of a binary tree. The basic principle is that all elements to the left are less than the root, all elements to the right are greater than the root. This reduces the search time for elements in the tree, by halving the number of nodes that need to be searched each time a node is examined.
Binary search trees are a very well understood data-structure and there is a wealth of information on the web about them.
Trees are a naturally recursive data-structure, and therefore, tend to lend themselves well to recursive traversal functions. I however, have chosen to implement the tree traversal in this module without using recursive subroutines. This is partially a performance descision, even though perl can handle theoreticaly unlimited recursion, subroutine calls to have some overhead. My algorithm is still recursive, I have just chosen to keep it within a single subroutine.
<<lessSYNOPSIS
use Tree::Binary::Search;
my $btree = Tree::Binary::Search->new();
$btree->useNumericComparison();
$btree->insert(5 => "Five");
$btree->insert(2 => "Two");
$btree->insert(1 => "One");
$btree->insert(3 => "Three");
$btree->insert(4 => "Four");
$btree->insert(9 => "Nine");
$btree->insert(8 => "Eight");
$btree->insert(6 => "Six");
$btree->insert(7 => "Seven");
# this creates the following tree:
#
# +-------(5)----------+
# | |
# +-(2)-+ +-(9)
# | | |
# (1) (3)-+ +----(8)
# | |
# (4) (6)-+
# |
# (7)
#
$btree->exists(7); # return true
$btree->update(7 => "Seven (updated)");
$btree->select(9); # return Nine
$btree->min_key(); # returns 1
$btree->min(); # returns One
$btree->max_key(); # return 9
$btree->max(); # return Nine
$btree->delete(5);
# this results in the following tree:
#
# +-------(6)-------+
# | |
# +-(2)-+ +-(9)
# | | |
# (1) (3)-+ +-(8)
# | |
# (4) (7)
#
This module implements a binary search tree, which is a specialized usage of a binary tree. The basic principle is that all elements to the left are less than the root, all elements to the right are greater than the root. This reduces the search time for elements in the tree, by halving the number of nodes that need to be searched each time a node is examined.
Binary search trees are a very well understood data-structure and there is a wealth of information on the web about them.
Trees are a naturally recursive data-structure, and therefore, tend to lend themselves well to recursive traversal functions. I however, have chosen to implement the tree traversal in this module without using recursive subroutines. This is partially a performance descision, even though perl can handle theoreticaly unlimited recursion, subroutine calls to have some overhead. My algorithm is still recursive, I have just chosen to keep it within a single subroutine.
Download (0.027MB)
Added: 2007-07-21 License: Perl Artistic License Price:
825 downloads
RSSOwl | RSS / RDF / Atom Newsreader 1.2.4
RSSOwl is a free RSS / RDF / Atom Newsreader written in Java using SWT as graphic library. RSS ("Really Simple Syndication" or "Rich Site Summary") is... more>> <<less
Download (5000KB)
Added: 2009-04-28 License: Freeware Price: Free
423 downloads
Other version of RSSOwl | RSS / RDF / Atom Newsreader
License:Free
Convert::BulkDecoder 1.03
Convert::BulkDecoder is a Perl module to extract (binary) data from mail and news messages. more>>
Convert::BulkDecoder is a Perl module to extract (binary) data from mail and news messages.
SYNOPSIS
use Convert::BulkDecoder;
my $cvt = new Convert::BulkDecoder::;
# Collect the articles into an array ref.
my $art = [];
# Decode.
my $res = $cvt->decode($art);
die("Failed!") unless $res eq "OK";
print "Extracted ", $cvt->{size}, " bytes to file ", $cvt->{file}, "n";
Convert::BulkDecoder can be used to decode binary contents as included in email and news articles. It supports UUdecoding, ydecoding and MIME attachments. The contents may be split over multiple articles (files), but must be supplied to the decode() function in one bulk.
For yencoded contents, it is possible to verify file consistency using length and checksum tests.
<<lessSYNOPSIS
use Convert::BulkDecoder;
my $cvt = new Convert::BulkDecoder::;
# Collect the articles into an array ref.
my $art = [];
# Decode.
my $res = $cvt->decode($art);
die("Failed!") unless $res eq "OK";
print "Extracted ", $cvt->{size}, " bytes to file ", $cvt->{file}, "n";
Convert::BulkDecoder can be used to decode binary contents as included in email and news articles. It supports UUdecoding, ydecoding and MIME attachments. The contents may be split over multiple articles (files), but must be supplied to the decode() function in one bulk.
For yencoded contents, it is possible to verify file consistency using length and checksum tests.
Download (0.017MB)
Added: 2006-08-22 License: Perl Artistic License Price:
1159 downloads
Getbinnews 1.0.9
Getbinnews is a newsreader developed in C using the GTK user interface. more>>
Getbinnews is a newsreader developed in C using the GTK user interface (for Linux, FreeBSD and OpenBSD OS) .
The aim of Getbinnews is to extract in some newsgroups a binary file (mp3, jpg, gif,mpg, asf, avi, divx...) splited in articles with mime, uuencode or yenc format.
Main features:
Connection support
- definition of name and port of news server
- definition of user and password to connect the news server
- times reconnection in some cases (timeout, connection error or connection reject)
- number of connections
- bandwidth throttle
Dialer
- connection and deconnection to internet
Filter
- filter by fields
- filter by size
- filter by size of articles
- filter if incomplete
- filter if part 1 is missing
- filter if more than n articles
Search newsgroups
- search newsgroups on server
- search/filter newsgroups by regex expression
- search by wildmat
Search for article
- selection of all articles of a file (right click)
- search for subject
- filter for subject
- number of articles to download.
- number of selected articles (right click)
Decode methods
- yenc support
- uuencode support
- base64 support
- mime support
Files
- definition of files directory
- definition of articles directory
- cleanup articles
- cleanup files
- behavior if files exist.
- behavior if not enough space
- dont delete articles.
Newsgroups
- download list of newsgroups
Group List
- Definition of newsgroups list to search articles.
- personnalisation of search for a particular newsgroups
Scheduler
- Schedule periodic search (daily, weekly, or monthly)
- Schedule non periodic search
- hang up internet connection at end of the search.
History
- Creation of an history file to stop download articles already download
hide button to stop search.
<<lessThe aim of Getbinnews is to extract in some newsgroups a binary file (mp3, jpg, gif,mpg, asf, avi, divx...) splited in articles with mime, uuencode or yenc format.
Main features:
Connection support
- definition of name and port of news server
- definition of user and password to connect the news server
- times reconnection in some cases (timeout, connection error or connection reject)
- number of connections
- bandwidth throttle
Dialer
- connection and deconnection to internet
Filter
- filter by fields
- filter by size
- filter by size of articles
- filter if incomplete
- filter if part 1 is missing
- filter if more than n articles
Search newsgroups
- search newsgroups on server
- search/filter newsgroups by regex expression
- search by wildmat
Search for article
- selection of all articles of a file (right click)
- search for subject
- filter for subject
- number of articles to download.
- number of selected articles (right click)
Decode methods
- yenc support
- uuencode support
- base64 support
- mime support
Files
- definition of files directory
- definition of articles directory
- cleanup articles
- cleanup files
- behavior if files exist.
- behavior if not enough space
- dont delete articles.
Newsgroups
- download list of newsgroups
Group List
- Definition of newsgroups list to search articles.
- personnalisation of search for a particular newsgroups
Scheduler
- Schedule periodic search (daily, weekly, or monthly)
- Schedule non periodic search
- hang up internet connection at end of the search.
History
- Creation of an history file to stop download articles already download
hide button to stop search.
Download (0.20MB)
Added: 2005-08-15 License: GPL (GNU General Public License) Price:
1532 downloads
Scriptol to binary Compiler
Scriptol to binary Compiler is a C++ native compiler. more>>
Scriptol to binary Compiler is a C++ native compiler.
Installation:
It is better to install Scriptol at root of a disk, for example:
c:scriptolc
Once the archive is extracted into the scriptolc directory, you have just to change to this directory to run the compiler.
To use the compiler at command line from any directory, you have to put the compiler into the path variable.
The setup script installs required file into sub-directories, or into the directory given as argument. Before to use the compiler, you have to read the licence, in the doc
directory: licence.html.
Usage:
Just type:
./solc mysource
Type "solc" only to list the options.
If your program is a multi-file project, the source given as parameter must be the main source file, the compiler will know dependencies from "include" statements and will build what is needed.
Exemples:
Type from the main scriptol directory:
./solc -bre demosfibo
Configuring:
By editing the solc.ini file, you may change the second pass compiler (you may have to rebuild the libsol library for this compiler), change the options of the compiler or add header files to include.
To add header files, just add "header=someheader.hpp" lines into the config file.
A xxx.cfg file may be written for each project main source beeing xxx, and if present, it overloads the solc.ini file.
<<lessInstallation:
It is better to install Scriptol at root of a disk, for example:
c:scriptolc
Once the archive is extracted into the scriptolc directory, you have just to change to this directory to run the compiler.
To use the compiler at command line from any directory, you have to put the compiler into the path variable.
The setup script installs required file into sub-directories, or into the directory given as argument. Before to use the compiler, you have to read the licence, in the doc
directory: licence.html.
Usage:
Just type:
./solc mysource
Type "solc" only to list the options.
If your program is a multi-file project, the source given as parameter must be the main source file, the compiler will know dependencies from "include" statements and will build what is needed.
Exemples:
Type from the main scriptol directory:
./solc -bre demosfibo
Configuring:
By editing the solc.ini file, you may change the second pass compiler (you may have to rebuild the libsol library for this compiler), change the options of the compiler or add header files to include.
To add header files, just add "header=someheader.hpp" lines into the config file.
A xxx.cfg file may be written for each project main source beeing xxx, and if present, it overloads the solc.ini file.
Added: 2005-12-02 License: Freeware Price:
1423 downloads
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
snownews 1.5.7
Snownews is a text mode RSS/RDF newsreader. more>>
Snownews is a text mode RSS/RDF newsreader. This is a full feature RSS/RDF reader for text mode which implements all versions of RSS and other formats via plugins
Main features:
- runs on Linux, *BSD, OS X (Darwin), Solaris and probably many more Unices.
- fast and very resource friendly.
- builtin HTTP client will follow server redirects and update feed URLs that point to permanent redirects (301) automatically.
- snownews understands "Not-Modified" (304) server replies and handles gzip compression.
- local cache for minimal network traffic.
- HTTP proxy support.
- HTTP authentication support (basic and digest methods).
- optional, basic cookie support
- a help menu available throughout the program
- automatic update checking (can be deactivated)
- few dependencies on external libraries; ncurses and libxml2
- import feature for OPML subscription lists
- fully customizable key bindings of all program functions
- type Ahead Find for quick and easy navigation
- color support
- extensible via plugins
- feed categories and many other useful features
<<lessMain features:
- runs on Linux, *BSD, OS X (Darwin), Solaris and probably many more Unices.
- fast and very resource friendly.
- builtin HTTP client will follow server redirects and update feed URLs that point to permanent redirects (301) automatically.
- snownews understands "Not-Modified" (304) server replies and handles gzip compression.
- local cache for minimal network traffic.
- HTTP proxy support.
- HTTP authentication support (basic and digest methods).
- optional, basic cookie support
- a help menu available throughout the program
- automatic update checking (can be deactivated)
- few dependencies on external libraries; ncurses and libxml2
- import feature for OPML subscription lists
- fully customizable key bindings of all program functions
- type Ahead Find for quick and easy navigation
- color support
- extensible via plugins
- feed categories and many other useful features
Download (0.734MB)
Added: 2006-06-06 License: GPL (GNU General Public License) Price:
1235 downloads
Newsleech 0.1.2
Newsleech is a non-interactive rfc977 compliant news retriever. more>>
Newsleech is a non-interactive rfc977 compliant news retriever. The commandline user interface is simple yet powerful. Newsleech is a powerfull and simple commandline newsreader. It is entirely written in C and it should be reasonably portable. Newsleech can understand scripts in addition to commandline options.
Main features:
- can retrieve news messages by means of a simple and powerful command line interface
- it can, in one run, visit several servers with several newsgroups with several sets ofarticles
- can concatenate this sets of articles and send the result to stdout, a file or a pipe
- can recieve its commands also from a script
Version restrictions:
- the program will never interpret any of the messages it receives
<<lessMain features:
- can retrieve news messages by means of a simple and powerful command line interface
- it can, in one run, visit several servers with several newsgroups with several sets ofarticles
- can concatenate this sets of articles and send the result to stdout, a file or a pipe
- can recieve its commands also from a script
Version restrictions:
- the program will never interpret any of the messages it receives
Download (0.44MB)
Added: 2006-06-06 License: GPL (GNU General Public License) Price:
1252 downloads
BitAnarch 1.0.5
BitAnarch provides a BitTorrent client with many useful features and reduced resource usage. more>>
BitAnarch provides a BitTorrent client with many useful features and reduced resource usage.
BitAnarch is a compact BitTorrent client.
Main features:
- available in three languages
- multiple downloads support
- automatic bandwidth distribution
- full Unicode filename support
- newsgroup scanning
- automation
- drag-and-drop support
Enhancements:
- Bugfix: crashes at program termination/when the machine is very busy
- Bugfix: Error message does not appear in non-English language settings
- Silent allocation for NTFS
- Stability greatly increased
- CPU usage greatly decreased when minimized
- System newsreader is now used to view nntp messages
- The "Stay on top" setting now effects immediately, restart is no longer needed
- Download rate limit
- A spiced up user interface
<<lessBitAnarch is a compact BitTorrent client.
Main features:
- available in three languages
- multiple downloads support
- automatic bandwidth distribution
- full Unicode filename support
- newsgroup scanning
- automation
- drag-and-drop support
Enhancements:
- Bugfix: crashes at program termination/when the machine is very busy
- Bugfix: Error message does not appear in non-English language settings
- Silent allocation for NTFS
- Stability greatly increased
- CPU usage greatly decreased when minimized
- System newsreader is now used to view nntp messages
- The "Stay on top" setting now effects immediately, restart is no longer needed
- Download rate limit
- A spiced up user interface
Download (0.70MB)
Added: 2007-02-27 License: GPL (GNU General Public License) Price:
974 downloads
BinaryKlock 0.1
BinaryKlock project is a binary clock kicker applet. more>>
BinaryKlock project is a binary clock kicker applet.
The special thing about this clock is that it displays the time in binary instead of using the decimal system.
Binary is pretty easy to read and many people will nonetheless stare at your desktop, not believing how you can read the time from that.
This is my first KDE application, let me know if you like it ;)
Building:
This is my first KDevelop project as well, and Im not yet extremely familiar with it. It generated the usual autoconf files and you should be able to build it like this:
./configure
make
make install
<<lessThe special thing about this clock is that it displays the time in binary instead of using the decimal system.
Binary is pretty easy to read and many people will nonetheless stare at your desktop, not believing how you can read the time from that.
This is my first KDE application, let me know if you like it ;)
Building:
This is my first KDevelop project as well, and Im not yet extremely familiar with it. It generated the usual autoconf files and you should be able to build it like this:
./configure
make
make install
Download (0.61MB)
Added: 2007-07-02 License: GPL (GNU General Public License) Price:
844 downloads
Parse::Binary::FixedFormat 0.10
Parse::Binary::FixedFormat is a Perl module to convert between fixed-length fields and hashes. more>>
Parse::Binary::FixedFormat is a Perl module to convert between fixed-length fields and hashes.
SYNOPSIS
use Parse::Binary::FixedFormat;
my $tarhdr =
new Parse::Binary::FixedFormat [ qw(name:a100 mode:a8 uid:a8 gid:a8 size:a12
mtime:a12 chksum:a8 typeflag:a1 linkname:a100
magic:a6 version:a2 uname:a32 gname:a32
devmajor:a8 devminor:a8 prefix:a155) ];
my $buf;
read TARFILE, $buf, 512;
# create a hash from the buffer read from the file
my $hdr = $tarhdr->unformat($buf); # $hdr gets a hash ref
# create a flat record from a hash reference
my $buf = $tarhdr->format($hdr); # $hdr is a hash ref
# create a hash for a new record
my $newrec = $tarhdr->blank();
Parse::Binary::FixedFormat can be used to convert between a buffer with fixed-length field definitions and a hash with named entries for each field. The perl pack and unpack functions are used to perform the conversions. Parse::Binary::FixedFormat builds the format string by concatenating the field descriptions and converts between the lists used by pack and unpack and a hash that can be reference by field name.
<<lessSYNOPSIS
use Parse::Binary::FixedFormat;
my $tarhdr =
new Parse::Binary::FixedFormat [ qw(name:a100 mode:a8 uid:a8 gid:a8 size:a12
mtime:a12 chksum:a8 typeflag:a1 linkname:a100
magic:a6 version:a2 uname:a32 gname:a32
devmajor:a8 devminor:a8 prefix:a155) ];
my $buf;
read TARFILE, $buf, 512;
# create a hash from the buffer read from the file
my $hdr = $tarhdr->unformat($buf); # $hdr gets a hash ref
# create a flat record from a hash reference
my $buf = $tarhdr->format($hdr); # $hdr is a hash ref
# create a hash for a new record
my $newrec = $tarhdr->blank();
Parse::Binary::FixedFormat can be used to convert between a buffer with fixed-length field definitions and a hash with named entries for each field. The perl pack and unpack functions are used to perform the conversions. Parse::Binary::FixedFormat builds the format string by concatenating the field descriptions and converts between the lists used by pack and unpack and a hash that can be reference by field name.
Download (0.031MB)
Added: 2006-08-09 License: Perl Artistic License Price:
1171 downloads
Tree::Binary 0.07
Tree::Binary is a Object Oriented Binary Tree for Perl. more>>
Tree::Binary is a Object Oriented Binary Tree for Perl.
SYNOPSIS
use Tree::Binary;
# a tree representaion of the expression:
# ((2 + 2) * (4 + 5))
my $btree = Tree::Binary->new("*")
->setLeft(
Tree::Binary->new("+")
->setLeft(Tree::Binary->new("2"))
->setRight(Tree::Binary->new("2"))
)
->setRight(
Tree::Binary->new("+")
->setLeft(Tree::Binary->new("4"))
->setRight(Tree::Binary->new("5"))
);
# Or shown visually:
# +---(*)---+
# | |
# +-(+)-+ +-(+)-+
# | | | |
# (2) (2) (4) (5)
# get a InOrder visitor
my $visitor = Tree::Binary::Visitor::InOrderTraversal->new();
$btree->accept($visitor);
# print the expression in infix order
print $visitor->getAccumulation(); # prints "2 + 2 * 4 + 5"
# get a PreOrder visitor
my $visitor = Tree::Binary::Visitor::PreOrderTraversal->new();
$btree->accept($visitor);
# print the expression in prefix order
print $visitor->getAccumulation(); # prints "* + 2 2 + 4 5"
# get a PostOrder visitor
my $visitor = Tree::Binary::Visitor::PostOrderTraversal->new();
$btree->accept($visitor);
# print the expression in postfix order
print $visitor->getAccumulation(); # prints "2 2 + 4 5 + *"
# get a Breadth First visitor
my $visitor = Tree::Binary::Visitor::BreadthFirstTraversal->new();
$btree->accept($visitor);
# print the expression in breadth first order
print $visitor->getAccumulation(); # prints "* + + 2 2 4 5"
# be sure to clean up all circular references
$btree->DESTROY();
This module is a fully object oriented implementation of a binary tree. Binary trees are a specialized type of tree which has only two possible branches, a left branch and a right branch. While it is possible to use an n-ary tree, like Tree::Simple, to fill most of your binary tree needs, a true binary tree object is just easier to mantain and use.
Binary Tree objects are especially useful (to me anyway) when building parse trees of things like mathematical or boolean expressions. They can also be used in games for such things as descisions trees. Binary trees are a well studied data structure and there is a wealth of information on the web about them.
This module uses exceptions and a minimal Design By Contract style. All method arguments are required unless specified in the documentation, if a required argument is not defined an exception will usually be thrown. Many arguments are also required to be of a specific type, for instance the $tree argument to both the setLeft and setRight methods, must be a Tree::Binary object or an object derived from Tree::Binary, otherwise an exception is thrown. This may seems harsh to some, but this allows me to have the confidence that my code works as I intend, and for you to enjoy the same level of confidence when using this module. Note however that this module does not use any Exception or Error module, the exceptions are just strings thrown with die.
This object uses a number of methods copied from another module of mine, Tree::Simple. Users of that module will find many similar methods and behaviors. However, it did not make sense for Tree::Binary to be derived from Tree::Simple, as there are a number of methods in Tree::Simple that just wouldnt make sense in Tree::Binary. So, while I normally do not approve of cut-and-paste code reuse, it was what made the most sense in this case.
<<lessSYNOPSIS
use Tree::Binary;
# a tree representaion of the expression:
# ((2 + 2) * (4 + 5))
my $btree = Tree::Binary->new("*")
->setLeft(
Tree::Binary->new("+")
->setLeft(Tree::Binary->new("2"))
->setRight(Tree::Binary->new("2"))
)
->setRight(
Tree::Binary->new("+")
->setLeft(Tree::Binary->new("4"))
->setRight(Tree::Binary->new("5"))
);
# Or shown visually:
# +---(*)---+
# | |
# +-(+)-+ +-(+)-+
# | | | |
# (2) (2) (4) (5)
# get a InOrder visitor
my $visitor = Tree::Binary::Visitor::InOrderTraversal->new();
$btree->accept($visitor);
# print the expression in infix order
print $visitor->getAccumulation(); # prints "2 + 2 * 4 + 5"
# get a PreOrder visitor
my $visitor = Tree::Binary::Visitor::PreOrderTraversal->new();
$btree->accept($visitor);
# print the expression in prefix order
print $visitor->getAccumulation(); # prints "* + 2 2 + 4 5"
# get a PostOrder visitor
my $visitor = Tree::Binary::Visitor::PostOrderTraversal->new();
$btree->accept($visitor);
# print the expression in postfix order
print $visitor->getAccumulation(); # prints "2 2 + 4 5 + *"
# get a Breadth First visitor
my $visitor = Tree::Binary::Visitor::BreadthFirstTraversal->new();
$btree->accept($visitor);
# print the expression in breadth first order
print $visitor->getAccumulation(); # prints "* + + 2 2 4 5"
# be sure to clean up all circular references
$btree->DESTROY();
This module is a fully object oriented implementation of a binary tree. Binary trees are a specialized type of tree which has only two possible branches, a left branch and a right branch. While it is possible to use an n-ary tree, like Tree::Simple, to fill most of your binary tree needs, a true binary tree object is just easier to mantain and use.
Binary Tree objects are especially useful (to me anyway) when building parse trees of things like mathematical or boolean expressions. They can also be used in games for such things as descisions trees. Binary trees are a well studied data structure and there is a wealth of information on the web about them.
This module uses exceptions and a minimal Design By Contract style. All method arguments are required unless specified in the documentation, if a required argument is not defined an exception will usually be thrown. Many arguments are also required to be of a specific type, for instance the $tree argument to both the setLeft and setRight methods, must be a Tree::Binary object or an object derived from Tree::Binary, otherwise an exception is thrown. This may seems harsh to some, but this allows me to have the confidence that my code works as I intend, and for you to enjoy the same level of confidence when using this module. Note however that this module does not use any Exception or Error module, the exceptions are just strings thrown with die.
This object uses a number of methods copied from another module of mine, Tree::Simple. Users of that module will find many similar methods and behaviors. However, it did not make sense for Tree::Binary to be derived from Tree::Simple, as there are a number of methods in Tree::Simple that just wouldnt make sense in Tree::Binary. So, while I normally do not approve of cut-and-paste code reuse, it was what made the most sense in this case.
Download (0.027MB)
Added: 2006-10-14 License: Perl Artistic License Price:
1108 downloads
Secleted [ 0 ] software to compare
Copyright Notice:
Software piracy is theft, Using crack, password, serial numbers, registration codes, key generators is illegal and prevent future software development. The above binbot binary newsreader 1.1b3 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