TODO:

=== CRITICAL BEFORE 0.4 ===

======

    - 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

        - Rethink/adapt Debugger._explicit_single_step
            - Does not handle case where EEFlags.TF was by the debugge before trigering the exception
            - Should set the flag explicitly in single_step ? and not just use EEFlags.TF ?
        - _handle_load_dll
            - error in keys of 'self._module_by_process[self.current_process.pid]'
            - if I have a ntdll32 and ntdll64: both would have the same name in the list..


        - Il y a un truc fucked-up avec le add_bp(target=XXX)
            - j'attends a avoir un thread/process mais je fait des check sur TID/PID..
                - Ecrire un test et fix..


    - remotectypes
        - pretty sur I can get rid of PointerToStruct64/PointerToStruct32


    - winutils
        - some stuff in winutils.py are not documented.
            - Fix/test/refactor API + doc

    - winobject\exception.py
        - large part could be rewritten with ctypes-generation extended-def

    - add winobject/window.py + winobject/kernobj.py to System()
        - Some test/doc on both


    - wintrust doc:
        add : https://blogs.msdn.microsoft.com/winsdk/2016/01/05/why-cryptcatadmincalchashfromfilehandle-fails-with-a-seemingly-unexpected-error-code/

    - COM:
        - test https://msdn.microsoft.com/en-us/library/vs/alm/hh846255(v=vs.85).aspx

    - Hook
        - Probleme with enabled hook + gc
            - Prevent GC of enabled hook ?
            - Raise on deletion of enabled hook ?
                - if I implem __del__ -> we have a __del__ cycle -> no gc (gc.garbage instead..)


Documentation
    * verif samples
    * windows.bits

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