diff --git a/WeChatFerry/WeChatFerry.sln b/WeChatFerry/WeChatFerry.sln
index 2122ba1..02ba879 100644
--- a/WeChatFerry/WeChatFerry.sln
+++ b/WeChatFerry/WeChatFerry.sln
@@ -13,14 +13,18 @@ EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|x64 = Debug|x64
+ Dev|x64 = Dev|x64
Release|x64 = Release|x64
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{4DE80B82-5F6A-4C4C-9D16-1574308110FA}.Debug|x64.ActiveCfg = Debug|x64
{4DE80B82-5F6A-4C4C-9D16-1574308110FA}.Debug|x64.Build.0 = Debug|x64
+ {4DE80B82-5F6A-4C4C-9D16-1574308110FA}.Dev|x64.ActiveCfg = Dev|x64
+ {4DE80B82-5F6A-4C4C-9D16-1574308110FA}.Dev|x64.Build.0 = Dev|x64
{4DE80B82-5F6A-4C4C-9D16-1574308110FA}.Release|x64.ActiveCfg = Release|x64
{4DE80B82-5F6A-4C4C-9D16-1574308110FA}.Release|x64.Build.0 = Release|x64
{ABFCB647-137F-478B-A73E-F0B1E3ADC215}.Debug|x64.ActiveCfg = Debug|x64
+ {ABFCB647-137F-478B-A73E-F0B1E3ADC215}.Dev|x64.ActiveCfg = Dev|x64
{ABFCB647-137F-478B-A73E-F0B1E3ADC215}.Release|x64.ActiveCfg = Release|x64
{ABFCB647-137F-478B-A73E-F0B1E3ADC215}.Release|x64.Build.0 = Release|x64
EndGlobalSection
diff --git a/WeChatFerry/sdk/SDK.vcxproj b/WeChatFerry/sdk/SDK.vcxproj
index 1d038db..af47a4b 100644
--- a/WeChatFerry/sdk/SDK.vcxproj
+++ b/WeChatFerry/sdk/SDK.vcxproj
@@ -5,6 +5,10 @@
Debug
x64
+
+ Dev
+ x64
+
Release
x64
@@ -24,6 +28,12 @@
v142
Unicode
+
+ DynamicLibrary
+ true
+ v142
+ Unicode
+
DynamicLibrary
false
@@ -39,6 +49,9 @@
+
+
+
@@ -46,6 +59,9 @@
true
+
+ true
+
false
@@ -69,6 +85,22 @@
sdk.def
+
+
+ Level3
+ true
+ _DEBUG;SDK_EXPORTS;_WINDOWS;_USRDLL;%(PreprocessorDefinitions)
+ true
+ Use
+ pch.h
+
+
+ Windows
+ true
+ false
+ sdk.def
+
+
Level3
diff --git a/WeChatFerry/spy/Spy.vcxproj b/WeChatFerry/spy/Spy.vcxproj
index 0377e89..ccf0ea3 100644
--- a/WeChatFerry/spy/Spy.vcxproj
+++ b/WeChatFerry/spy/Spy.vcxproj
@@ -5,6 +5,10 @@
Debug
x64
+
+ Dev
+ x64
+
Release
x64
@@ -25,6 +29,12 @@
v142
Unicode
+
+ DynamicLibrary
+ true
+ v142
+ Unicode
+
DynamicLibrary
false
@@ -40,6 +50,9 @@
+
+
+
@@ -48,6 +61,10 @@
true
$(ProjectName)_debug
+
+ true
+ $(ProjectName)_dev
+
false
@@ -55,6 +72,10 @@
true
Release
+
+ true
+ Release
+
true
@@ -100,6 +121,55 @@ xcopy /y $(OutDir)$(TargetFileName) $(SolutionDir)Out
xcopy /y $(OutDir)$(TargetName).exp $(SolutionDir)Out
xcopy /y $(OutDir)$(TargetName).lib $(SolutionDir)Out
xcopy /y $(OutDir)$(TargetName).pdb $(SolutionDir)Out
+xcopy /y $(OutDir)$(TargetFileName) $(SolutionDir)..\clients\python\wcferry
+
+
+ Copy spy.dll
+
+
+
+
+ Level3
+ true
+ WIN32;NDEBUG;SPY_EXPORTS;_WINDOWS;_USRDLL;ENABLE_DEBUG_LOG;ENABLE_WX_LOG;%(PreprocessorDefinitions)
+ true
+ NotUsing
+
+
+ stdcpp17
+ $(SolutionDir)com;$(SolutionDir)rpc;$(SolutionDir)rpc\nanopb;$(SolutionDir)rpc\proto;$(SolutionDir)smc;$(SolutionDir)spy;C:\Tools\vcpkg\installed\x64-windows-static\include
+ true
+ false
+ MultiThreaded
+ true
+
+
+ 4251;4731;4819
+ /EHa %(AdditionalOptions)
+
+
+ Windows
+ true
+ false
+ spy.def
+ /ignore:4099 %(AdditionalOptions)
+ $(SolutionDir)smc;%(AdditionalLibraryDirectories)
+ iphlpapi.lib;wsock32.lib;ws2_32.lib;crypt32.lib;Codec.lib;%(AdditionalDependencies)
+ true
+
+
+ cd $(SolutionDir)rpc\proto
+$(SolutionDir)rpc\tool\protoc --nanopb_out=. wcf.proto
+
+
+ Generating PB files
+
+
+ if not exist $(SolutionDir)Out md $(SolutionDir)Out
+xcopy /y $(OutDir)$(TargetFileName) $(SolutionDir)Out
+xcopy /y $(OutDir)$(TargetName).exp $(SolutionDir)Out
+xcopy /y $(OutDir)$(TargetName).lib $(SolutionDir)Out
+xcopy /y $(OutDir)$(TargetName).pdb $(SolutionDir)Out
xcopy /y $(OutDir)$(TargetFileName) $(SolutionDir)..\clients\python\wcferry