En curso

Simple API profiler application

Dear Coders,

We need a simple application (let's call it "[url removed, login to view]") that launches? an external application and gets the number of times that each API (in the Import Table of the target application) is called.

Basically:

1)? ApiProfiler launches a target? application with debug attributes (CreateProcess with DEBUG_PROCESS flag)

2)? ApiProfiler writes (WriteProcessMemory) an INT 3 instruction (breakpoint) in each entry in the import table of the target application in memory

3) The target application starts running

4) When the INT 3 occurs, ApiProfiler receives the debug event and increments the counter for that API and continues execution of the target application (returning control to the addess of the API, so the targets runs normally)

5) When the target application exits,? ApiProfiler will write in a text file the number of times that each API was called. Example of output:

[[url removed, login to view], LoadLibraryA] = 30 times

[[url removed, login to view], GetModuleHandleA] = 5 times

[[url removed, login to view], BeginPaint] = 1560 times

....

Requeriments

-----------------

1) Application is written in C/C++ under Visual Studio 2005

2) Application can launch either x32 or x64 Windows applications. So, you might need to compile? [url removed, login to view] in x32 and x64 mode.

3) Application is called via command line with following arguments:

[url removed, login to view] [url removed, login to view] [/d [url removed, login to view]] /f outputfile

Where:

**/d [url removed, login to view]**:? ? ? The file [url removed, login to view] contains a list of DLL names that are going to be profiled. Example of file "[url removed, login to view]":

---

[[url removed, login to view]]

[[url removed, login to view]]

[[url removed, login to view]]

---

In the above example, all functions imported in Kernel32, User32 and [url removed, login to view] will be profiles in the target application.

If /d parameter is not passed as argument, then "[url removed, login to view]" will profile all functions in all DLLs in the target application.

**/f [url removed, login to view]**: File name to store the final log with profile for each API

If you have any questions, feel free to ask.

Thanks!

## Deliverables

Windows application

Habilidades: Assembler, Programación en C, Ingeniería, MySQL, PHP, Arquitectura de software, Verificación de software

Ver más: user32, the coders 53, programming instruction, programming api, php visual studio free, gets in c programming, execution table, counter programming, argument programming, X64, windows api, command line application, api coders, compile instruction, log api, simple debug, application log php, simple application example, command line parameter, 2010 api, api list dll, simple application programming, command line written, simple import, need api written

Información del empleador:
( 62 comentarios ) Jerez de la Frontera, Spain

ID de proyecto: #3299513

Adjudicado a:

lebovsky

See private message.

$144.5 USD en 15 días
(5 comentarios)
3.1

5 los freelancers están ofertando un promedio de $190 para este trabajo.

crazyblusl

See private message.

$170 USD en 15 días
(52 comentarios)
5.4
ArmanHunanyan

See private message.

$255 USD en 15 días
(8 comentarios)
3.3
janjuatech

See private message.

$254.15 USD en 15 días
(0 comentarios)
0.0
coolcoder1991

See private message.

$127.5 USD en 15 días
(0 comentarios)
0.0