{"action":"created","issue":{"url":"https://api.github.com/repos/EasyHook/EasyHook/issues/70","repository_url":"https://api.github.com/repos/EasyHook/EasyHook","labels_url":"https://api.github.com/repos/EasyHook/EasyHook/issues/70/labels{/name}","comments_url":"https://api.github.com/repos/EasyHook/EasyHook/issues/70/comments","events_url":"https://api.github.com/repos/EasyHook/EasyHook/issues/70/events","html_url":"https://github.com/EasyHook/EasyHook/issues/70","id":133413042,"number":70,"title":"Unable to Inject into 64-bit processes.","user":{"login":"rlc5m8","id":14339498,"avatar_url":"https://avatars.githubusercontent.com/u/14339498?v=3","gravatar_id":"","url":"https://api.github.com/users/rlc5m8","html_url":"https://github.com/rlc5m8","followers_url":"https://api.github.com/users/rlc5m8/followers","following_url":"https://api.github.com/users/rlc5m8/following{/other_user}","gists_url":"https://api.github.com/users/rlc5m8/gists{/gist_id}","starred_url":"https://api.github.com/users/rlc5m8/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rlc5m8/subscriptions","organizations_url":"https://api.github.com/users/rlc5m8/orgs","repos_url":"https://api.github.com/users/rlc5m8/repos","events_url":"https://api.github.com/users/rlc5m8/events{/privacy}","received_events_url":"https://api.github.com/users/rlc5m8/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":1,"created_at":"2016-02-13T08:04:58Z","updated_at":"2016-02-13T08:14:57Z","closed_at":null,"body":"I've successfully hooked/intercepted the output from various programs. Unfortunately, I cannot hook a 64-bit program.\r\n\r\nLanguage of Main Program: C#\r\nLanguage of DLL: C#\r\n\r\nI've been compiling with .NET 4.5.2 Any CPU. I have tried:\r\n\r\n.NET 4.0 Client Profile Any CPU\r\n.NET 4.0 Any Cpu\r\n.NET 4.0 x64\r\n.NET 3.5 Client Profile (This throws errors as 2.7.5870 was built with .NET 4.0)\r\n\r\nEasyHook Library used: 2.7.5870\r\n\r\nI've even tried using a minimal implementation of the DLL which fails.\r\n\r\nThe Error Received is:\r\n\r\nThere was an error while connecting to target:\r\n\r\nSystem.ApplicationException: STATUS_INTERNAL_ERROR: Unknown error in injected C++ completion routine. (Code: 15)\r\n\r\n   at EasyHook.RemoteHooking.CreateAndInject(String InEXEPath, String InCommandLine, Int32 InProcessCreationFlags, InjectionOptions InOptions, String InLibraryPath_x86, String InLibraryPath_x64, Int32& OutProcessId, Object[] InPassThruArgs)\r\n\r\n   at Profile_Manager.MainWindow.OnLoad(Object sender, RoutedEventArgs e) in C:\\Visual Studio 2015\\Projects\\Profile_Manager\\Profile_Manager\\MainWindow.xaml.cs:line 37"},"comment":{"url":"https://api.github.com/repos/EasyHook/EasyHook/issues/comments/183624360","html_url":"https://github.com/EasyHook/EasyHook/issues/70#issuecomment-183624360","issue_url":"https://api.github.com/repos/EasyHook/EasyHook/issues/70","id":183624360,"user":{"login":"rlc5m8","id":14339498,"avatar_url":"https://avatars.githubusercontent.com/u/14339498?v=3","gravatar_id":"","url":"https://api.github.com/users/rlc5m8","html_url":"https://github.com/rlc5m8","followers_url":"https://api.github.com/users/rlc5m8/followers","following_url":"https://api.github.com/users/rlc5m8/following{/other_user}","gists_url":"https://api.github.com/users/rlc5m8/gists{/gist_id}","starred_url":"https://api.github.com/users/rlc5m8/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rlc5m8/subscriptions","organizations_url":"https://api.github.com/users/rlc5m8/orgs","repos_url":"https://api.github.com/users/rlc5m8/repos","events_url":"https://api.github.com/users/rlc5m8/events{/privacy}","received_events_url":"https://api.github.com/users/rlc5m8/received_events","type":"User","site_admin":false},"created_at":"2016-02-13T08:14:57Z","updated_at":"2016-02-13T08:14:57Z","body":"This is my Minimal DLL which still fails on x64 load:\r\n\r\n```\r\nusing System;\r\nusing System.Collections.Generic;\r\nusing System.Diagnostics;\r\nusing System.Linq;\r\nusing System.Text;\r\nusing System.Threading;\r\nusing System.Threading.Tasks;\r\nusing System.Windows;\r\nusing EasyHook;\r\n\r\nnamespace HookTest\r\n{\r\n    public class FileMonInterface : MarshalByRefObject\r\n    {\r\n        public void IsInstalled(Int32 inClientPid) { Trace.WriteLine($\"Dll has been installed in target {inClientPid}.\\r\\n\"); Trace.Flush(); }\r\n        public void OnCreateFile(Int32 inClientPid, String[] inFileNames)\r\n        {\r\n            foreach (String fileName in inFileNames)\r\n            {\r\n                Trace.WriteLine(fileName);\r\n            }\r\n        }\r\n\r\n        public void ReportException(Exception inInfo) { Trace.WriteLine(\"The target process has reported an error:\\r\\n\" + inInfo); }\r\n        public void Ping() { Trace.WriteLine(\"Interface Pinged.\"); }\r\n    }\r\n    public class Main : IEntryPoint\r\n    {\r\n\r\n        public Main(RemoteHooking.IContext inContext, String inChannelName)\r\n        {\r\n        }\r\n        public void Run(RemoteHooking.IContext inContext, String inChannelName)\r\n        {\r\n            MessageBox.Show(\"Hooked!\");\r\n            RemoteHooking.WakeUpProcess();\r\n        }\r\n    }\r\n}\r\n```\r\n\r\nIt works for every x32 executable I throw at it however"}}