build
Sponsored Links
Sponsored Links
Secleted [ 0 ] software to compare
Results 1 - 15 of about 2961
Opera 9.64 / 10.00 Beta Build 4453
Surf the Internet in a safer, faster, and easier way with Opera browser. more>>
Opera 9.64 / 10.00 Beta Build 4453 offers you a powerful and very convenient tool which is an easy way to help you surf the Internet in a safer, faster, and easier way with Opera browser. The most full-featured Internet power tool on the market, Opera includes pop-up blocking, tabbed browsing, integrated searches, E-mail, RSS Newsfeeds and IRC chat. Opera supports all major Linux distributions. RedHat, SuSE, Mandrake, Debian, etc. Intel, PowerPC and Sparc versions.
Major Features:
- Pop-up Blocking:
- No more annoying pop-up advertisements. Opera lets you control whether Web sites can use pop-ups. Select to block them all, or let the browser open only pop-ups that you have requested.
- Integrated Search:
- Search your favorite sites, for example Google, eBay, or Amazon without having to go to their Web pages. Use the integrated search window or shortcuts (e.g. "g" for Google) in the address field.
- Skins:
- Give your browser the look you want with Operas skins. Make the browser your own by giving it the colors, icons, and buttons of your choice.
- E-mail with RSS Newsfeed:
- Operas built-in POP/IMAP E-mail client is a combined e-mail program, news reader, mailing list organizer and RSS newsfeed reader. A safer, faster, and more intelligent way of handling your e-mails, Operas e-mail client is database driven, enabling you to organize and find your e-mails in a matter of seconds through easy searches, labeling, and filtering rather than traditional folder storage.
- Tabbed Browsing:
- Surf the Web easier and faster by opening multiple Web pages within the same application window. Save a collection of pages as a session and open them all with one click every time.
- Advanced Security:
- Protect yourself from ad-ware, spy-ware, viruses, and other third-party malicious software applications that silently attack your computer while you are surfing the Web.
- IRC Chat:
- Communicate with people all over the world using Operas IRC chat client. Use Opera to connect to IRC servers to chat privately or in rooms, or share files and photos with your friends and family.
- Opera is from now 100% FREE and with NO ADS !
Enhancements:
- Unix support:
- On the Linux/Unix front, we are discontinuing support for builds made with gcc 2.95. Also, Sparc Solaris builds are now made on Solaris 10 (with gcc 3) they should run on Solaris 9 as well. If these changes affect you, wed love to hear your feedback.
- Skinning improvements:
- [DSK-253666] "new tab" button is too tall in multi-line setup
- Partial [DSK-253753] Closed tabs icon on the right: When set to "text only", the text is nearly unreadable (partially black on black), and touches the right part of the screen)
- [DSK-253759] Cancel button in mail panel way to unobtrusive
- [DSK-253818] Locked tabs change size when being hovered
- Fix for highlight of head and tail bar images
- Fixes for the head and tail gaps in Windows Native skin
- Fixes for pagebar head and tail icons in Windows Native skin
- Opacity changes to Speed Dial on standard skin
- New skin sections: "Pagebar Thumbnail Head Skin", "Pagebar Thumbnail Tail Skin", "Pagebar Thumbnail Floating Skin", "Pagebar Thumbnail Head Button Skin", "Pagebar Thumbnail Tail Button Skin", "Pagebar Thumbnail Floating Button Skin"
- Fix for attention states on tabs
- Updated smilies. They are now more smiley.
- Tweaks to borders on addressbar and splitter to be consistent color
- Tweaks to dialogs
- Revised panel icons and buttons
- Revised icons for mail toolbar
- User Interface:
- [DSK-194184] Cant find show Speed Dial at startup option)
- [DSK-253774] Crash in action handling
- [DSK-226623] Ctrl+Ins doesnt copy outside of edit fields
- [DSK-253386] Crash when clicking help in startup dialog
- [DSK-253202] Replace Language with Dictionary in dictionary download wizard
- [DSK-253550] Turbo notification is cropped if the turbo icon is placed on the right of the window
- Removing obsolete ini-entry "view hotlist"
- Mail:
- [DSK-253731] Opens broken Compose Message view when creating new account
- Core:
- [CORE-21309] Full language names in spell check context menu
- [CORE-21052] XSLT: Using keys in match expressions causes crash
- [DSK-253743] Operator cache deleted when Opera starts
- [DSK-251805] Hang when doubleclicking text while flash is running
- [DSK-253773] Plug-in crash
- Unix:
- [DSK-253567] Crashes on Solaris
- [DSK-253761] Crash in Plug-in manager
Added: 2009-06-27 License: Freeware Price: FREE
26747 downloads
VMware Player 2.0.0 Build 45731
VMware Player can be used by anyone to run virtual machines on a Linux PC. more>> <<less
Download (63.8MB)
Added: 2007-05-09 License: Freeware Price:
2872 downloads
VMware Server 1.0.3 Build 44356
VMware Server is a robust yet easy to use product for users new to server virtualization technology. more>>
VMware Server product is a robust yet easy to use software for users new to server virtualization technology.
VMware Server enables companies to partition a physical server into multiple virtual machines, and to start experiencing the benefits of virtualization.
Benefits of VMware Server
Provision a new server in minutes without investing in new hardware.
Run Windows and Linux operating systems and applications on the same physical server.
Increase the utilization of a physical server.
Move virtual machines from one physical host to another without re-configuration.
With VMware Server you can:
Streamline software development and testing by allowing developers to create multiple environments with different operating systems on the same server.
Evaluate software in ready-to-run virtual machines without installation and configuration.
Re-host legacy operating systems such as Windows NT Server 4.0 and Windows 2000 Server in a virtual machine running on new hardware and operating system.
Simplify server provisioning by building a virtual machine once and deploying it multiple times.
Leverage pre-built, ready-to-run virtual appliances that include virtual hardware, operating system and application environments. Virtual appliances for Web, email, proxy and other infratructure services are available for download from the VMTN Virtual Machine Center.
VMware Server is the first step to VMware Virtual Infrastructure
While VMware Server is a compelling product for new virtualization users, VMware Virtual Infrastructure products-ESX Server with Virtual SMP and VirtualCenter with VMotion-enable companies to implement large-scale production server consolidation, business continuity, and enterprise desktop solutions with enterprise-class performance, high availability, manageability and security. View a comparison between VMware Server and VMware Virtual Infrastructure.
Enhancements:
- This release fixes four security vulnerabilities, as reported in CVE-2007-1337, CVE-2007-1877, CVE-2007-1069, and CVE-2007-1876.
- These vulnerabilities permitted denial of service, crashes of Windows guests, or corrupted stack pointers.
- A problem with VMware Tools that caused the guest to run out of memory was fixed.
- A crash in the VIX API was resolved.
- Building of the kernel and the HGFS modules was improved.
- Several occasional crashes were fixed.
<<lessVMware Server enables companies to partition a physical server into multiple virtual machines, and to start experiencing the benefits of virtualization.
Benefits of VMware Server
Provision a new server in minutes without investing in new hardware.
Run Windows and Linux operating systems and applications on the same physical server.
Increase the utilization of a physical server.
Move virtual machines from one physical host to another without re-configuration.
With VMware Server you can:
Streamline software development and testing by allowing developers to create multiple environments with different operating systems on the same server.
Evaluate software in ready-to-run virtual machines without installation and configuration.
Re-host legacy operating systems such as Windows NT Server 4.0 and Windows 2000 Server in a virtual machine running on new hardware and operating system.
Simplify server provisioning by building a virtual machine once and deploying it multiple times.
Leverage pre-built, ready-to-run virtual appliances that include virtual hardware, operating system and application environments. Virtual appliances for Web, email, proxy and other infratructure services are available for download from the VMTN Virtual Machine Center.
VMware Server is the first step to VMware Virtual Infrastructure
While VMware Server is a compelling product for new virtualization users, VMware Virtual Infrastructure products-ESX Server with Virtual SMP and VirtualCenter with VMotion-enable companies to implement large-scale production server consolidation, business continuity, and enterprise desktop solutions with enterprise-class performance, high availability, manageability and security. View a comparison between VMware Server and VMware Virtual Infrastructure.
Enhancements:
- This release fixes four security vulnerabilities, as reported in CVE-2007-1337, CVE-2007-1877, CVE-2007-1069, and CVE-2007-1876.
- These vulnerabilities permitted denial of service, crashes of Windows guests, or corrupted stack pointers.
- A problem with VMware Tools that caused the guest to run out of memory was fixed.
- A crash in the VIX API was resolved.
- Building of the kernel and the HGFS modules was improved.
- Several occasional crashes were fixed.
Download (101.7MB)
Added: 2007-05-02 License: Freeware Price:
1821 downloads
Build Log 0.0.3
Build Log is a tool to log software builds. more>>
Buildog was inspired by my need to track the steps involved in software builds. Particularly the software packages in the Linux From Scratch book.
It is not a package manager in the traditional sense, it will not track dependences. It tries to stay out of your way as much as possible.
If you grow weary of RPM spec files, or this months "package manager" (there are about a dozen or so of them out there, with new distributions adding their own every month) Buildog may be for you.
What it will do for you is log the information required to build it, files it created, URLs it needs (it will fetch them for you too if you want, with support for mirrors and caching) a log of the build stages, notes and descriptions, its home page, and any other information you may wish to add.
Its pretty simple to use, if youve ever installed packages from source, youll get the hang if it quickly.
Installation
Quite a bit of work has gone into making this install nicely. Perl programs are kind of notorious for being difficult to install.
It uses the autoconf to guess your location of perl, supports the usual --prefix --bindir --sysconfdir and --localstatedir options. Type make install to install it, (a plain make shows what will be installed where).
<<lessIt is not a package manager in the traditional sense, it will not track dependences. It tries to stay out of your way as much as possible.
If you grow weary of RPM spec files, or this months "package manager" (there are about a dozen or so of them out there, with new distributions adding their own every month) Buildog may be for you.
What it will do for you is log the information required to build it, files it created, URLs it needs (it will fetch them for you too if you want, with support for mirrors and caching) a log of the build stages, notes and descriptions, its home page, and any other information you may wish to add.
Its pretty simple to use, if youve ever installed packages from source, youll get the hang if it quickly.
Installation
Quite a bit of work has gone into making this install nicely. Perl programs are kind of notorious for being difficult to install.
It uses the autoconf to guess your location of perl, supports the usual --prefix --bindir --sysconfdir and --localstatedir options. Type make install to install it, (a plain make shows what will be installed where).
Download (0.040MB)
Added: 2005-04-04 License: LGPL (GNU Lesser General Public License) Price:
1664 downloads
Fenris 0.07-m2 build 3245
Fenris is a multipurpose tracer, debugger, and code analysis tool. more>>
Fenris is a suite of tools suitable for code analysis, debugging, protocol analysis, reverse engineering, forensics, diagnostics, security audits, vulnerability research and many other purposes.
The main logical components are:
- Fenris: high-level tracer, a tool that detects the logic used in C programs to find and classify functions, logic program structure, calls, buffers, interaction with system and libraries, I/O and many other structures. Fenris is mostly a "whats inside" tracer, as opposed to ltrace or strace, tracers intended to inspect external "symptoms" of the internal program structure. Fenris does not depend on libbfd for accessing ELF structures, and thus is much more robust when dealing with "anti-debugging" code.
- libfnprints and dress: fingerprinting code that can be used to detect library functions embedded inside a static application, even without symbols, to make code analysis simplier; this functionality is both embedded in other components and available as a standalone tool that adds symtab to ELF binaries and can be used with any debugger or disassembler.
- Aegir: an interactive gdb-alike debugger with modular capabilities, instruction by instruction and breakpoint to breakpoint execution, and real-time access to all the goods offered by Fenris, such as high-level information about memory objects or logical code structure.
- nc-aegir: a SoftICE-alike GUI for Aegir, with automatic register, memory and code views, integrated Fenris output, and automatic Fenris control (now under development).
- Ragnarok: a visualisation tool for Fenris that delivers browsable information about many different aspects of program execution - code flow, function calls, memory object life, I/O, etc (to be redesigned using OpenDX or a similar data exploration interface).
- ...and some other companion utilities.
Code analysis is not limited to debugging, quality assurance or security audits. Understanding and handling file formats or communication protocols used by proprietary solutions, a problem that many corporations face when they decide to change their base software platform from one, obsolete or insufficient solution to another, perhaps more suitable, is a task that can consume long months and millions of dollars, especially when any misjudgment or misinterpretation is made.
Because of that, accurate and complete information about existing solutions has to be obtained and evaluated in a timely manner. This project is an attempt to fill the gap between currently used tools by providing a freely available program analysis utility, suitable for black-box code audits, algorithm analysis,
rapid reconnaissance in open-source projects, tracking down bugs, evaluating security subsystems, performing computer forensics, etc.
This program does not automate the process of auditing, and does not favor any particular use. Instead of that, it is intended to be a flexible and universal application that will be a valuable solution for many advanced users. While functional, it is probably not tested sufficiently, there are many issues to fix, several known bugs, some portability problems.
It is being released primarily to get user feedback, comments, and, most important, to request development support, as my resources are very limited, both in terms of available time and development platforms. This project is and will be distributed as a free software, regardless of projected use, accompanied by complete sources, under the terms and
conditions of GPL. Why do you might need this code? Well, there are few reasons...
Human beings are, so far, the best code analysts. Unlike computer programs, they have imagination, ability to build synthetic abstract models, and yet to observe and analyze smallest details at the same time. Functionality is often being described as "doing what the program is supposed to do", security as "doing what the program is supposed to do and
nothing more". While it might sound funny, that is the most general and complete definition we have. In most real-life scenarios only humans really know what are their expectations. Building strict formal models of our expectations does not necessarily mean that models themselves are flawless, and is very time-consuming. Then, even with such models,
validating the code is not always possible, due to its computational complexity. That is why real, live programs (not including some critical developments) do not have such models, do not follow any particular coding guidelines, and cannot be formally examined without human judgment.
Unfortunately, humans are also highly inaccurate and very expensive. They work slowly, and better results can be achieved by hiring better specialists and performing more careful audit. And after all, even the best expert can overlook something in complex, hard to read code. It is almost impossible for human to perform an accurate audit of a large, complex, heterogeneous project written e.g. in C - like Sendmail, BIND, Apache - and provide results in reasonable time.
Things get even worse when humans try to understand algorithms and protocols used by complex closed-source black box solutions. They are simply too slow, and not always able to make accurate guesses about dozens of complicated, conditional parameter passes and function calls before final action is taken.
While it might sound surprising, human-driven code audit is very similar to playing chess - it is a general analysis of possible states, way too many to be implicitly projected by our conscience, a result of experience, knowledge, some unparalleled capabilities of human brain, and luck. It is also a subject to false moves and misjudgment. And there are maybe just a few hundred excellent players.
As for today, freely and commercially available audit tools both use two opposite approaches. First approach tends to minimize human role by automating the review of source code. Source code analysis methods are good in spotting known, repeatable static errors in the code - such as format string vulnerabilities. On the other hand, static tools are not able to trace and analyze all possible execution paths of complex application by
simply looking at its source.
The reason for inability to follow all execution paths lies deeply in the foundations of modern computation theory, and one of its aspects is known as "the halting problem". Speaking in more general terms, in many cases (such as complex software, or even underlying operating system), the amount of medium needed to store all possible states of a complex program exceeds significantly the number of particles in the
universe; and the amount of time needed to generate and process them sequentially is greater than the lifetime of our universe, even having a machine that works with the speed of light.
This might be changed by the development of new computation models, such as quantum computing, or by creating mathematical models that allow us to make such problems non-polynomial - but for now, we are far from this point, and static analysis is restrained in many very serious ways, even though many software suppliers tend to market their products as the ultimate, 100% solutions. Subtle, complex, conditional dynamic errors, such as privilege dropping problems, input-dependent table overflows in C and many other issues usually cannot be detected without generating a completely unacceptable number of false positives.
This kind of software is highly dependent on coding style, and specific notation or development practices might render them less efficient - for example, automated audit utilities can usually detect problems like insecure call to strcpy() function, but will very likely not notice insecure manual copy in do-while
loop. The truth is, for programs that do not have previously built formal models, static auditing utilities look for known, common problems in known, common types of code in a very limited scope.
Another issue is the applicability of this approach to algorithm analysis tasks. In the domain of automated audit tools, this problem is "reduced" to building a formal model of program behavior, or, more appropriately, generating certain predictive statements about the code. While there are very interesting developments in this direction, such as the work of professor Patrick Cousot, it is very difficult to make any detailed, accurate and abstract enough run-time predictions for complex source code that has any immediate value in the analysis of unknown algorithm.
Last but not least, static analysis of sources can be deployed only when the source code is available, which does not have to be the case. This approach is a subject to many shortcomings, tricky assertions, and is a technique of strictly limited capabilities. This is, of course, not to dismiss this method - but to demonstrate that this much favored approach is not flawless and how much it needs to be accompanied with auxiliary methods.
The second approach to be discussed here is based on a dynamic run-time program analysis. This method is usually used to provide the user with information about actual program execution path, letting him make decisions on which path to follow and giving him free will to draw any conclusions and perform all the synthetic reasoning.
This method is
applied to a live binary executed in real-time and is based on monitoring syscalls (strace), libcalls (ltrace) or functions (xtrace); in certain cases, breakpoint debuggers, such as gdb, can be used, however it is usually not feasible to use them to perform anything more than in-depth analysis of a very small portion of program functionality. Usually, such analysis provides a very useful information on what is happening, and this information is provided in uniform, reduced-output form.
A careful auditor can analyze program behavior and find interesting or potentially dangerous run-time conditions. By monitoring how a given application interacts with external world, he (or she) can determine whether some other
conditions can be triggered and eventually explore them by examining sources or re-running the program. Advantages are enormous, as such software enables the auditor to spot very subtle errors in code that "looked good", to observe actual execution, not to try to figure it out, and to find or trace down not obvious or non-schematic vulnerabilities. Run-time trace tools are primarily used for fast reconnaissance tasks and for tracing down notorious errors that are not clearly visible in the source, significantly reducing the time of such operations.
There are, however, serious drawbacks related to this method. First of all, known tracing tools do not provide the complete information. They will detect strcpy() call, but wont report if exactly the same functionality has been implemented from scratch by the author of given program. And, in some cases, the amount of produced data
can be enormous, and because of its completely unstructured character, it makes the observation of overall execution vector almost impossible. Two most important problems are: correlating trace data with actual code, and determining what occurred in the "dark matter" between two lines of trace output.
There are some attempts to combine both approaches - run-time evaluation and source code analysis - such as Purify or many other commercial development support products. Unfortunately, they all feature a limited set of capabilities that need development-side or compilation-time support and are not really suitable for comprehending black box solutions or performing a general analysis. Most of them are targeted for dynamic memory debugging and code / memory profiling.
While not mentioned above, there is also another approach to black-box code - high-level decompiler. However, the complexity of modern compilers makes it very difficult to develop an effective C decompiler or similar utility, and there are only a few (two?) projects available to accomplish it, all of them not able to deal with too complex or optimized code. Finally, there is no guarantee that generated output code will be any help in comprehending the program. For now, this approach remains almost purely theoretical,
and I am not aware of any auditors using it extensively. Why? Well, heres an example of decompiled, mildly optimized code *with* some symbolic information: http://www.backerstreet.com/rec/ex386/hdgO.rec . One may argue it is less readable than cross-referenced disassembly.
This project, Fenris, is named after the monstrous wolf, son of the Norse god Loki. It is not the ultimate answer to all questions, not a solution for all problems, and under no circumstances is intended to replace other tools and techniques. On the other hand, it makes one step forward compared to other tools, trying to support the auditor and to make his work much more effective. This is accomplished by combining a number of techniques, including partial run-time decompiler, stateful analysis, code fingerprinting, I/O analysis, high-level visualization layer, traditional interactive debugger features and run-time code modification capabilities. The goal is to provide a very detailed trace information, and, at the same time, to provide data suitable to build a model of program behavior more quickly and in more convenient way.
Fenris is not supposed to find vulnerabilities or bugs, or to guess algorithms or describe protocols. It is supposed to report and analyze the execution path - detect and describe functional blocks, monitor data flow in the program, marking its lifetime, source, migration and destination, analyze how functions work and what conditions are evaluated.
At the end, it can deliver you an execution model of traced program (or arbitrarily chosen portion of it, if complete trace results in too much noise or irrelevant information), and hint you how this model can change in different conditions. Fenris does not need source codes of analyzed application, but obviously does not keep the auditor from using them.
For many users, Fenris might be a new tool or tools, for others - just a command-line replacement or addition to strace, ltrace, gdb or similar applications (theres a brief list of other nice tools in doc/other.txt). And thats the idea - to build a tool that is simple, reusable, but also precise and smart. It is supposed to have advantages over other tools, but not to be an ultimate replacement or the final solution. Some users can just use very specific features, such as automated function fingerprinting, and use companion tools instead of the main program.
<<lessThe main logical components are:
- Fenris: high-level tracer, a tool that detects the logic used in C programs to find and classify functions, logic program structure, calls, buffers, interaction with system and libraries, I/O and many other structures. Fenris is mostly a "whats inside" tracer, as opposed to ltrace or strace, tracers intended to inspect external "symptoms" of the internal program structure. Fenris does not depend on libbfd for accessing ELF structures, and thus is much more robust when dealing with "anti-debugging" code.
- libfnprints and dress: fingerprinting code that can be used to detect library functions embedded inside a static application, even without symbols, to make code analysis simplier; this functionality is both embedded in other components and available as a standalone tool that adds symtab to ELF binaries and can be used with any debugger or disassembler.
- Aegir: an interactive gdb-alike debugger with modular capabilities, instruction by instruction and breakpoint to breakpoint execution, and real-time access to all the goods offered by Fenris, such as high-level information about memory objects or logical code structure.
- nc-aegir: a SoftICE-alike GUI for Aegir, with automatic register, memory and code views, integrated Fenris output, and automatic Fenris control (now under development).
- Ragnarok: a visualisation tool for Fenris that delivers browsable information about many different aspects of program execution - code flow, function calls, memory object life, I/O, etc (to be redesigned using OpenDX or a similar data exploration interface).
- ...and some other companion utilities.
Code analysis is not limited to debugging, quality assurance or security audits. Understanding and handling file formats or communication protocols used by proprietary solutions, a problem that many corporations face when they decide to change their base software platform from one, obsolete or insufficient solution to another, perhaps more suitable, is a task that can consume long months and millions of dollars, especially when any misjudgment or misinterpretation is made.
Because of that, accurate and complete information about existing solutions has to be obtained and evaluated in a timely manner. This project is an attempt to fill the gap between currently used tools by providing a freely available program analysis utility, suitable for black-box code audits, algorithm analysis,
rapid reconnaissance in open-source projects, tracking down bugs, evaluating security subsystems, performing computer forensics, etc.
This program does not automate the process of auditing, and does not favor any particular use. Instead of that, it is intended to be a flexible and universal application that will be a valuable solution for many advanced users. While functional, it is probably not tested sufficiently, there are many issues to fix, several known bugs, some portability problems.
It is being released primarily to get user feedback, comments, and, most important, to request development support, as my resources are very limited, both in terms of available time and development platforms. This project is and will be distributed as a free software, regardless of projected use, accompanied by complete sources, under the terms and
conditions of GPL. Why do you might need this code? Well, there are few reasons...
Human beings are, so far, the best code analysts. Unlike computer programs, they have imagination, ability to build synthetic abstract models, and yet to observe and analyze smallest details at the same time. Functionality is often being described as "doing what the program is supposed to do", security as "doing what the program is supposed to do and
nothing more". While it might sound funny, that is the most general and complete definition we have. In most real-life scenarios only humans really know what are their expectations. Building strict formal models of our expectations does not necessarily mean that models themselves are flawless, and is very time-consuming. Then, even with such models,
validating the code is not always possible, due to its computational complexity. That is why real, live programs (not including some critical developments) do not have such models, do not follow any particular coding guidelines, and cannot be formally examined without human judgment.
Unfortunately, humans are also highly inaccurate and very expensive. They work slowly, and better results can be achieved by hiring better specialists and performing more careful audit. And after all, even the best expert can overlook something in complex, hard to read code. It is almost impossible for human to perform an accurate audit of a large, complex, heterogeneous project written e.g. in C - like Sendmail, BIND, Apache - and provide results in reasonable time.
Things get even worse when humans try to understand algorithms and protocols used by complex closed-source black box solutions. They are simply too slow, and not always able to make accurate guesses about dozens of complicated, conditional parameter passes and function calls before final action is taken.
While it might sound surprising, human-driven code audit is very similar to playing chess - it is a general analysis of possible states, way too many to be implicitly projected by our conscience, a result of experience, knowledge, some unparalleled capabilities of human brain, and luck. It is also a subject to false moves and misjudgment. And there are maybe just a few hundred excellent players.
As for today, freely and commercially available audit tools both use two opposite approaches. First approach tends to minimize human role by automating the review of source code. Source code analysis methods are good in spotting known, repeatable static errors in the code - such as format string vulnerabilities. On the other hand, static tools are not able to trace and analyze all possible execution paths of complex application by
simply looking at its source.
The reason for inability to follow all execution paths lies deeply in the foundations of modern computation theory, and one of its aspects is known as "the halting problem". Speaking in more general terms, in many cases (such as complex software, or even underlying operating system), the amount of medium needed to store all possible states of a complex program exceeds significantly the number of particles in the
universe; and the amount of time needed to generate and process them sequentially is greater than the lifetime of our universe, even having a machine that works with the speed of light.
This might be changed by the development of new computation models, such as quantum computing, or by creating mathematical models that allow us to make such problems non-polynomial - but for now, we are far from this point, and static analysis is restrained in many very serious ways, even though many software suppliers tend to market their products as the ultimate, 100% solutions. Subtle, complex, conditional dynamic errors, such as privilege dropping problems, input-dependent table overflows in C and many other issues usually cannot be detected without generating a completely unacceptable number of false positives.
This kind of software is highly dependent on coding style, and specific notation or development practices might render them less efficient - for example, automated audit utilities can usually detect problems like insecure call to strcpy() function, but will very likely not notice insecure manual copy in do-while
loop. The truth is, for programs that do not have previously built formal models, static auditing utilities look for known, common problems in known, common types of code in a very limited scope.
Another issue is the applicability of this approach to algorithm analysis tasks. In the domain of automated audit tools, this problem is "reduced" to building a formal model of program behavior, or, more appropriately, generating certain predictive statements about the code. While there are very interesting developments in this direction, such as the work of professor Patrick Cousot, it is very difficult to make any detailed, accurate and abstract enough run-time predictions for complex source code that has any immediate value in the analysis of unknown algorithm.
Last but not least, static analysis of sources can be deployed only when the source code is available, which does not have to be the case. This approach is a subject to many shortcomings, tricky assertions, and is a technique of strictly limited capabilities. This is, of course, not to dismiss this method - but to demonstrate that this much favored approach is not flawless and how much it needs to be accompanied with auxiliary methods.
The second approach to be discussed here is based on a dynamic run-time program analysis. This method is usually used to provide the user with information about actual program execution path, letting him make decisions on which path to follow and giving him free will to draw any conclusions and perform all the synthetic reasoning.
This method is
applied to a live binary executed in real-time and is based on monitoring syscalls (strace), libcalls (ltrace) or functions (xtrace); in certain cases, breakpoint debuggers, such as gdb, can be used, however it is usually not feasible to use them to perform anything more than in-depth analysis of a very small portion of program functionality. Usually, such analysis provides a very useful information on what is happening, and this information is provided in uniform, reduced-output form.
A careful auditor can analyze program behavior and find interesting or potentially dangerous run-time conditions. By monitoring how a given application interacts with external world, he (or she) can determine whether some other
conditions can be triggered and eventually explore them by examining sources or re-running the program. Advantages are enormous, as such software enables the auditor to spot very subtle errors in code that "looked good", to observe actual execution, not to try to figure it out, and to find or trace down not obvious or non-schematic vulnerabilities. Run-time trace tools are primarily used for fast reconnaissance tasks and for tracing down notorious errors that are not clearly visible in the source, significantly reducing the time of such operations.
There are, however, serious drawbacks related to this method. First of all, known tracing tools do not provide the complete information. They will detect strcpy() call, but wont report if exactly the same functionality has been implemented from scratch by the author of given program. And, in some cases, the amount of produced data
can be enormous, and because of its completely unstructured character, it makes the observation of overall execution vector almost impossible. Two most important problems are: correlating trace data with actual code, and determining what occurred in the "dark matter" between two lines of trace output.
There are some attempts to combine both approaches - run-time evaluation and source code analysis - such as Purify or many other commercial development support products. Unfortunately, they all feature a limited set of capabilities that need development-side or compilation-time support and are not really suitable for comprehending black box solutions or performing a general analysis. Most of them are targeted for dynamic memory debugging and code / memory profiling.
While not mentioned above, there is also another approach to black-box code - high-level decompiler. However, the complexity of modern compilers makes it very difficult to develop an effective C decompiler or similar utility, and there are only a few (two?) projects available to accomplish it, all of them not able to deal with too complex or optimized code. Finally, there is no guarantee that generated output code will be any help in comprehending the program. For now, this approach remains almost purely theoretical,
and I am not aware of any auditors using it extensively. Why? Well, heres an example of decompiled, mildly optimized code *with* some symbolic information: http://www.backerstreet.com/rec/ex386/hdgO.rec . One may argue it is less readable than cross-referenced disassembly.
This project, Fenris, is named after the monstrous wolf, son of the Norse god Loki. It is not the ultimate answer to all questions, not a solution for all problems, and under no circumstances is intended to replace other tools and techniques. On the other hand, it makes one step forward compared to other tools, trying to support the auditor and to make his work much more effective. This is accomplished by combining a number of techniques, including partial run-time decompiler, stateful analysis, code fingerprinting, I/O analysis, high-level visualization layer, traditional interactive debugger features and run-time code modification capabilities. The goal is to provide a very detailed trace information, and, at the same time, to provide data suitable to build a model of program behavior more quickly and in more convenient way.
Fenris is not supposed to find vulnerabilities or bugs, or to guess algorithms or describe protocols. It is supposed to report and analyze the execution path - detect and describe functional blocks, monitor data flow in the program, marking its lifetime, source, migration and destination, analyze how functions work and what conditions are evaluated.
At the end, it can deliver you an execution model of traced program (or arbitrarily chosen portion of it, if complete trace results in too much noise or irrelevant information), and hint you how this model can change in different conditions. Fenris does not need source codes of analyzed application, but obviously does not keep the auditor from using them.
For many users, Fenris might be a new tool or tools, for others - just a command-line replacement or addition to strace, ltrace, gdb or similar applications (theres a brief list of other nice tools in doc/other.txt). And thats the idea - to build a tool that is simple, reusable, but also precise and smart. It is supposed to have advantages over other tools, but not to be an ultimate replacement or the final solution. Some users can just use very specific features, such as automated function fingerprinting, and use companion tools instead of the main program.
Download (1.1MB)
Added: 2005-04-18 License: GPL (GNU General Public License) Price:
1657 downloads
Build it Fast 0.4.1
Build it Fast is a PHP framework for developing Web applications quickly. more>>
Build it Fast (BIF) is a PHP Framework. It contains several classes that help you develop complex Web applications in a short amount of time.
It brings the concept of the widget to Web development. It features Cascade Skins and transparent session management.
Its meant to make PHP programers life much easier, and making better web applications.
<<lessIt brings the concept of the widget to Web development. It features Cascade Skins and transparent session management.
Its meant to make PHP programers life much easier, and making better web applications.
Download (2.1MB)
Added: 2005-05-05 License: GPL (GNU General Public License) Price:
1633 downloads
Mudbag 1.0.0A1
Mudbag is a Web-based multi-user database system that allows non-programmers to build applications. more>>
Mudbag is a Web-based multi-user database system that allows non-programmers to build applications.
It supports databases, tables, fields, forms, views, reports, import, and export.
<<lessIt supports databases, tables, fields, forms, views, reports, import, and export.
Download (0.30MB)
Added: 2005-07-14 License: BSD License Price:
1565 downloads
Apcon 0.2.4 build 68
Apcon is a systemtray application for KDE. more>>
Apcon is based on IBMs Access Connections tool for the Thinkpads.
It is a systemtray application for KDE, that makes it very easy for users to specify and manage different network/connection profiles and connect/disconnect to/from them.
Furthermore a user can get several details and informations about a connection.
This can be very useful for people using notebooks on different locations. Under normal circumstances this should be the expected situation.
If the location will be changed, Apcon makes it possible to enable and configure the needed interface (to get a network connection) with just two clicks.
A profile can be created easily and quickly in four simple steps. An integrated wizard leads the user through this process.
<<lessIt is a systemtray application for KDE, that makes it very easy for users to specify and manage different network/connection profiles and connect/disconnect to/from them.
Furthermore a user can get several details and informations about a connection.
This can be very useful for people using notebooks on different locations. Under normal circumstances this should be the expected situation.
If the location will be changed, Apcon makes it possible to enable and configure the needed interface (to get a network connection) with just two clicks.
A profile can be created easily and quickly in four simple steps. An integrated wizard leads the user through this process.
Download (0.090MB)
Added: 2005-09-15 License: GPL (GNU General Public License) Price:
1499 downloads
Unofficial Tango 0.4
Unofficial Tango is the unofficial package of Tango Icon Theme. more>>
Unofficial Tango is the unofficial package of Tango Icon Theme.
Unofficial Tango package is pretty different from the package you build from mainstream Tango. Unofficial Tango includes more extra icons used by GNOME apps.
<<lessUnofficial Tango package is pretty different from the package you build from mainstream Tango. Unofficial Tango includes more extra icons used by GNOME apps.
Download (0.64MB)
Added: 2005-11-17 License: GPL (GNU General Public License) Price:
1436 downloads
Nightwatch 0.12
Nightwatch is a build scheduler that can be scheduled to do builds for several build styles, including Maven, Make, and Ant. more>>
Nightwatch is a build scheduler that can be scheduled to do builds for several build styles, including Maven, Make, and Ant.
The tool is pluggable, so any build style can easily be added. The build results can be published as a Web site, where individual builds can create their own project sites.
For builds generating reports (like Maven), nightwatch can generate trend reports for long term reporting. Notification of the build results can be created.
Enhancements:
- This release adds an improved GUI and notification.
- Note that notification is mainly to be used on Linux systems.
- Solaris users will have to wait for a future upgrade.
<<lessThe tool is pluggable, so any build style can easily be added. The build results can be published as a Web site, where individual builds can create their own project sites.
For builds generating reports (like Maven), nightwatch can generate trend reports for long term reporting. Notification of the build results can be created.
Enhancements:
- This release adds an improved GUI and notification.
- Note that notification is mainly to be used on Linux systems.
- Solaris users will have to wait for a future upgrade.
Download (0.068MB)
Added: 2005-12-09 License: GPL (GNU General Public License) Price:
1416 downloads
Turnracer Build 1
Turnracer is an free (GPL) Turn-Based racer game for GNU/Linux and other UNIX look-alikes. more>>
Turnracer is an free TBS racer game for GNU/Linux and other UNIX look-alikes. The rules of Turnracer arent easy.
Turnracer is written in C, and Gtk2 based. There is not yet an AI in the game, but it is planed for one of the next releases.
Installation:
1. Make sure you have install tar an gz or bz2 (gz if you have downloaded the gz package, else the bz2)
2. Type tar -xzf THE/PATH/TO/THE/TURNRACER/PACKAGE.tar.gz(in a terminal emulator), change the z to j for bz2.
3. Go to the directory where you have unpacked turnracer(cd THE/PATH)
4. Type ./configure
5. Type make
6. Type make install (as superuser)
Enhancements:
- A level editor is included.
<<lessTurnracer is written in C, and Gtk2 based. There is not yet an AI in the game, but it is planed for one of the next releases.
Installation:
1. Make sure you have install tar an gz or bz2 (gz if you have downloaded the gz package, else the bz2)
2. Type tar -xzf THE/PATH/TO/THE/TURNRACER/PACKAGE.tar.gz(in a terminal emulator), change the z to j for bz2.
3. Go to the directory where you have unpacked turnracer(cd THE/PATH)
4. Type ./configure
5. Type make
6. Type make install (as superuser)
Enhancements:
- A level editor is included.
Download (0.18MB)
Added: 2006-01-31 License: GPL (GNU General Public License) Price:
1361 downloads
L4ip 1.0 build 299
L4ip is a daemon that extends IPFilters simple round-robin L4 load balancing with health checks. more>>
L4ip is a daemon that extends IPFilters simple round-robin L4 load balancing with health checks. It takes care of monitoring and dynamically adding and removing ipnat rules in the kernel.
L4ip fully supports UDP, TCP, and system()-style executions for health checks, including send/expect scripts, SSL connections, and much more.
Main features:
- Define as many clusters, with as many members as you need.
- Automatically adds and removes "ipnat" rules as needed.
- Flexible health check support, tcp-open, tcp-close, udp-open, udp-close, system.
- Simple scripting available for health checks in send/expect syntax with fnmatch pattern comparison
- Binary protocol supported in url-encoding style syntax (eg %0D)
- system() like execution of external commands available. (spawn your own health-check testers)
- Reload and restart leaving last-known-state available for less service impact.
- SSL supported for TCP testers.
- Optional IPF rules to sense RST return-packets for faster failure detection.
Enhancements:
- Solaris SMF example files were added along with a "proxy" command for protocols that need it, such as FTP and IPSec.
<<lessL4ip fully supports UDP, TCP, and system()-style executions for health checks, including send/expect scripts, SSL connections, and much more.
Main features:
- Define as many clusters, with as many members as you need.
- Automatically adds and removes "ipnat" rules as needed.
- Flexible health check support, tcp-open, tcp-close, udp-open, udp-close, system.
- Simple scripting available for health checks in send/expect syntax with fnmatch pattern comparison
- Binary protocol supported in url-encoding style syntax (eg %0D)
- system() like execution of external commands available. (spawn your own health-check testers)
- Reload and restart leaving last-known-state available for less service impact.
- SSL supported for TCP testers.
- Optional IPF rules to sense RST return-packets for faster failure detection.
Enhancements:
- Solaris SMF example files were added along with a "proxy" command for protocols that need it, such as FTP and IPSec.
Download (0.23MB)
Added: 2006-03-01 License: Artistic License Price:
1332 downloads
Exact Build
Exact Build project is a sane GNU Auto replacement. more>>
Exact Build project is a sane GNU Auto replacement. For portable build systems nowadays normally GNU autoconf and the associated companiens such as automake and libtool. However albeit portable they are rather crufty to use. The various macro expansion and generation steps extremely blow up the initial definitions and make execution slow and debugging a nightmare.
Even with the enourmous code bloat, it does not have a wide feature set and neither allows to maximize the gain of parallel builds nor other state-of-the-art compiler features. Manual tinkering is needed in such cases.
Mostly due the code bloat but also to obtain features such as mximal parallel build and object output seperated cleanly from the source, we create our own set of Makefiles for the non-recursive build system and shell scripts for configuration, if required by the software module (some straight forware code does come without a configure script at all).
<<lessEven with the enourmous code bloat, it does not have a wide feature set and neither allows to maximize the gain of parallel builds nor other state-of-the-art compiler features. Manual tinkering is needed in such cases.
Mostly due the code bloat but also to obtain features such as mximal parallel build and object output seperated cleanly from the source, we create our own set of Makefiles for the non-recursive build system and shell scripts for configuration, if required by the software module (some straight forware code does come without a configure script at all).
Download (MB)
Added: 2006-05-10 License: GPL (GNU General Public License) Price:
1268 downloads
XShipWars 2.5.5
XShipWars is a space oriented highly graphical network game system. more>>
XShipWars is a massively multi-player game, ultra graphical, space-oriented gaming system designed exclusively for network play. You create your own universes, build your own vessels and form your own empires.
<<less Download (1.4MB)
Added: 2006-05-26 License: GPL (GNU General Public License) Price:
1249 downloads
PLCash 2.00 Build 2152
PLCash is a platform-independent personal financial program. more>>
PLCash project is a platform-independent personal financial program.
Main features:
- Create and manage personal financial accounts.
- Import and export data from/to Quicken and other financial programs.
- Create reports and analyze your transactions using a sophisticated report generator.
- Import prices to track the performance of your investments.
- Interface with many other programs intuitively, using an industry-standard, transparent data file format.
- Reconcile your records with bank statements.
- Print checks in a variety of ways.
<<lessMain features:
- Create and manage personal financial accounts.
- Import and export data from/to Quicken and other financial programs.
- Create reports and analyze your transactions using a sophisticated report generator.
- Import prices to track the performance of your investments.
- Interface with many other programs intuitively, using an industry-standard, transparent data file format.
- Reconcile your records with bank statements.
- Print checks in a variety of ways.
Download (0.60MB)
Added: 2006-05-24 License: Freeware Price:
1248 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 build 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