Click here to Skip to main content
15,892,005 members
Articles / Desktop Programming / MFC

Driver to Hide Processes and Files

, ,
Rate me:
Please Sign up or sign in to vote.
4.57/5 (145 votes)
17 Aug 2009CPOL12 min read 658.9K   28.6K   369  
In this article, we describe the driver we created to hide processes and files in a system.
// STLport configuration file
// It is internal STLport header - DO NOT include it directly

#if !defined(__IBMCPP__) || (__IBMCPP__ < 500)
# define _STLP_HAS_NO_NEW_C_HEADERS 1
#endif

// string literal problem, same as with SUN and aCC
# define _STLP_INLINE_STRING_LITERAL_BUG 1
# define _STLP_HAS_NATIVE_FLOAT_ABS

#  define _STLP_DEFAULT_CONSTRUCTOR_BUG 1


# ifdef __IBMCPP__
#  define _STLP_HAS_SPECIFIC_PROLOG_EPILOG
# endif

// #  if ( defined (__MULTI__) && defined (__WINDOWS__))
// #   define  _STLP_WIN32THREADS 1          // Only Visual Age 3.5 for Windows
// #  endif

#  if ( defined (__MULTI__) && defined (__OS2__))
#   define _STLP_OS2THREADS 1
#  endif

// __TEMPINC__ is set when /Ft+ option is used
#  ifdef __TEMPINC__
#    define _STLP_LINK_TIME_INSTANTIATION 1
#  endif

# if defined (__MVS__)
// long long support is buggy - reported by Tinny Ng
// #  if __EXTENDED__ && __COMPILER_VER__ >= 0x22060000
// #   define _STLP_LONG_LONG long long
// #  endif
// boris : hstash reported it can be treated like UNIX
#  define _STLP_UNIX 1
#  define _STLP_NO_TYPEINFO 1
#  undef _STLP_NATIVE_INCLUDE_PATH
#  define _STLP_NATIVE_INCLUDE_PATH /usr/lpp/ioclib/include
// same for C headers like <string.h>
#  undef _STLP_NATIVE_C_INCLUDE_PATH
#  define _STLP_NATIVE_C_INCLUDE_PATH /usr/include
#  define _STLP_NATIVE_CPP_RUNTIME_INCLUDE_PATH /usr/include

# elif (defined (__WINDOWS__) || defined (_AIX) || defined (__OS2__) ) && (__IBMCPP__ >= 350)

#  define _STLP_LONG_LONG long long

#endif

#if !( defined( __xlC__ ) && __xlC__ >= 0x500 )

// AIX xlC 3.1 , 3.0.1 ==0x301
// Visual Age C++ 3.x
// OS-390 C++
// fbp : should be more version-specific!

#  define _STLP_NO_BOOL 1
#  define _STLP_DONT_USE_BOOL_TYPEDEF 1
#  define _STLP_LIMITED_DEFAULT_TEMPLATES 1
#  define _STLP_HAS_NO_NAMESPACES 1
#  define _STLP_NEED_TYPENAME 1
#  define _STLP_NEED_EXPLICIT 1
#  define _STLP_NO_ARROW_OPERATOR 1
#  define _STLP_NO_NEW_STYLE_CASTS 1
#  define _STLP_NO_WCHAR_T 1
#  define _STLP_NEED_MUTABLE 1
#  define _STLP_NO_PARTIAL_SPECIALIZATION_SYNTAX 1
#  define _STLP_NO_BAD_ALLOC 1

#  define _STLP_NO_MEMBER_TEMPLATES 1
#  define _STLP_NO_MEMBER_TEMPLATE_CLASSES 1
#  define _STLP_NO_MEMBER_TEMPLATE_KEYWORD 1
#  define _STLP_NO_FRIEND_TEMPLATES 1
#  define _STLP_NO_QUALIFIED_FRIENDS 1
#  define _STLP_NO_CLASS_PARTIAL_SPECIALIZATION 1
#  define _STLP_NO_FUNCTION_TMPL_PARTIAL_ORDER 1

#  define _STLP_NO_DEFAULT_NON_TYPE_PARAM 1
#  define _STLP_NO_METHOD_SPECIALIZATION 1
#  define _STLP_NO_EXPLICIT_FUNCTION_TMPL_ARGS 1
#  define _STLP_NO_EXCEPTION_HEADER 1

#  define _STLP_HAS_NO_NEW_IOSTREAMS 1
#  define _STLP_NO_NEW_NEW_HEADER 1

#  if defined (__OS2__) && (__IBMCPP__ <= 350)
#   define _STLP_NO_TYPEINFO 1
#  endif
#  define _STLP_NO_NEW_NEW_HEADER 1

#  define _STLP_STATIC_CONST_INIT_BUG 1
// #  define _STLP_THROW_RETURN_BUG 1


#  define _STLP_NO_TEMPLATE_CONVERSIONS 1
#  define _STLP_UNINITIALIZABLE_PRIVATE 1
#  define _STLP_BASE_TYPEDEF_OUTSIDE_BUG 1
#  define _STLP_STATIC_ARRAY_BUG 1

// AIX xlC, Visual Age 3.0 for OS/2 and MS 
#  define _STLP_TRIVIAL_DESTRUCTOR_BUG

#  define _STLP_NON_TYPE_TMPL_PARAM_BUG 1
#  define _STLP_NONTEMPL_BASE_MATCH_BUG 1

#if __IBMCPP__ <= 350
#  define _STLP_NEED_UNREACHABLE_RETURN 1
#endif

#if __IBMCPP__ < 350
#  define _STLP_NO_LONG_DOUBLE 1
#endif

#if __IBMCPP__ >= 365
// does not have new C headers, but has div()
#  define _STLP_LDIV
#endif

#endif /* xlC 5 */

/* detect xlC5 by: */
#if defined(__IBMCPP__) && (500 <= __IBMCPP__) && (__IBMCPP__ < 700)
// #define _STLP_USE_EXCEPTIONS 1
# define _STLP_STATIC_CONST_INIT_BUG 1 
//#pragma report(disable,CPPC1500029)
// unsigned 32-bit integer type
#  define _STLP_UINT32_T unsigned int
#if defined(_XOPEN_SOURCE) && (_XOPEN_VERSION - 0 >= 4)
# define _STLP_RAND48 1
#endif
// #  define _STLP_RAND48 1
# endif /* __IBMCPP__ == 500 */




By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
Chief Technology Officer Apriorit Inc.
United States United States
ApriorIT is a software research and development company specializing in cybersecurity and data management technology engineering. We work for a broad range of clients from Fortune 500 technology leaders to small innovative startups building unique solutions.

As Apriorit offers integrated research&development services for the software projects in such areas as endpoint security, network security, data security, embedded Systems, and virtualization, we have strong kernel and driver development skills, huge system programming expertise, and are reals fans of research projects.

Our specialty is reverse engineering, we apply it for security testing and security-related projects.

A separate department of Apriorit works on large-scale business SaaS solutions, handling tasks from business analysis, data architecture design, and web development to performance optimization and DevOps.

Official site: https://www.apriorit.com
Clutch profile: https://clutch.co/profile/apriorit
This is a Organisation

33 members

Written By
Software Developer Codedgers Inc
Ukraine Ukraine
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.

Written By
Software Developer (Junior) ApriorIT
Ukraine Ukraine
Sergey Popenko.
22 years old.
The Driver Team`s software developer.
Master of the Applied Math faculty, the Dnipropetrovsk National University, Ukraine.

Comments and Discussions