TODO:
    - Documentation
        - Pass 0.2 when doc is done <3

    - ProcessMemory object ? (metasm like)

    - remove pe_parse.transform_ctypes_fields (use utils.transform_ctypes_fields)
    - DBG
        - Verif multiple bp at same place..
        - Verif multiple pending at same place
        - Test !! (bp, BP_HX, bp on only on process, bp_hx on only one thread..)
		- test breakpoint with specific target

    - Threading
        - Quid IAT hook stub ? just einit threads and remove this ?

    - Injection
        - code generated by generate_python_exec_shellcode_64[32] may be reused
            Just need to pass the address of the python string as argument

    - rewrite generate_stub_64[32] : it's a non-sens to not save stuff on the stack..
        I can re-copy the args on stack..

    - Winproxy:
        - rethink OptionalExport ? not useful with lazy resolution (or we need to force resolution..)

	- Readme
		- Debugger ? Veh ?

    - TransparentApiProxy
        double name (params and args) for same info..

    - 32 <-> 64
        * What about ``NtWow64QueryVirtualMemory64`` ?

    - Parse .IDL file for more COM NAME->IID

    - Add test for debugger with breakpoint that add another breakpoint on trigger

    - NtQueryVirtualMemory_32_to_64 (stop using hardcoded value for request type: add it to enum)


CHANGELOG:
    * re-check every sample

Documentation
    * verif samples

FIXME:
    - setup.py build seems to raise an error
    - winutils.create_process : use WinProcess._from_handle
    - Push("[ECX]") in simple_x64 as a "H" rex and i think it should not..

RESSOURCE
    * read http://www.codeproject.com/Articles/18975/Listing-Used-Files