From 4a1815d7b0ca79d1394e4c52f87166d66e414631 Mon Sep 17 00:00:00 2001 From: OJ Date: Tue, 29 Oct 2013 13:46:46 +1000 Subject: [PATCH] Upgrade to VS 2013 --- README.md | 35 +++------ make.bat | 21 +----- .../ReflectiveDLLInjection.vcxproj | 18 ++--- workspace/backcompat/backcompat.vcxproj | 10 +-- workspace/common/common.vcxproj | 18 ++--- workspace/elevator/elevator.vcxproj | 20 ++--- .../ext_server_espia/ext_server_espia.vcxproj | 20 ++--- .../ext_server_incognito.vcxproj | 20 ++--- .../ext_server_lanattacks.vcxproj | 20 ++--- .../ext_server_mimikatz.vcxproj | 20 ++--- .../ext_server_priv/ext_server_priv.vcxproj | 20 ++--- .../ext_server_sniffer.vcxproj | 12 +-- .../ext_server_stdapi.vcxproj | 74 +++++++++---------- workspace/metsrv/metsrv.vcxproj | 20 ++--- workspace/screenshot/screenshot.vcxproj | 20 ++--- 15 files changed, 158 insertions(+), 190 deletions(-) diff --git a/README.md b/README.md index ace61c6..2b1cc23 100644 --- a/README.md +++ b/README.md @@ -9,37 +9,22 @@ This is the new repository for the Meterpreter [source], which was originally in 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. +Meterpreter is now being 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. Make sure that the version that you download is +`Visual Studio Express 2013 for Windows Desktop`. -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 @@ -133,7 +118,7 @@ project going by doing the following: 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 2012. +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` @@ -168,8 +153,8 @@ Things to Remember Good luck! - [vs_express]: http://www.microsoft.com/visualstudio/eng/downloads#d-2012-express - [vs_paid]: http://www.microsoft.com/visualstudio/eng/downloads#d-2012-editions + [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 diff --git a/make.bat b/make.bat index b1b17ef..6f98836 100644 --- a/make.bat +++ b/make.bat @@ -1,24 +1,7 @@ @ECHO OFF IF "%1"=="clean" GOTO CLEAN IF "%1"=="docs" GOTO DOCS -IF "%VCINSTALLDIR%" == "" ( - ECHO "VC++ Environment not found, attempting to locate..." - REM Attempt to load up the dev env variables if they're not - REM set, saves people doing it manually - SET SETUP="Microsoft Visual Studio 11.0\Common7\Tools\vsvars32.bat" - IF EXIST "%ProgramFiles%\%SETUP%" ( - ECHO "Found at '%ProgramFiles%\%SETUP%'" - "%ProgramFiles%\%SETUP%" - ) - - IF EXIST "%ProgramFiles(x86)%\%SETUP%" ( - ECHO "Found at '%ProgramFiles(x86)%\%SETUP%'" - "%ProgramFiles(x86)%\%SETUP%" - ) - - REM If we still don't have what we need, then throw an error - IF "%VCINSTALLDIR%" == "" GOTO NEED_VS -) +IF "%VCINSTALLDIR%" == "" GOTO NEED_VS SET PREF= IF EXIST "..\pssdk\" SET PREF=r7_ @@ -62,6 +45,6 @@ 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 diff --git a/workspace/ReflectiveDLLInjection/ReflectiveDLLInjection.vcxproj b/workspace/ReflectiveDLLInjection/ReflectiveDLLInjection.vcxproj index a9b7fd4..a5c77d7 100644 --- a/workspace/ReflectiveDLLInjection/ReflectiveDLLInjection.vcxproj +++ b/workspace/ReflectiveDLLInjection/ReflectiveDLLInjection.vcxproj @@ -1,5 +1,5 @@  - + Debug @@ -44,45 +44,45 @@ StaticLibrary Unicode false - v110_xp + v120_xp StaticLibrary Unicode false - v110_xp + v120_xp StaticLibrary Unicode - v110_xp + v120_xp StaticLibrary Unicode - v110_xp + v120_xp StaticLibrary MultiByte true - v110_xp + v120_xp StaticLibrary MultiByte true - v110_xp + v120_xp StaticLibrary Unicode - v110_xp + v120_xp StaticLibrary Unicode - v110_xp + v120_xp diff --git a/workspace/backcompat/backcompat.vcxproj b/workspace/backcompat/backcompat.vcxproj index 7840b18..0c5dea7 100644 --- a/workspace/backcompat/backcompat.vcxproj +++ b/workspace/backcompat/backcompat.vcxproj @@ -1,5 +1,5 @@  - + Debug @@ -28,27 +28,27 @@ StaticLibrary true Unicode - v110_xp + v120_xp StaticLibrary true Unicode - v110_xp + v120_xp StaticLibrary false true Unicode - v110_xp + v120_xp StaticLibrary false true Unicode - v110_xp + v120_xp diff --git a/workspace/common/common.vcxproj b/workspace/common/common.vcxproj index 372e39e..f350899 100644 --- a/workspace/common/common.vcxproj +++ b/workspace/common/common.vcxproj @@ -1,5 +1,5 @@  - + Debug @@ -43,49 +43,49 @@ StaticLibrary false MultiByte - v110_xp + v120_xp StaticLibrary false MultiByte - v110_xp + v120_xp StaticLibrary false MultiByte - v110_xp + v120_xp StaticLibrary false MultiByte - v110_xp + v120_xp StaticLibrary false MultiByte - v110_xp + v120_xp StaticLibrary false MultiByte - v110_xp + v120_xp StaticLibrary false MultiByte - v110_xp + v120_xp StaticLibrary false MultiByte - v110_xp + v120_xp diff --git a/workspace/elevator/elevator.vcxproj b/workspace/elevator/elevator.vcxproj index c578a5a..291110e 100644 --- a/workspace/elevator/elevator.vcxproj +++ b/workspace/elevator/elevator.vcxproj @@ -1,5 +1,5 @@  - + Debug @@ -44,45 +44,45 @@ DynamicLibrary MultiByte true - v110_xp + v120_xp DynamicLibrary MultiByte true - v110_xp + v120_xp DynamicLibrary MultiByte - v110_xp + v120_xp DynamicLibrary MultiByte - v110_xp + v120_xp DynamicLibrary MultiByte true - v110_xp + v120_xp DynamicLibrary MultiByte true - v110_xp + v120_xp DynamicLibrary MultiByte - v110_xp + v120_xp DynamicLibrary MultiByte - v110_xp + v120_xp @@ -427,4 +427,4 @@ copy /y "$(TargetDir)$(TargetFileName)" "$(ProjectDir)..\..\output\$(PlatformSho - + \ No newline at end of file diff --git a/workspace/ext_server_espia/ext_server_espia.vcxproj b/workspace/ext_server_espia/ext_server_espia.vcxproj index 9839f75..76f26e9 100644 --- a/workspace/ext_server_espia/ext_server_espia.vcxproj +++ b/workspace/ext_server_espia/ext_server_espia.vcxproj @@ -1,5 +1,5 @@  - + Debug @@ -44,45 +44,45 @@ DynamicLibrary MultiByte false - v110_xp + v120_xp DynamicLibrary MultiByte false - v110_xp + v120_xp DynamicLibrary Unicode - v110_xp + v120_xp DynamicLibrary Unicode - v110_xp + v120_xp DynamicLibrary MultiByte false - v110_xp + v120_xp DynamicLibrary MultiByte false - v110_xp + v120_xp DynamicLibrary Unicode - v110_xp + v120_xp DynamicLibrary Unicode - v110_xp + v120_xp @@ -492,4 +492,4 @@ copy /y "$(TargetDir)$(TargetFileName)" "$(ProjectDir)..\..\output\$(PlatformSho - + \ No newline at end of file diff --git a/workspace/ext_server_incognito/ext_server_incognito.vcxproj b/workspace/ext_server_incognito/ext_server_incognito.vcxproj index 86414c6..80a9678 100644 --- a/workspace/ext_server_incognito/ext_server_incognito.vcxproj +++ b/workspace/ext_server_incognito/ext_server_incognito.vcxproj @@ -1,5 +1,5 @@  - + Debug @@ -44,45 +44,45 @@ DynamicLibrary MultiByte false - v110_xp + v120_xp DynamicLibrary MultiByte false - v110_xp + v120_xp DynamicLibrary Unicode - v110_xp + v120_xp DynamicLibrary Unicode - v110_xp + v120_xp DynamicLibrary MultiByte false - v110_xp + v120_xp DynamicLibrary MultiByte false - v110_xp + v120_xp DynamicLibrary Unicode - v110_xp + v120_xp DynamicLibrary Unicode - v110_xp + v120_xp @@ -480,4 +480,4 @@ copy /y "$(TargetDir)$(TargetFileName)" "$(ProjectDir)..\..\output\$(PlatformSho - + \ No newline at end of file diff --git a/workspace/ext_server_lanattacks/ext_server_lanattacks.vcxproj b/workspace/ext_server_lanattacks/ext_server_lanattacks.vcxproj index 588df10..c589533 100644 --- a/workspace/ext_server_lanattacks/ext_server_lanattacks.vcxproj +++ b/workspace/ext_server_lanattacks/ext_server_lanattacks.vcxproj @@ -1,5 +1,5 @@  - + Debug @@ -44,45 +44,45 @@ DynamicLibrary MultiByte false - v110_xp + v120_xp DynamicLibrary MultiByte false - v110_xp + v120_xp DynamicLibrary MultiByte - v110_xp + v120_xp DynamicLibrary MultiByte - v110_xp + v120_xp DynamicLibrary MultiByte false - v110_xp + v120_xp DynamicLibrary MultiByte false - v110_xp + v120_xp DynamicLibrary MultiByte - v110_xp + v120_xp DynamicLibrary MultiByte - v110_xp + v120_xp @@ -485,4 +485,4 @@ copy /y "$(TargetDir)$(TargetFileName)" "$(ProjectDir)..\..\output\$(PlatformSho - + \ No newline at end of file diff --git a/workspace/ext_server_mimikatz/ext_server_mimikatz.vcxproj b/workspace/ext_server_mimikatz/ext_server_mimikatz.vcxproj index e79a5ec..c0ad504 100644 --- a/workspace/ext_server_mimikatz/ext_server_mimikatz.vcxproj +++ b/workspace/ext_server_mimikatz/ext_server_mimikatz.vcxproj @@ -1,5 +1,5 @@  - + Debug @@ -44,45 +44,45 @@ DynamicLibrary Unicode false - v110_xp + v120_xp DynamicLibrary Unicode false - v110_xp + v120_xp DynamicLibrary Unicode - v110_xp + v120_xp DynamicLibrary Unicode - v110_xp + v120_xp DynamicLibrary Unicode false - v110_xp + v120_xp DynamicLibrary Unicode false - v110_xp + v120_xp DynamicLibrary Unicode - v110_xp + v120_xp DynamicLibrary Unicode - v110_xp + v120_xp @@ -675,4 +675,4 @@ copy /y "$(TargetDir)$(TargetFileName)" "$(ProjectDir)..\..\output\$(PlatformSho - + \ No newline at end of file diff --git a/workspace/ext_server_priv/ext_server_priv.vcxproj b/workspace/ext_server_priv/ext_server_priv.vcxproj index c8e6af0..6a043e0 100644 --- a/workspace/ext_server_priv/ext_server_priv.vcxproj +++ b/workspace/ext_server_priv/ext_server_priv.vcxproj @@ -1,5 +1,5 @@  - + Debug @@ -43,49 +43,49 @@ DynamicLibrary false MultiByte - v110_xp + v120_xp DynamicLibrary false MultiByte - v110_xp + v120_xp DynamicLibrary false MultiByte - v110_xp + v120_xp DynamicLibrary false MultiByte - v110_xp + v120_xp DynamicLibrary false MultiByte - v110_xp + v120_xp DynamicLibrary false MultiByte - v110_xp + v120_xp DynamicLibrary false MultiByte - v110_xp + v120_xp DynamicLibrary false MultiByte - v110_xp + v120_xp @@ -698,4 +698,4 @@ copy /y "$(TargetDir)$(TargetFileName)" "$(ProjectDir)..\..\output\$(PlatformSho - + \ No newline at end of file diff --git a/workspace/ext_server_sniffer/ext_server_sniffer.vcxproj b/workspace/ext_server_sniffer/ext_server_sniffer.vcxproj index 23c2126..7437697 100644 --- a/workspace/ext_server_sniffer/ext_server_sniffer.vcxproj +++ b/workspace/ext_server_sniffer/ext_server_sniffer.vcxproj @@ -1,5 +1,5 @@  - + r7_debug @@ -21,32 +21,32 @@ {BF0C0D6E-9119-4518-A3BC-2CF99C0E27D9} ext_server_sniffer - vc11 + vc12 DynamicLibrary false MultiByte - v110_xp + v120_xp DynamicLibrary false MultiByte - v110_xp + v120_xp DynamicLibrary false MultiByte - v110_xp + v120_xp DynamicLibrary false MultiByte - v110_xp + v120_xp diff --git a/workspace/ext_server_stdapi/ext_server_stdapi.vcxproj b/workspace/ext_server_stdapi/ext_server_stdapi.vcxproj index 004d90f..612eeb9 100644 --- a/workspace/ext_server_stdapi/ext_server_stdapi.vcxproj +++ b/workspace/ext_server_stdapi/ext_server_stdapi.vcxproj @@ -1,5 +1,5 @@  - + Debug @@ -43,49 +43,49 @@ DynamicLibrary false MultiByte - v110_xp + v120_xp DynamicLibrary false MultiByte - v110_xp + v120_xp DynamicLibrary false MultiByte - v110_xp + v120_xp DynamicLibrary false MultiByte - v110_xp + v120_xp DynamicLibrary false MultiByte - v110_xp + v120_xp DynamicLibrary false MultiByte - v110_xp + v120_xp DynamicLibrary false MultiByte - v110_xp + v120_xp DynamicLibrary false MultiByte - v110_xp + v120_xp @@ -599,47 +599,47 @@ copy /y "$(TargetDir)$(TargetFileName)" "$(ProjectDir)..\..\output\$(PlatformSho - - + + Create - - - + + + - - - - + + + + - - - - + + + + - - - - - - + + + + + + - - - - + + + + - - - + + + - + @@ -688,4 +688,4 @@ copy /y "$(TargetDir)$(TargetFileName)" "$(ProjectDir)..\..\output\$(PlatformSho - + \ No newline at end of file diff --git a/workspace/metsrv/metsrv.vcxproj b/workspace/metsrv/metsrv.vcxproj index d88d70d..288dbbd 100644 --- a/workspace/metsrv/metsrv.vcxproj +++ b/workspace/metsrv/metsrv.vcxproj @@ -1,5 +1,5 @@  - + Debug @@ -43,49 +43,49 @@ DynamicLibrary false MultiByte - v110_xp + v120_xp DynamicLibrary false MultiByte - v110_xp + v120_xp DynamicLibrary false MultiByte - v110_xp + v120_xp DynamicLibrary false MultiByte - v110_xp + v120_xp DynamicLibrary false MultiByte - v110_xp + v120_xp DynamicLibrary false MultiByte - v110_xp + v120_xp DynamicLibrary false MultiByte - v110_xp + v120_xp DynamicLibrary false MultiByte - v110_xp + v120_xp @@ -680,4 +680,4 @@ copy /y "$(TargetDir)$(TargetFileName)" "$(ProjectDir)..\..\output\$(PlatformSho - + \ No newline at end of file diff --git a/workspace/screenshot/screenshot.vcxproj b/workspace/screenshot/screenshot.vcxproj index ea263cc..e606eb6 100644 --- a/workspace/screenshot/screenshot.vcxproj +++ b/workspace/screenshot/screenshot.vcxproj @@ -1,5 +1,5 @@  - + Debug @@ -44,45 +44,45 @@ DynamicLibrary MultiByte false - v110_xp + v120_xp DynamicLibrary MultiByte false - v110_xp + v120_xp DynamicLibrary Unicode - v110_xp + v120_xp DynamicLibrary Unicode - v110_xp + v120_xp DynamicLibrary MultiByte false - v110_xp + v120_xp DynamicLibrary MultiByte false - v110_xp + v120_xp DynamicLibrary Unicode - v110_xp + v120_xp DynamicLibrary Unicode - v110_xp + v120_xp @@ -439,4 +439,4 @@ copy /y "$(TargetDir)$(TargetFileName)" "$(ProjectDir)..\..\output\$(PlatformSho - + \ No newline at end of file