{"id":52,"date":"2015-01-23T08:42:07","date_gmt":"2015-01-23T08:42:07","guid":{"rendered":"http:\/\/piratesecurityblog.com\/?p=52"},"modified":"2017-08-23T08:53:28","modified_gmt":"2017-08-23T08:53:28","slug":"nice-dll-injection-lib","status":"publish","type":"post","link":"https:\/\/piratesecurityblog.com\/?p=52","title":{"rendered":"Nice DLL Injection LIB"},"content":{"rendered":"<h1>Blackbone<\/h1>\n<p>&nbsp;<\/p>\n<p>https:\/\/github.com\/DarthTon\/Blackbone<\/p>\n<h3><a id=\"user-content-windows-memory-hacking-library\" class=\"anchor\" href=\"https:\/\/github.com\/DarthTon\/Blackbone#windows-memory-hacking-library\" aria-hidden=\"true\"><\/a>Windows memory hacking library<\/h3>\n<h2><a id=\"user-content-features\" class=\"anchor\" href=\"https:\/\/github.com\/DarthTon\/Blackbone#features\" aria-hidden=\"true\"><\/a>Features<\/h2>\n<ul>\n<li><strong>x86 and x64 support<\/strong><\/li>\n<\/ul>\n<p><strong>Process interaction<\/strong><\/p>\n<ul>\n<li>Manage PEB32\/PEB64<\/li>\n<li>Manage process through WOW64 barrier<\/li>\n<\/ul>\n<p><strong>Process Memory<\/strong><\/p>\n<ul>\n<li>Allocate and free virtual memory<\/li>\n<li>Change memory protection<\/li>\n<li>Read\/Write virtual memory<\/li>\n<\/ul>\n<p><strong>Process modules<\/strong><\/p>\n<ul>\n<li>Enumerate all (32\/64 bit) modules loaded. Enumerate modules using Loader list\/Section objects\/PE headers methods.<\/li>\n<li>Get exported function address<\/li>\n<li>Get the main module<\/li>\n<li>Unlink module from loader lists<\/li>\n<li>Inject and eject modules (including pure IL images)<\/li>\n<li>Inject 64bit modules into WOW64 processes<\/li>\n<li>Manually map native PE images<\/li>\n<\/ul>\n<p><strong>Threads<\/strong><\/p>\n<ul>\n<li>Enumerate threads<\/li>\n<li>Create and terminate threads. Support for cross-session thread creation.<\/li>\n<li>Get thread exit code<\/li>\n<li>Get main thread<\/li>\n<li>Manage TEB32\/TEB64<\/li>\n<li>Join threads<\/li>\n<li>Suspend and resume threads<\/li>\n<li>Set\/Remove hardware breakpoints<\/li>\n<\/ul>\n<p><strong>Pattern search<\/strong><\/p>\n<ul>\n<li>Search for arbitrary pattern in local or remote process<\/li>\n<\/ul>\n<p><strong>Remote code execution<\/strong><\/p>\n<ul>\n<li>Execute functions in remote process<\/li>\n<li>Assemble own code and execute it remotely<\/li>\n<li>Support for cdecl\/stdcall\/thiscall\/fastcall conventions<\/li>\n<li>Support for arguments passed by value, pointer or reference, including structures<\/li>\n<li>FPU types are supported<\/li>\n<li>Execute code in new thread or any existing one<\/li>\n<\/ul>\n<p><strong>Remote hooking<\/strong><\/p>\n<ul>\n<li>Hook functions in remote process using int3 or hardware breakpoints<\/li>\n<li>Hook functions upon return<\/li>\n<\/ul>\n<p><strong>Manual map features<\/strong><\/p>\n<ul>\n<li>x86 and x64 image support<\/li>\n<li>Mapping into any arbitrary unprotected process<\/li>\n<li>Section mapping with proper memory protection flags<\/li>\n<li>Image relocations (only 2 types supported. I haven&#8217;t seen a single PE image with some other relocation types)<\/li>\n<li>Imports and Delayed imports are resolved<\/li>\n<li>Bound import is resolved as a side effect, I think<\/li>\n<li>Module exports<\/li>\n<li>Loading of forwarded export images<\/li>\n<li>Api schema name redirection<\/li>\n<li>SxS redirection and isolation<\/li>\n<li>Activation context support<\/li>\n<li>Dll path resolving similar to native load order<\/li>\n<li>TLS callbacks. Only for one thread and only with PROCESS_ATTACH\/PROCESS_DETACH reasons.<\/li>\n<li>Static TLS<\/li>\n<li>Exception handling support (SEH and C++)<\/li>\n<li>Adding module to some native loader structures(for basic module api support: GetModuleHandle, GetProcAdress, etc.)<\/li>\n<li>Security cookie initialization<\/li>\n<li>C++\/CLI images are supported<\/li>\n<li>Image unloading<\/li>\n<li>Increase reference counter for import libraries in case of manual import mapping<\/li>\n<li>Cyclic dependencies are handled properly<\/li>\n<\/ul>\n<p><strong>Driver features<\/strong><\/p>\n<ul>\n<li>Allocate\/free\/protect user memory<\/li>\n<li>Read\/write user and kernel memory<\/li>\n<li>Disable permanent DEP for WOW64 processes<\/li>\n<li>Change process protection flag<\/li>\n<li>Change handle access rights<\/li>\n<li>Remap process memory<\/li>\n<li>Hiding allocated user-mode memory<\/li>\n<li>User-mode dll injection and manual mapping<\/li>\n<li>Manual mapping of drivers<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Blackbone &nbsp; https:\/\/github.com\/DarthTon\/Blackbone Windows memory hacking library Features x86 and x64 support Process interaction Manage PEB32\/PEB64 Manage process through WOW64 barrier Process Memory Allocate and free virtual memory Change memory protection Read\/Write virtual memory Process modules Enumerate all (32\/64 bit) modules loaded. Enumerate modules using Loader list\/Section objects\/PE headers methods. Get exported function address Get &hellip; <a href=\"https:\/\/piratesecurityblog.com\/?p=52\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">Nice DLL Injection LIB<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[7],"tags":[17],"_links":{"self":[{"href":"https:\/\/piratesecurityblog.com\/index.php?rest_route=\/wp\/v2\/posts\/52"}],"collection":[{"href":"https:\/\/piratesecurityblog.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/piratesecurityblog.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/piratesecurityblog.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/piratesecurityblog.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=52"}],"version-history":[{"count":1,"href":"https:\/\/piratesecurityblog.com\/index.php?rest_route=\/wp\/v2\/posts\/52\/revisions"}],"predecessor-version":[{"id":53,"href":"https:\/\/piratesecurityblog.com\/index.php?rest_route=\/wp\/v2\/posts\/52\/revisions\/53"}],"wp:attachment":[{"href":"https:\/\/piratesecurityblog.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=52"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/piratesecurityblog.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=52"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/piratesecurityblog.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=52"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}