mirror of
https://github.com/hashcat/hashcat.git
synced 2025-07-05 06:12:35 +00:00
use dlfcn, even on Windows
There's such a library on MSYS2. Use it. Signed-off-by: Rosen Penev <rosenp@gmail.com>
This commit is contained in:
parent
e61442da9c
commit
2c94715f30
@ -8,24 +8,14 @@
|
|||||||
|
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
|
|
||||||
#ifdef _WIN
|
|
||||||
#include <windows.h>
|
|
||||||
#else
|
|
||||||
#include <dlfcn.h>
|
#include <dlfcn.h>
|
||||||
#if defined (__APPLE__)
|
#if defined (__APPLE__)
|
||||||
#include <mach-o/dyld.h>
|
#include <mach-o/dyld.h>
|
||||||
#endif // __APPLE__
|
#endif // __APPLE__
|
||||||
#endif // _WIN
|
|
||||||
|
|
||||||
#ifdef _WIN
|
|
||||||
hc_dynlib_t hc_dlopen (LPCSTR lpLibFileName);
|
|
||||||
BOOL hc_dlclose (hc_dynlib_t hLibModule);
|
|
||||||
hc_dynfunc_t hc_dlsym (hc_dynlib_t hModule, LPCSTR lpProcName);
|
|
||||||
#else
|
|
||||||
hc_dynlib_t hc_dlopen (const char *filename);
|
hc_dynlib_t hc_dlopen (const char *filename);
|
||||||
int hc_dlclose (hc_dynlib_t handle);
|
int hc_dlclose (hc_dynlib_t handle);
|
||||||
hc_dynfunc_t hc_dlsym (hc_dynlib_t handle, const char *symbol);
|
hc_dynfunc_t hc_dlsym (hc_dynlib_t handle, const char *symbol);
|
||||||
#endif
|
|
||||||
|
|
||||||
#define HC_LOAD_FUNC2(ptr,name,type,var,libname,noerr) \
|
#define HC_LOAD_FUNC2(ptr,name,type,var,libname,noerr) \
|
||||||
do { \
|
do { \
|
||||||
|
@ -387,6 +387,7 @@ LFLAGS_NATIVE += -Wl,--dynamicbase
|
|||||||
LFLAGS_NATIVE += -Wl,--nxcompat
|
LFLAGS_NATIVE += -Wl,--nxcompat
|
||||||
LFLAGS_NATIVE += -lpsapi
|
LFLAGS_NATIVE += -lpsapi
|
||||||
LFLAGS_NATIVE += -liconv
|
LFLAGS_NATIVE += -liconv
|
||||||
|
LFLAGS_NATIVE += -ldl
|
||||||
LFLAGS_NATIVE += -lws2_32
|
LFLAGS_NATIVE += -lws2_32
|
||||||
LFLAGS_NATIVE += -lpowrprof
|
LFLAGS_NATIVE += -lpowrprof
|
||||||
endif # MSYS2
|
endif # MSYS2
|
||||||
|
@ -7,25 +7,6 @@
|
|||||||
#include "types.h"
|
#include "types.h"
|
||||||
#include "dynloader.h"
|
#include "dynloader.h"
|
||||||
|
|
||||||
#ifdef _WIN
|
|
||||||
|
|
||||||
hc_dynlib_t hc_dlopen (LPCSTR lpLibFileName)
|
|
||||||
{
|
|
||||||
return LoadLibraryA (lpLibFileName);
|
|
||||||
}
|
|
||||||
|
|
||||||
BOOL hc_dlclose (hc_dynlib_t hLibModule)
|
|
||||||
{
|
|
||||||
return FreeLibrary (hLibModule);
|
|
||||||
}
|
|
||||||
|
|
||||||
hc_dynfunc_t hc_dlsym (hc_dynlib_t hModule, LPCSTR lpProcName)
|
|
||||||
{
|
|
||||||
return GetProcAddress (hModule, lpProcName);
|
|
||||||
}
|
|
||||||
|
|
||||||
#else
|
|
||||||
|
|
||||||
hc_dynlib_t hc_dlopen (const char *filename)
|
hc_dynlib_t hc_dlopen (const char *filename)
|
||||||
{
|
{
|
||||||
return dlopen (filename, RTLD_NOW);
|
return dlopen (filename, RTLD_NOW);
|
||||||
@ -40,5 +21,3 @@ hc_dynfunc_t hc_dlsym (hc_dynlib_t handle, const char *symbol)
|
|||||||
{
|
{
|
||||||
return dlsym (handle, symbol);
|
return dlsym (handle, symbol);
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
|
||||||
|
Loading…
Reference in New Issue
Block a user