Page Menu
Home
desp's stash
Search
Configure Global Search
Log In
Files
F352043
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Flag For Later
Size
18 KB
Subscribers
None
View Options
diff --git a/.gitattributes b/.gitattributes
new file mode 100644
index 0000000..741701c
--- /dev/null
+++ b/.gitattributes
@@ -0,0 +1,2 @@
+*.rc diff
+resource.h diff
\ No newline at end of file
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..a2efc5f
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,4 @@
+.vs/
+x64/
+ProxiFy/x64/
+ProxiFy/ProxiFy.aps
\ No newline at end of file
diff --git a/ProxiFy.sln b/ProxiFy.sln
new file mode 100644
index 0000000..25ee236
--- /dev/null
+++ b/ProxiFy.sln
@@ -0,0 +1,28 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio 14
+VisualStudioVersion = 14.0.25420.1
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ProxiFy", "ProxiFy\ProxiFy.vcxproj", "{C4B3B1EC-1E28-4B7D-B662-05C7B51AFCE2}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|x64 = Debug|x64
+ Debug|x86 = Debug|x86
+ Release|x64 = Release|x64
+ Release|x86 = Release|x86
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {C4B3B1EC-1E28-4B7D-B662-05C7B51AFCE2}.Debug|x64.ActiveCfg = Debug|x64
+ {C4B3B1EC-1E28-4B7D-B662-05C7B51AFCE2}.Debug|x64.Build.0 = Debug|x64
+ {C4B3B1EC-1E28-4B7D-B662-05C7B51AFCE2}.Debug|x86.ActiveCfg = Debug|Win32
+ {C4B3B1EC-1E28-4B7D-B662-05C7B51AFCE2}.Debug|x86.Build.0 = Debug|Win32
+ {C4B3B1EC-1E28-4B7D-B662-05C7B51AFCE2}.Release|x64.ActiveCfg = Release|x64
+ {C4B3B1EC-1E28-4B7D-B662-05C7B51AFCE2}.Release|x64.Build.0 = Release|x64
+ {C4B3B1EC-1E28-4B7D-B662-05C7B51AFCE2}.Release|x86.ActiveCfg = Release|Win32
+ {C4B3B1EC-1E28-4B7D-B662-05C7B51AFCE2}.Release|x86.Build.0 = Release|Win32
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+EndGlobal
diff --git a/ProxiFy/ProxiFy.rc b/ProxiFy/ProxiFy.rc
new file mode 100644
index 0000000..6951c9d
Binary files /dev/null and b/ProxiFy/ProxiFy.rc differ
diff --git a/ProxiFy/ProxiFy.vcxproj b/ProxiFy/ProxiFy.vcxproj
new file mode 100644
index 0000000..c867fa1
--- /dev/null
+++ b/ProxiFy/ProxiFy.vcxproj
@@ -0,0 +1,152 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="14.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="Release|Win32">
+ <Configuration>Release</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Debug|x64">
+ <Configuration>Debug</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|x64">
+ <Configuration>Release</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ </ItemGroup>
+ <ItemGroup>
+ <ClCompile Include="main.cpp" />
+ </ItemGroup>
+ <PropertyGroup Label="Globals">
+ <ProjectGuid>{C4B3B1EC-1E28-4B7D-B662-05C7B51AFCE2}</ProjectGuid>
+ <Keyword>Win32Proj</Keyword>
+ <RootNamespace>ProxiFy</RootNamespace>
+ <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <UseDebugLibraries>true</UseDebugLibraries>
+ <PlatformToolset>v140</PlatformToolset>
+ <CharacterSet>Unicode</CharacterSet>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <UseDebugLibraries>false</UseDebugLibraries>
+ <PlatformToolset>v140</PlatformToolset>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ <CharacterSet>MultiByte</CharacterSet>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <UseDebugLibraries>true</UseDebugLibraries>
+ <PlatformToolset>v140</PlatformToolset>
+ <CharacterSet>Unicode</CharacterSet>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <UseDebugLibraries>false</UseDebugLibraries>
+ <PlatformToolset>v140</PlatformToolset>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ <CharacterSet>MultiByte</CharacterSet>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+ <ImportGroup Label="ExtensionSettings">
+ </ImportGroup>
+ <ImportGroup Label="Shared">
+ </ImportGroup>
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <PropertyGroup Label="UserMacros" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <LinkIncremental>true</LinkIncremental>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <LinkIncremental>true</LinkIncremental>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <LinkIncremental>false</LinkIncremental>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <LinkIncremental>false</LinkIncremental>
+ </PropertyGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <ClCompile>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <WarningLevel>Level3</WarningLevel>
+ <Optimization>Disabled</Optimization>
+ <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ </ClCompile>
+ <Link>
+ <SubSystem>Console</SubSystem>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <ClCompile>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <WarningLevel>Level3</WarningLevel>
+ <Optimization>Disabled</Optimization>
+ <PreprocessorDefinitions>_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ </ClCompile>
+ <Link>
+ <SubSystem>Console</SubSystem>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <ClCompile>
+ <WarningLevel>Level3</WarningLevel>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <Optimization>MaxSpeed</Optimization>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <IntrinsicFunctions>true</IntrinsicFunctions>
+ <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ </ClCompile>
+ <Link>
+ <SubSystem>Console</SubSystem>
+ <EnableCOMDATFolding>true</EnableCOMDATFolding>
+ <OptimizeReferences>true</OptimizeReferences>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <AdditionalDependencies>Imagehlp.lib;dbghelp.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <ClCompile>
+ <WarningLevel>Level3</WarningLevel>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <Optimization>MaxSpeed</Optimization>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <IntrinsicFunctions>true</IntrinsicFunctions>
+ <PreprocessorDefinitions>NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ </ClCompile>
+ <Link>
+ <SubSystem>Console</SubSystem>
+ <EnableCOMDATFolding>true</EnableCOMDATFolding>
+ <OptimizeReferences>true</OptimizeReferences>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <AdditionalDependencies>Imagehlp.lib;dbghelp.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ </Link>
+ </ItemDefinitionGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+ <ImportGroup Label="ExtensionTargets">
+ </ImportGroup>
+</Project>
\ No newline at end of file
diff --git a/ProxiFy/ProxiFy.vcxproj.filters b/ProxiFy/ProxiFy.vcxproj.filters
new file mode 100644
index 0000000..0d8d9e4
--- /dev/null
+++ b/ProxiFy/ProxiFy.vcxproj.filters
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup>
+ <Filter Include="Source Files">
+ <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
+ <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
+ </Filter>
+ <Filter Include="Header Files">
+ <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
+ <Extensions>h;hh;hpp;hxx;hm;inl;inc;xsd</Extensions>
+ </Filter>
+ <Filter Include="Resource Files">
+ <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
+ <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
+ </Filter>
+ </ItemGroup>
+ <ItemGroup>
+ <ClCompile Include="main.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ </ItemGroup>
+</Project>
\ No newline at end of file
diff --git a/ProxiFy/ProxiFy.vcxproj.user b/ProxiFy/ProxiFy.vcxproj.user
new file mode 100644
index 0000000..be25078
--- /dev/null
+++ b/ProxiFy/ProxiFy.vcxproj.user
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <PropertyGroup />
+</Project>
\ No newline at end of file
diff --git a/ProxiFy/main.cpp b/ProxiFy/main.cpp
new file mode 100644
index 0000000..0d8ebca
--- /dev/null
+++ b/ProxiFy/main.cpp
@@ -0,0 +1,292 @@
+#include <iostream>
+#include <Windows.h>
+#include <Commdlg.h>
+#include <String.h>
+#include <winnt.h>
+#include <imagehlp.h>
+#include <vector>
+#include <string>
+#include <fstream>
+#include <tchar.h>
+#include <stdio.h>
+
+using namespace std;
+
+// Check if its 32bit or 64bit
+WORD fileType;
+
+// Exported names
+vector<string> names;
+
+const vector<string> explode(const string& s, const char& c)
+{
+ string buff{ "" };
+ vector<string> v;
+
+ for (auto n : s)
+ {
+ if (n != c) buff += n; else
+ if (n == c && buff != "") { v.push_back(buff); buff = ""; }
+ }
+ if (buff != "") v.push_back(buff);
+
+ return v;
+}
+
+bool GetImageFileHeaders(string fileName, IMAGE_NT_HEADERS &headers)
+{
+ HANDLE fileHandle = CreateFile(
+ fileName.c_str(),
+ GENERIC_READ,
+ FILE_SHARE_READ,
+ nullptr,
+ OPEN_EXISTING,
+ FILE_ATTRIBUTE_NORMAL,
+ 0
+ );
+ if (fileHandle == INVALID_HANDLE_VALUE)
+ return false;
+
+ HANDLE imageHandle = CreateFileMapping(
+ fileHandle,
+ nullptr,
+ PAGE_READONLY,
+ 0,
+ 0,
+ nullptr
+ );
+ if (imageHandle == 0)
+ {
+ CloseHandle(fileHandle);
+ return false;
+ }
+
+ void *imagePtr = MapViewOfFile(
+ imageHandle,
+ FILE_MAP_READ,
+ 0,
+ 0,
+ 0
+ );
+ if (imagePtr == nullptr)
+ {
+ CloseHandle(imageHandle);
+ CloseHandle(fileHandle);
+ return false;
+ }
+
+ PIMAGE_NT_HEADERS headersPtr = ImageNtHeader(imagePtr);
+ if (headersPtr == nullptr)
+ {
+ UnmapViewOfFile(imagePtr);
+ CloseHandle(imageHandle);
+ CloseHandle(fileHandle);
+ return false;
+ }
+
+ headers = *headersPtr;
+
+ UnmapViewOfFile(imagePtr);
+ CloseHandle(imageHandle);
+ CloseHandle(fileHandle);
+
+ return true;
+}
+
+void ListDLLFunctions(string sADllName, vector<string>& slListOfDllFunctions)
+{
+ DWORD *dNameRVAs(0);
+ DWORD *dNameRVAs2(0);
+ _IMAGE_EXPORT_DIRECTORY *ImageExportDirectory;
+ unsigned long cDirSize;
+ _LOADED_IMAGE LoadedImage;
+ string sName;
+ slListOfDllFunctions.clear();
+ if (MapAndLoad(sADllName.c_str(), NULL, &LoadedImage, TRUE, TRUE))
+ {
+
+
+
+ ImageExportDirectory = (_IMAGE_EXPORT_DIRECTORY*)
+ ImageDirectoryEntryToData(LoadedImage.MappedAddress,
+ false, IMAGE_DIRECTORY_ENTRY_EXPORT, &cDirSize);
+
+ if (ImageExportDirectory != NULL)
+ {
+ dNameRVAs = (DWORD *)ImageRvaToVa(LoadedImage.FileHeader,
+ LoadedImage.MappedAddress,
+ ImageExportDirectory->AddressOfNames, NULL);
+
+ for (size_t i = 0; i < ImageExportDirectory->NumberOfNames; i++)
+ {
+ sName = (char *)ImageRvaToVa(LoadedImage.FileHeader,
+ LoadedImage.MappedAddress,
+ dNameRVAs[i], NULL);
+
+ slListOfDllFunctions.push_back(sName);
+ }
+
+ }
+ UnMapAndLoad(&LoadedImage);
+ }
+}
+
+void GenerateDEF(string name, vector<string> names)
+{
+ std::fstream file;
+ file.open(name + ".def", std::ios::out);
+ file << "LIBRARY " << name << endl;
+ file << "EXPORTS" << endl;
+
+ // Loop them
+ for (int i = 0; i < names.size(); i++)
+ {
+ file << "\t" << names[i] << "=PROXY_" << names[i] << " @" << i+1 << endl;
+ }
+
+ file.close();
+}
+
+void GenerateMainCPP(string name, vector<string> names)
+{
+ std::fstream file;
+ file.open(name + ".cpp", std::ios::out);
+ file << "#include <windows.h>" << endl << endl;
+
+ file << "HINSTANCE hLThis = 0;" << endl;
+ file << "FARPROC p[" << names.size() << "];" << endl;
+ file << "HINSTANCE hL = 0;" << endl << endl;
+
+
+ file << "BOOL WINAPI DllMain(HINSTANCE hInst,DWORD reason,LPVOID)" << endl;
+ file << "{" << endl;
+ file << "\tif (reason == DLL_PROCESS_ATTACH)" << endl;
+ file << "\t{" << endl;
+ file << "\t\thLThis = hInst;" << endl;
+ file << "\t\thL = LoadLibrary(\".\\\\" << name << "_.dll\");" << endl;
+ file << "\t\tif(!hL) return false;" << endl;
+ file << "\t}" << endl << endl;
+
+ // Exports addresses
+ for (int i = 0; i < names.size(); i++)
+ {
+ file << "\tp[" << i << "] = GetProcAddress(hL, \"" << names[i] << "\");" << endl;
+ }
+
+
+ file << "\tif (reason == DLL_PROCESS_DETACH)" << endl;
+ file << "\t{" << endl;
+ file << "\t\tFreeLibrary(hL);" << endl;
+ file << "\t\treturn 1;" << endl;
+
+ file << "\t}" << endl << endl;;
+ file << "\treturn 1;" << endl;
+ file << "}" << endl << endl;
+
+
+ // Generate Exports
+ file << "extern \"C\"" << endl << "{" << endl;
+
+ if (fileType == IMAGE_FILE_MACHINE_AMD64)
+ {
+ file << "\tFARPROC PA = NULL;" << endl;
+ file << "\tint RunASM();" << endl << endl;
+
+ for (int i = 0; i < names.size(); i++)
+ {
+ file << "\tvoid " << "PROXY_" << names[i] << "() {" << endl;
+ file << "\t\tPA = p[" << i << "];" << endl;
+ file << "\t\tRunASM();" << endl;
+ file << "\t}" << endl;
+ }
+ } else {
+ for (int i = 0; i < names.size(); i++)
+ {
+ file << "\tvoid " << "PROXY_" << names[i] << "() {" << endl;
+ file << "\t\t__asm" << endl << "\t\t {";
+ file << "\t\t\tjmp p[" << i+1 << " * 4]" << endl;
+ file << "\t\t}" << endl;
+ file << "\t}" << endl;
+ }
+ }
+
+ file << "}" << endl;
+
+ file.close();
+}
+
+void GenerateASM(string name)
+{
+ std::fstream file;
+ file.open(name + ".asm", std::ios::out);
+ file << ".data" << endl;
+ file << "extern PA : qword" << endl;
+ file << ".code" << endl;
+ file << "RunASM proc" << endl;
+ file << "jmp qword ptr [PA]" << endl;
+ file << "RunASM endp" << endl;
+ file << "end" << endl;
+
+ file.close();
+}
+
+int main()
+{
+ OPENFILENAME ofn;
+ char szFile[100];
+
+ // open a file name
+ ZeroMemory(&ofn, sizeof(ofn));
+ ofn.lStructSize = sizeof(ofn);
+ ofn.hwndOwner = NULL;
+ ofn.lpstrFile = szFile;
+ ofn.lpstrFile[0] = '\0';
+ ofn.nMaxFile = sizeof(szFile);
+ ofn.lpstrFilter = "DLL\0*.dll\0";
+ ofn.nFilterIndex = 1;
+ ofn.lpstrFileTitle = NULL;
+ ofn.nMaxFileTitle = 0;
+ ofn.lpstrInitialDir = NULL;
+ ofn.Flags = OFN_PATHMUSTEXIST | OFN_FILEMUSTEXIST | OFN_NOCHANGEDIR;
+
+ cout << "ProxiFy - Copyright (C) Kristoffer Blasiak." << endl;
+ cout << "Select the DLL you want to make a proxy for." << endl;
+
+ if (!GetOpenFileName(&ofn))
+ {
+ MessageBox(NULL, "You have to choose a file.", "File not opened", MB_OK);
+ return 0;
+ }
+
+
+ IMAGE_NT_HEADERS headers;
+ if (GetImageFileHeaders(ofn.lpstrFile, headers))
+ {
+ fileType = headers.FileHeader.Machine;
+ }
+
+ if (fileType == IMAGE_FILE_MACHINE_AMD64)
+ MessageBox(NULL, "64 bit file", "64 bit file", MB_OK);
+
+ if (fileType == IMAGE_FILE_MACHINE_I386)
+ MessageBox(NULL, "32 bit file", "32 bit file", MB_OK);
+
+ // Get filename
+ vector<std::string> fileNameV = explode(ofn.lpstrFile, '\\');
+ std::string fileName = fileNameV[fileNameV.size() - 1];
+ fileName = fileName.substr(0, fileName.size() - 4);
+
+ // Get dll export names
+ ListDLLFunctions(ofn.lpstrFile, names);
+
+
+ // Create Def File
+ GenerateDEF(fileName, names);
+ GenerateMainCPP(fileName, names);
+
+ if (fileType == IMAGE_FILE_MACHINE_AMD64)
+ GenerateASM(fileName);
+
+
+ return 0;
+}
\ No newline at end of file
diff --git a/ProxiFy/resource.h b/ProxiFy/resource.h
new file mode 100644
index 0000000..de225b8
Binary files /dev/null and b/ProxiFy/resource.h differ
File Metadata
Details
Attached
Mime Type
text/x-diff
Expires
Tue, May 27, 1:39 AM (1 d, 5 h)
Storage Engine
local-disk
Storage Format
Raw Data
Storage Handle
a8/f9/920603709a503124548c2db6d94a
Attached To
rPRX ProxiFy
Event Timeline
Log In to Comment