16,011,988 members
Sign in
Sign in
Email
Password
Forgot your password?
Sign in with
home
articles
Browse Topics
>
Latest Articles
Top Articles
Posting/Update Guidelines
Article Help Forum
Submit an article or tip
Import GitHub Project
Import your Blog
quick answers
Q&A
Ask a Question
View Unanswered Questions
View All Questions
View C# questions
View C++ questions
View Javascript questions
View Visual Basic questions
View .NET questions
discussions
forums
CodeProject.AI Server
All Message Boards...
Application Lifecycle
>
Running a Business
Sales / Marketing
Collaboration / Beta Testing
Work Issues
Design and Architecture
Artificial Intelligence
ASP.NET
JavaScript
Internet of Things
C / C++ / MFC
>
ATL / WTL / STL
Managed C++/CLI
C#
Free Tools
Objective-C and Swift
Database
Hardware & Devices
>
System Admin
Hosting and Servers
Java
Linux Programming
Python
.NET (Core and Framework)
Android
iOS
Mobile
WPF
Visual Basic
Web Development
Site Bugs / Suggestions
Spam and Abuse Watch
features
features
Competitions
News
The Insider Newsletter
The Daily Build Newsletter
Newsletter archive
Surveys
CodeProject Stuff
community
lounge
Who's Who
Most Valuable Professionals
The Lounge
The CodeProject Blog
Where I Am: Member Photos
The Insider News
The Weird & The Wonderful
help
?
What is 'CodeProject'?
General FAQ
Ask a Question
Bugs and Suggestions
Article Help Forum
About Us
Search within:
Articles
Quick Answers
Messages
Comments by KairuByte (Top 19 by date)
KairuByte
7-Sep-13 12:00pm
View
While this isn't exactly what I was trying to do, driver did turn out to be one of the only real solutions at the time.
I wasn't trying to create the process suspended however, I was trying to hook into the systems creation processes themselves so if a user creates a process with a specific name I can start it suspended, hook it, and then let it continue.
KairuByte
13-Nov-11 15:33pm
View
It was an error relating to running a method.... But I got around it by just moving the code directly into the Run()... Which I realize is a bad thing. But it's just for testing at the moment.
KairuByte
10-Nov-11 13:03pm
View
Lol, no worries, it's beyond my depth of knowledge as well.
I'm actually way past my comfort zone on this one, but I started it and now I need to finish it. Plus it would be something cool to learn....
I don't even know where to start looking though, that's the one issue at the moment... Hopefully someone will have some ideas.
KairuByte
10-Nov-11 12:33pm
View
Hrm...
Well, for the most part I will be starting the processes in suspended state when I can, but there is a possibility that my program will be run after the game is already running, which is why I am trying to find a way to reopen the file.
I have no idea how to search memory space for a variable in C#....
KairuByte
9-Nov-11 17:44pm
View
You can create a process in suspended state. Hooking specific methods could potentially force any file to start in a suspended state, I just have no clue what methods.
Not impossible, just difficult.
KairuByte
9-Nov-11 15:26pm
View
I have tried running code in Run(), and it throws and exception that the only thing that can be run is a hook maker.
KairuByte
9-Nov-11 10:16am
View
Turns out it was CreateFile, and I just want hooking the process soon enough. Which in turn means I need to hook some sort of system process or create a driver.
KairuByte
8-Nov-11 13:29pm
View
Already am, lol. That's a part of the DLL injection I am doing.
The question has basically been answered, I need to sit and try every possible method till I find the correct one.
Bottom line, I have a lot of trial and error ahead.
KairuByte
8-Nov-11 11:04am
View
o.0 I didn't tag it as C#, looks like someone else decided it should have been. Removing that! No, I assume the original was written in C or C++, though I can't be sure.
It is very possible to override a method in an unmanaged process, as long as it is loaded from something familiar like kernel32.dll. It requires you to inject a dll into the process and some guesswork till it's done, but it works.
KairuByte
8-Nov-11 8:53am
View
It is a video game that is written to only be opened once on a computer. Which makes sense for most users because normally the game is written to multiple times as new data (textures, map points, quest text, etc.) are transmitted to the game, and it's gigantic .dat file is updated. However when you make sure that all the data is downloaded beforehand (There is a command line argument), it is fairly safe to unlock the file for multiple clients.
It has been done before without issue, though the original author of that DLL has since lost interest in the game and cannot be contacted.
KairuByte
8-Nov-11 8:37am
View
I'm not, this is an external process I am trying to hook to manipulate the file stream into a shared state instead of explicitly locking the file. I have no control over what methods have been used.
KairuByte
7-Nov-11 23:26pm
View
A dump of dependencies can be found here: http://pastebin.com/CCkpWuq4
Though the list of initially loaded Libraries is:
wsock32.dll
kernel32.dll
user32.dll
shell32.dll
comctl32.dll
ole32.dll
oleaut.dll
version.dll
gdi32.dll
advapi32.dll
winmm.dll
msacm32.dll
I'll keep looking, though I suppose there are at least a few methods that could open a file that I wouldn't think about....
KairuByte
7-Nov-11 19:17pm
View
Hah,
There are unfortunately many libraries to choose from, and I have tried overriding all methods that I can think of! I won't be able to post all the libraries, but the ones I can remember are kernel32.dll, user32.dll and shell32.dll. There are no non windows default (at latest update, with .Net 4 installed) DLL's.
KairuByte
7-Nov-11 10:08am
View
That works quite well! Now I just need to figure out a way to inject into a process before it starts, without needing to start the process from my project... Maybe hooking explorers process start? Anyway, thanks!
KairuByte
7-Nov-11 8:49am
View
Checking it out now, first chance I have had. It does seem to actually compile, which the previous version I had seen did not. Looks promising!
KairuByte
5-Nov-11 21:12pm
View
That one may work.... It seems to be a slightly different version of something I looked at earlier today. I'll test it out and get back to you! ^_^
KairuByte
5-Nov-11 18:14pm
View
What do you intend to do? From the sounds of it your not sure what you need or want... Are you making a clipboard monitor? A clipboard alternative?
If you want to use clipboard you could just copy the text using ctrl + c (or your mouse button), and then have your program monitor the clipboard and do what you need to do. If you don't want to use the clipboard you will have to get a little more creative.
KairuByte
5-Nov-11 17:49pm
View
So you are attempting to imitate a copy the way that ctrl + c does, but circumvent the clipboard and load the text selection directly into your textbox?
KairuByte
5-Nov-11 13:18pm
View
While that is what the function name suggests, that is not the case. CreateFile either creates the file (or I/O device) if it does not exist, or opens the file (or I/O device) if it is already present.
In this case the file is most definitely always present, though I suppose I could throw in a check beforehand just to make sure.
Here is Microsoft's documentation on CreateFile:
msdn.microsoft.com/en-us/library/windows/desktop/aa363858(v=vs.85).aspx
Show More