Commit Graph

102 Commits

Author SHA1 Message Date
HotKeyIt 47a9ee83db Fix SectionAlignment
Some dlls do not use Native SectionAlignment, instead use SectionAlignment from PE.
2020-11-07 21:19:48 +01:00
Simon Rozman 08a59f2922 Fix loading of DLLs that export all functions by ordinal
See-also: https://github.com/fancycode/MemoryModule/pull/96
Signed-off-by: Simon Rozman <simon@rozman.si>
2020-11-07 21:19:48 +01:00
Simon Rozman 5e850c0b76 Implement IMAGE_REL_BASED_THUMB_MOV32 relocation
Signed-off-by: Simon Rozman <simon@rozman.si>
2020-11-07 21:19:48 +01:00
Simon Rozman 0a984057da Implement IMAGE_REL_BASED_LOW relocation
Signed-off-by: Simon Rozman <simon@rozman.si>
2020-11-07 21:19:48 +01:00
Simon Rozman fdf41455e9 Allow IMAGE_REL_BASED_DIR64 relocation on all platforms
Signed-off-by: Simon Rozman <simon@rozman.si>
2020-11-07 21:19:48 +01:00
Simon Rozman acd7da679a Fix DEBUG_OUTPUT
Signed-off-by: Simon Rozman <simon@rozman.si>
2020-11-07 21:02:14 +01:00
Simon Rozman fef80b544b Add ARM and ARM64 platforms
Signed-off-by: Simon Rozman <simon@rozman.si>
2020-11-07 20:58:15 +01:00
Scavanger 060f0bd736 Search for function names should be case sensitive 2018-03-08 13:23:39 +01:00
Joachim Bauch 9e295953a8 Prevent memory of library from spanning over 4GB bounaries.
Based on code from #67 / #79, fixes #63.
2018-02-14 20:31:28 +01:00
Joachim Bauch 98b95eca4c Implement binary search for looking up exports by name.
Code based on #74 which contained code from py2exe.
2017-11-02 21:02:26 +01:00
Joachim Bauch 184113ca09 Also build and run testsuite on cmake CI tests. 2016-09-20 23:18:23 +02:00
Joachim Bauch f5c9db8b5c Simplfy some casting code, updated comments about 32/64 bit. 2016-09-20 22:36:55 +02:00
Joachim Bauch 5ce3707c7d MSVC again - "static const" can not be used as array size. 2016-09-20 01:23:24 +02:00
Joachim Bauch d9dcc0eb8c Don't use "static const <type>", breaks on MSVC. 2016-09-20 01:17:12 +02:00
Joachim Bauch e2826eb956 Fix MSVC compiler error. 2016-09-20 01:15:26 +02:00
Joachim Bauch 4074f1e6ab Simplify conditional compiled code a bit. 2016-09-20 01:00:39 +02:00
Joachim Bauch caf917707b Replace defines with static consts. 2016-09-20 00:54:28 +02:00
Joachim Bauch 6c2c3e2fee Fix more potential conversion issues on 64bit. 2016-09-20 00:23:29 +02:00
Joachim Bauch 03cd7c91d9 Fixed alignment of values/addresses on 64bit systems. 2016-09-20 00:23:29 +02:00
Joachim Bauch de5dbce770 Error on some type conversion warnings. 2016-09-20 00:23:29 +02:00
Youhei Sakurai c174ed1177 Remove stdint.h for VC++9.0 (VS2008) 2016-09-13 00:50:13 +09:00
Joan Karadimov d46b74d00d Pass alloc/free functions to MemoryLoadLibraryEx 2016-02-12 11:39:41 +02:00
Joachim Bauch d88817fbf7 Disable C4055 warning (data -> function pointer conversion). 2016-01-27 00:57:06 +01:00
Joachim Bauch d9a6bb9c8f Explicitly include "stdint.h" to make sure "uintptr_t" is defined (fixes #34). 2016-01-27 00:44:43 +01:00
Joachim Bauch 905ad75e82 Expose default callback functions.
This was suggested in #33.
2016-01-27 00:38:37 +01:00
Joachim Bauch cc562219af Fix C4055 on MSVC. 2015-12-20 22:07:30 +01:00
Joachim Bauch cddc54a671 Fixed syntax error on MSVC. 2015-12-20 21:51:29 +01:00
Joachim Bauch 394fae8d51 Initialize variable (to make MSVC happy). 2015-12-20 21:39:47 +01:00
Joachim Bauch 15983313f4 Removed debug include. 2015-12-20 21:38:30 +01:00
Joachim Bauch 583e1b4a93 Fixed warning about unreferenced parameters. 2015-12-20 21:34:14 +01:00
Joachim Bauch bc04853584 Add some checks to prevent overruns on broken input. 2015-12-20 21:26:53 +01:00
Vlatko Kosturjak 71643ae62b Use _wcsnicmp instead of wcsnicmp
"These POSIX functions are deprecated. Use the ISO C++ conformant"
https://msdn.microsoft.com/en-us/library/ms235324.aspx
2015-10-18 11:13:24 +02:00
Joachim Bauch d19707369a Avoid (re-)allocations when searching for named resources.
Also add tests to load resources by name.
2015-08-23 00:22:42 +02:00
Joachim Bauch b4bf2f7c4a Don't disable warnings about conversions. 2015-08-22 23:53:27 +02:00
Joachim Bauch 422f918c33 Declare variables at start of function. 2015-08-22 23:53:27 +02:00
Joachim Bauch 83899ac7f7 Use DWORD directly to avoid cast. 2015-08-21 22:26:50 +02:00
Joachim Bauch 6276f4426d Support imports by ordinal value.
Code based on pull-request #28.
2015-08-21 22:19:28 +02:00
Joachim Bauch 82b11d57db Call "VirtualFree" before setting error (fixes #23). 2015-03-13 16:56:02 +01:00
Fr0sT-Brutal 89e02fcd9e Zero the memory allocated in the heap
Using HEAP_ZERO_MEMORY parameter of HeapAlloc function we can fill all the struct contents with zeros thus removing possible bugs with uninitialized members and slightly shortening/speeding up the code
2015-03-12 20:11:05 +03:00
Joachim Bauch 36574a5638 Handle case where resource to load is NULL. 2015-03-01 00:32:38 +01:00
Joachim Bauch 463447c1ed Reduced scope of variable. 2015-03-01 00:04:38 +01:00
Joachim Bauch d321abf8fa Added more error handling, changed boolean variables to "BOOL", bail our early from functions where possible. 2015-02-28 23:59:06 +01:00
Joachim Bauch aa6b93bab4 Support section alignments that are smaller than the memory page size (fixes #20/#21). 2015-02-28 23:01:44 +01:00
Joachim Bauch 625aa47035 Use "uintptr_t" instead of custom type. 2015-02-27 00:55:13 +01:00
Joachim Bauch dacdbaba9a Deny loading any other architecture than 64bit if compiled for 64bit. 2015-02-27 00:55:13 +01:00
Joachim Bauch 6212358a24 Use function from tchar.h instead of #ifdef. 2015-02-27 00:55:13 +01:00
Joachim Bauch 808c043faf Fixed indentation. 2015-02-27 00:55:13 +01:00
Joachim Bauch dcccd79158 Merge pull request #22 from dismantl/findresource-bugfix
small fix relating to searching memory-loaded modules for named resources
2015-02-27 00:23:06 +01:00
Joachim Bauch b889c72727 Bump year in copyright. 2015-02-27 00:22:03 +01:00
Dan Staples 1d55f77753 small fix relating to searching IMAGE_RESOURCE_DIRECTORY_ENTRYs for named resources 2015-01-05 20:29:46 -05:00