nektra / Deviare-InProc

Deviare In Process Instrumentation Engine
http://nektra.com/products/deviare-api-hook-windows/deviare-in-process/
Other
330 stars 84 forks source link

Missing files #6

Closed HartmutStein closed 8 years ago

HartmutStein commented 8 years ago

Hi all,

I just downloaded the ZIP, unpacked it into an empty dir, loaded Src\Vs2012\NktHookLib.sln into the IDE, and started compilation. The file amalgamation.c contains the following includes, which all are not included in the ZIP (neither in the given pathes, nor anywhere else):

include "source\libudis86\decode.h"

include "source\libudis86\extern.h"

include "source\libudis86\syn.h"

include "source\libudis86\types.h"

include "source\libudis86\udint.h"

I also tried the build.bat in the src directory, which gave the same result:

d:\Programme\ExtC\DeviareInProc\Src>build /MSVCVERSION 2012

Microsoft (R) Microsoft Visual Studio 2012 Version 11.0.60610.1. Copyright (C) Microsoft Corp. All rights reserved. 1>------ Rebuild All started: Project: NktHookLib, Configuration: Debug Win32 ------ 1> Compiling assembler code... 1> Assembling: d:\Programme\ExtC\DeviareInProc\Src\Lib\Asm\Helpers_x86.asm 1> Compiling assembler code... 1> Assembling: d:\Programme\ExtC\DeviareInProc\Src\Lib\Asm\RelocatableCode_x86.asm 1> Done! 1> WaitableObjects.cpp 1> ThreadSuspend.cpp 1> ProcessInjection.cpp 1> ProcessEntry.cpp 1> NtSysCallGen.cpp 1> NktHookLibHelpers.cpp 1> NktHookLib.cpp 1> HookEntry.cpp 1> DynamicNtApi.cpp 1> DynamicApiFinder.cpp 1> Generating Code... 1> amalgamation.c 1>d:\programme\extc\deviareinproc\src\lib\libudis86\tables\decode.h(1): fatal error C1083: Cannot open include file: '../source/libudis86/decode.h': No such file or directory ========== Rebuild All: 0 succeeded, 1 failed, 0 skipped ========== Errors detected while compiling project

Looks like I'm missing something, but I have no idea what to do about these missing files. Any help is highly appreciated.

mxmauro commented 8 years ago

When you download the zip, the dependencies are not added automatically. You must download LibUDIS manually too.

HartmutStein commented 8 years ago

And where would I find this LibUDIS stuff? It seems not to be on your page at least, and searching github just revealed an empty repository, and one with a ruby binding.

mxmauro commented 8 years ago

Follow the link "source@" in https://github.com/nektra/Deviare-InProc/tree/master/Src/Lib/libudis86

HartmutStein commented 8 years ago

Ok, I managed to download the files. They have to be stored in Src\Lib\libudis86\source\libudis86 (which took me some time to figure out, so I'm posting it here as reference for other readers).

I loaded NktHookLib.sln into the IDE, and it compiled well. Unfortunately the linker then produced the following error (both in debug, and release configuration; and also with the build.bat):

Error 1 error LNK2019: unresolved external symbol _NktHookLib_ud_decode referenced in function _NktHookLib_ud_disassemble D:\Programme\ExtC\DeviareInProc\Src\vs2012\NktHookLib.lib(amalgamation.obj) DeviareLiteCOM

Any idea on what's going wrong here?

mxmauro commented 8 years ago

You have to download all the udis86 project and put in Src\Lib\libudis86\source but I recommend to install Git-GUI and download the repository from there (with dependencies) because the reference is to a specific UDis release.

13013a commented 8 years ago

"You have to download all the udis86 project and put in Src\Lib\libudis86\source" - didn't work: "error C1083: Inclusion isn't possible to open the file: atlbase.h: No such file or directory c:\users\acer\downloads\deviare-inproc-master\deviare-inproc-master\src\com\stdafx.h"

"I recommend to install Git-GUI and download the repository from there (with dependencies) because the reference is to a specific UDis release." - And how it can be done? You can tell in more detail, please.

mxmauro commented 8 years ago

Install GitGUI. Use clone existing repository. Source: Deviare InProc url, Dest: A folder on your computer and ensure clone submodules checkbox is on.

HartmutStein commented 8 years ago

I was finally able to download the full source and compile it successfully. The GitGUI I used can be found at https://git-for-windows.github.io. From there on it was a piece of cake, just entered the URL https://github.com/nektra/Deviare-InProc and a local directory, and all was set. I thank you for the assistance, but I'ld also recommend you to add two lines of text to your homepage how to download this stuff - just linking your github page is simply not enough information. A link to GitGUI and two lines of text could have saved me a lot of scratching my head here. And I'm positively sure that I'm not the only person on this planet who is not familiar with how GitHUB works.