[Forensics-changes] [yara] 48/135: Fix compilation in Windows
Hilko Bengen
bengen at moszumanska.debian.org
Sat Jul 1 10:27:31 UTC 2017
This is an automated email from the git hooks/post-receive script.
bengen pushed a commit to annotated tag v3.1.0
in repository yara.
commit 6a11508161bdf0ffe4060408e3a7c8ad5f2371f9
Author: Victor M. Alvarez <plusvic at gmail.com>
Date: Fri Jul 4 14:00:13 2014 +0200
Fix compilation in Windows
---
libyara/include/yara/modules.h | 10 +++++-----
libyara/include/yara/utils.h | 5 +++++
libyara/modules.c | 5 +++--
libyara/modules/cuckoo.c | 2 +-
libyara/modules/pe.c | 9 +++++++--
windows/libyara/libyara.vcxproj | 25 +++++++++++++++++--------
windows/yara/yara.vcxproj | 10 ++++++----
windows/yarac/yarac.vcxproj | 11 +++++++----
8 files changed, 51 insertions(+), 26 deletions(-)
diff --git a/libyara/include/yara/modules.h b/libyara/include/yara/modules.h
index b80765e..92d0e33 100644
--- a/libyara/include/yara/modules.h
+++ b/libyara/include/yara/modules.h
@@ -40,10 +40,10 @@ limitations under the License.
#define begin_declarations \
- int module_declarations(YR_OBJECT* main_structure) { \
+ int module_declarations(YR_OBJECT* module) { \
YR_OBJECT* stack[64]; \
int stack_top = 0; \
- stack[stack_top] = main_structure;
+ stack[stack_top] = module;
#define end_declarations \
@@ -200,19 +200,19 @@ limitations under the License.
typedef int (*YR_EXT_DECLARATIONS_FUNC)( \
- YR_OBJECT* main_structure);
+ YR_OBJECT* module);
typedef int (*YR_EXT_LOAD_FUNC)( \
YR_SCAN_CONTEXT* context,
- YR_OBJECT* main_structure,
+ YR_OBJECT* module,
void* module_data,
size_t module_data_size);
typedef int (*YR_EXT_UNLOAD_FUNC)( \
- YR_OBJECT* main_structure);
+ YR_OBJECT* module);
typedef struct _YR_MODULE
diff --git a/libyara/include/yara/utils.h b/libyara/include/yara/utils.h
index 4f19a1c..1357c36 100644
--- a/libyara/include/yara/utils.h
+++ b/libyara/include/yara/utils.h
@@ -45,6 +45,11 @@ limitations under the License.
#define PTR_TO_UINT64(x) ((uint64_t) (size_t) x)
+#ifdef WIN32
+#define snprintf _snprintf
+#define strcasecmp _stricmp
+#endif
+
#ifdef NDEBUG
#define assertf(expr, msg) ((void)0)
diff --git a/libyara/modules.c b/libyara/modules.c
index db90cff..5266ef8 100644
--- a/libyara/modules.c
+++ b/libyara/modules.c
@@ -23,13 +23,14 @@ limitations under the License.
#define MODULE(name) \
- int name ## _declarations(); \
+ int name ## _declarations(YR_OBJECT* module); \
int name ## _load(YR_SCAN_CONTEXT* context, \
- YR_OBJECT* main_structure, \
+ YR_OBJECT* module, \
void* module_data, \
size_t module_data_size); \
int name ## _unload(YR_OBJECT* main_structure);
+
#include <modules/list>
#undef MODULE
diff --git a/libyara/modules/cuckoo.c b/libyara/modules/cuckoo.c
index 515ca83..76f13eb 100644
--- a/libyara/modules/cuckoo.c
+++ b/libyara/modules/cuckoo.c
@@ -30,7 +30,7 @@ define_function(network_dns_lookup)
YR_OBJECT* network_obj = self();
json_t* network_json = (json_t*) network_obj->data;
- json_t* dns_json = json_object_get(network_json, "dns");;
+ json_t* dns_json = json_object_get(network_json, "dns");
json_t* value;
uint64_t result = 0;
diff --git a/libyara/modules/pe.c b/libyara/modules/pe.c
index f87ac14..c570d3c 100644
--- a/libyara/modules/pe.c
+++ b/libyara/modules/pe.c
@@ -14,7 +14,12 @@ See the License for the specific language governing permissions and
limitations under the License.
*/
+#ifdef WIN32
+#include <windows.h>
+#else
#include <yara/pe.h>
+#endif
+
#include <yara/modules.h>
@@ -80,12 +85,12 @@ uint64_t rva_to_offset(
DWORD section_rva;
DWORD section_offset;
+ int i = 0;
+
section = IMAGE_FIRST_SECTION(pe_header);
section_rva = 0;
section_offset = 0;
- int i = 0;
-
while(i < MIN(pe_header->FileHeader.NumberOfSections, 60))
{
if ((uint8_t*) section - \
diff --git a/windows/libyara/libyara.vcxproj b/windows/libyara/libyara.vcxproj
index 5227524..8cd004e 100644
--- a/windows/libyara/libyara.vcxproj
+++ b/windows/libyara/libyara.vcxproj
@@ -74,14 +74,15 @@
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<PreprocessorDefinitions>WIN32;_CRT_SECURE_NO_WARNINGS</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>..\libyara\regex;..\libyara;..\..\windows\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <AdditionalIncludeDirectories>..\..;..\..\libyara;..\..\libyara\include;..\..\windows\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<DisableSpecificWarnings>4005;4273;4090;</DisableSpecificWarnings>
</ClCompile>
<Lib>
<OutputFile>$(OutDir)$(TargetName)$(TargetExt)</OutputFile>
- <AdditionalDependencies>advapi32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <AdditionalDependencies>advapi32.lib;jansson32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalLibraryDirectories>..\lib</AdditionalLibraryDirectories>
+ <LinkTimeCodeGeneration>true</LinkTimeCodeGeneration>
</Lib>
<ProjectReference>
<LinkLibraryDependencies>false</LinkLibraryDependencies>
@@ -90,12 +91,12 @@
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<PreprocessorDefinitions>WIN32;</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>..\..\windows\include;..\libyara;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <AdditionalIncludeDirectories>..\..;..\..\libyara;..\..\libyara\include;..\..\windows\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<DisableSpecificWarnings>4005;4273;4090;</DisableSpecificWarnings>
</ClCompile>
<Lib>
<OutputFile>$(OutDir)$(TargetName)$(TargetExt)</OutputFile>
- <AdditionalDependencies>advapi32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <AdditionalDependencies>advapi32.lib;jansson64.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalLibraryDirectories>..\lib</AdditionalLibraryDirectories>
</Lib>
<ProjectReference>
@@ -105,25 +106,27 @@
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<PreprocessorDefinitions>WIN32;_CRT_SECURE_NO_WARNINGS</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>..\libyara\regex;..\libyara;..\..\windows\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <AdditionalIncludeDirectories>..\..;..\..\libyara;..\..\libyara\include;..\..\windows\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<DisableSpecificWarnings>4005;4273;4090;%(DisableSpecificWarnings)</DisableSpecificWarnings>
</ClCompile>
<Lib>
- <AdditionalDependencies>advapi32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <AdditionalDependencies>advapi32.lib;jansson32.lib%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalLibraryDirectories>..\lib</AdditionalLibraryDirectories>
+ <LinkTimeCodeGeneration>true</LinkTimeCodeGeneration>
</Lib>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<PreprocessorDefinitions>WIN32;</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>..\..\windows\include;..\libyara;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <AdditionalIncludeDirectories>..\..;..\..\libyara;..\..\libyara\include;..\..\windows\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<DisableSpecificWarnings>4005;4273;4090;%(DisableSpecificWarnings)</DisableSpecificWarnings>
</ClCompile>
<Lib>
- <AdditionalDependencies>advapi32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <AdditionalDependencies>advapi32.lib;jansson64.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalLibraryDirectories>..\lib</AdditionalLibraryDirectories>
<SuppressStartupBanner>false</SuppressStartupBanner>
+ <LinkTimeCodeGeneration>true</LinkTimeCodeGeneration>
</Lib>
</ItemDefinitionGroup>
<ItemGroup>
@@ -141,12 +144,18 @@
<ClCompile Include="..\..\libyara\lexer.c" />
<ClCompile Include="..\..\libyara\libyara.c" />
<ClCompile Include="..\..\libyara\mem.c" />
+ <ClCompile Include="..\..\libyara\modules.c" />
+ <ClCompile Include="..\..\libyara\modules\cuckoo.c" />
+ <ClCompile Include="..\..\libyara\modules\pe.c" />
+ <ClCompile Include="..\..\libyara\modules\tests.c" />
+ <ClCompile Include="..\..\libyara\object.c" />
<ClCompile Include="..\..\libyara\parser.c" />
<ClCompile Include="..\..\libyara\proc.c" />
<ClCompile Include="..\..\libyara\re.c" />
<ClCompile Include="..\..\libyara\re_grammar.c" />
<ClCompile Include="..\..\libyara\re_lexer.c" />
<ClCompile Include="..\..\libyara\rules.c" />
+ <ClCompile Include="..\..\libyara\scan.c" />
<ClCompile Include="..\..\libyara\utils.c" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
diff --git a/windows/yara/yara.vcxproj b/windows/yara/yara.vcxproj
index 88d96a2..0a76593 100644
--- a/windows/yara/yara.vcxproj
+++ b/windows/yara/yara.vcxproj
@@ -42,6 +42,7 @@
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<CharacterSet>Unicode</CharacterSet>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
@@ -97,8 +98,9 @@
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>..\..\libyara;..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <AdditionalIncludeDirectories>..\..\libyara\include;..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
+ <WholeProgramOptimization>false</WholeProgramOptimization>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
@@ -114,7 +116,7 @@
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>..\..\libyara;..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <AdditionalIncludeDirectories>..\..\libyara\include;..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
@@ -132,7 +134,7 @@
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>..\..\libyara;..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <AdditionalIncludeDirectories>..\..\libyara\include;..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
</ClCompile>
<Link>
@@ -156,7 +158,7 @@
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>..\..\libyara;..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <AdditionalIncludeDirectories>..\..\libyara\include;..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
diff --git a/windows/yarac/yarac.vcxproj b/windows/yarac/yarac.vcxproj
index 9047c9e..85f5bb1 100644
--- a/windows/yarac/yarac.vcxproj
+++ b/windows/yarac/yarac.vcxproj
@@ -35,6 +35,9 @@
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
+ <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ </PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
@@ -70,7 +73,7 @@
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>..\..\libyara;..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <AdditionalIncludeDirectories>..\..\libyara\include;..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
@@ -88,7 +91,7 @@
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>..\..\libyara;..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <AdditionalIncludeDirectories>..\..\libyara\include;..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
@@ -101,7 +104,7 @@
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
- <AdditionalIncludeDirectories>..\..\libyara;..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <AdditionalIncludeDirectories>..\..\libyara\include;..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_CRT_SECURE_NO_WARNINGS</PreprocessorDefinitions>
</ClCompile>
<Link>
@@ -111,7 +114,7 @@
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
- <AdditionalIncludeDirectories>..\..\libyara;..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <AdditionalIncludeDirectories>..\..\libyara\include;..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_CRT_SECURE_NO_WARNINGS</PreprocessorDefinitions>
</ClCompile>
<Link>
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/forensics/yara.git
More information about the forensics-changes
mailing list