We are looking for an experienced windows kernel programmer who likes to work on challenging and interesting projects. Initially, we have a windows driver code which we are using for monitoring file system activity. As a pilot project we want developers who can either extend this to meet our additional requirements, (or if they prefer, start from scratch). The details of this driver will be provided for the initial list of candidates who can prove that they have got good experience in driver development. No special hardware or custom platforms are required for our projects. All our drivers are software drivers. Once we are happy with the developer, we have ongoing projects (new drivers and system-level code) that we want to continue outsourcing. All code must be well commented. Developer should make sure that the deliverables are easy to install and the code must be stable enough for commercial use. Selected coders must also be prepared to sign the RAC Non-disclosure agreement for some of the sensitive projects. Interested developers, please provide previous relevant work experience and samples (if available) to be considered.
## Deliverables
1) Complete and fully-functional working program(s) in executable form as well as complete source code of all work done.
2) Deliverables must be in ready-to-run condition, as follows? (depending on the nature? of the deliverables):
a)? For web sites or? other server-side deliverables intended to only ever exist in one place in the Buyer's environment--Deliverables must be installed by the Seller in ready-to-run condition in the Buyer's environment.
b) For all others including desktop software or software the buyer intends to distribute: A software? installation package that will install the software in ready-to-run condition on the platform(s) specified in this bid request.
3) All deliverables will be considered "work made for hire" under U.S. Copyright law. Buyer will receive exclusive and complete copyrights to all work purchased. (No GPL, GNU, 3rd party components, etc. unless all copyright ramifications are explained AND AGREED TO by the buyer on the site per the coder's Seller Legal Agreement).
* * *This broadcast message was sent to all bidders on Tuesday Oct 18, 2005 4:20:20 PM:
Details of the current driver (APISnoop) and what exactly needs to be done.
If you place a bid, please mention which of these
requirements will be covered in your bid and whether you are implementing from scratch or by enhancing our APISnoop driver.
If you are going to enhance APISnoop driver you will be required to sign an NDA.
Regards,
/Chandan
Kudang Pty Ltd.
----------------------------------------
APISnoop is a driver which gets called whenever an EXE or a DLL
is loaded. For a given processes, it overwrites the IAT (Import
address table) for a given set of APIs to point them to a stub
function (created by the driver at runtime) which replaces the
real API.
This stub gets called whenever the app makes a call to the real
API and logs the details of the call including the parameters etc.
We also have an user mode program (CLI) which can be used to se t the
name of the EXE to be monitored, and to receive the api log from
the driver in real-time.
We need multi-tiered enhancements to this product as listed below,
in the order of priority:
1. Comment the code and if needed modify functions, variables etc
to make it more structured.
2. Currently the set of APIs to be monitored is decided at build time.
Need to make this dynamic. The CLI should be used to add more APIs
to this list at run-time.
3. Currently it monitors only DLLs that are statically linked to the
application. We need this to work for dynamically loaded DLLs too.
4. We should be able to specify certain APIs based on the parameters
passed to the API.
5. Currently it works only for windows 2000. We need this to work for
atleast Windows XP and preferably Windows NT and 95.
## Platform
Windows XP/NT/95 Kernel and Systems Programming