|
|
|
memset(FOO, 0, sizeof(FOO));
|
|
|
|
|
|
I would like to modify the menu that pops up when the mouse is right-clicked on the clock in the system tray. I want to add another entry below "Customize Notifications..." in the menu. Is this possible? If so, please point me in the right direction.
|
|
|
|
|
I assume you would have to use DLL injection for this and add your own menu item into the clock menu from your injected DLL..
--PerspX
|
|
|
|
|
I already had a DLL injected into the clock, but how do I trap the popup of the menu and modify it? Do I intercept WM_NOTIFY messages?
-- modified at 9:34 Wednesday 4th July, 2007
I figured it out. In my hooked WndProc(), I needed to return DefWindowProc() on WM_NCHITTEST rather than CallWindowProc(). Once I did that, I was getting WM_RBUTTONUP and that's the place to show the context menu.
|
|
|
|
|
OK good glad I could help
--PerspX
|
|
|
|
|
I am doing everything for allocating and freeing sid structure but it always gives leakages please check the code :
BOOL GetAll (char* sFileOrFolderName )
{
DWORD dwRtnCode = 0;
PSID ownerSid = NULL;
HANDLE hFile;
hFile = CreateFile(
sFileOrFolderName,
GENERIC_READ,
FILE_SHARE_READ,
NULL,
OPEN_EXISTING,
FILE_ATTRIBUTE_NORMAL,
NULL);
if (hFile == INVALID_HANDLE_VALUE)
{
return FALSE;
}
dwRtnCode = GetSecurityInfo(
hFile,
SE_FILE_OBJECT,
OWNER_SECURITY_INFORMATION,
(&ownerSid),
NULL,
NULL,
NULL,
NULL);
if( !ownerSid )
{
CloseHandle(hFile);
return FALSE;
}
LocalFree((HLOCAL)ownerSid);
CloseHandle(hFile);
return TRUE ;
}
int _tmain(int argc, _TCHAR* argv[])
{
while(1)
{
if(!GetAll("d:\\aa.txt"))
{
printf("\nFailed");
}
Sleep(1000);
}
return 0;
}
|
|
|
|
|
Akin Ocal wrote: ...but it always gives leakages...
How are you verifying these "leakages?"
"A good athlete is the result of a good and worthy opponent." - David Crow
"To have a respect for ourselves guides our morals; to have deference for others governs our manners." - Laurence Sterne
|
|
|
|
|
Hi! Here's the problem:
I have an exe (no source code) wish for it to run only when it finds a valid license on the pc. Therefore I wish to modify it somehow (wrap,modify, etc) so that it will check for certain criterii such as hardware id before launching itself.
What I've found out so far:
I know I can create another exe that embeds the exe using Visual Studio. However, running the exe from memory only applies to .Net exe. I wish to cover non .Net too. And I know that running non .Net exe from memory is very hard.
Question:
How do i do this? Is there a way to modify the exe so that I can insert checking codes before the exe launches normally?
Thanks!
"Long is the way, and hard, that out of hell leads up to light."
|
|
|
|
|
|
Offcourse you can.
You can add the exe as a resource of another exe. So Only if you find a valid licences for a coputer, extract the exe from the resorce, write it as a file and then use ShellExecute or CreateProcess to run the original exe.
In this case there is a change that the user can extract the exe from the resource and save it as another exe. To prevent this, add some encrytption to the file before you add it to the resource.
|
|
|
|
|
Naveen.R wrote: To prevent this, add some encrytption to the file before you add it to the resource.
How does that prevent it?
|
|
|
|
|
A simple example. Suppose I cut first 10 bytes of exe and put at the end of the file. Then the exe will not be executable isnt't it? So after extracting I should roll back this changes, means i copy the last 10 bytes and put it in the begining. then execute the exe.
|
|
|
|
|
Well but in executing it, unless we run in from memory straight, the user could still copy the correct exe while it's running. Doesnt solve the problem?
|
|
|
|
|
I have foudn some applications like ie creates some temp file while browsing some sites( for ex if you took a video in the youtube, you can see a "temp" file created in the temporary internet folder.I noticed that that file cannot be renamed or copied or deleted. If we kill the IE, that files get deleted automatically. May be you implement the same technique. I dont know how IE does this. If you got any information, tell me also.
Other option is to make a loader by your self.May be very difficult.I shall inform you if i got any other solutions.
|
|
|
|
|
Ok man cool.
I'll look into that option.
Ya loader is very hard to do.. I wonder how the commercial exe protecter do it.
|
|
|
|
|
Rationalise wrote: I wonder how the commercial exe protecter do it.
hmm..a matter to investigate..
|
|
|
|
|
Got the way. Create the file using the flag FILE_FLAG_DELETE_ON_CLOSE
|
|
|
|
|
Hmm interesting. Only I'm using c# so cannot use CreateFile. File.Create does not offer such an option.
I'm looking into other methods of limiting access rights, so the file cannot be copied.
|
|
|
|
|
Rationalise wrote: other methods of limiting access rights
Limiting access will not do. Because under such cases, if your application is terminated using the taskmanger, all the access limits will be removed.
|
|
|
|
|
What we need is to prevent copying of the exe. But it seems that it cannot be done from what i read.
I've changed to researching on modifying the PE itself and injecting my own license checking codes. Shall get back to you if I have anything.
|
|
|
|
|
Naveen.R wrote: Suppose I cut first 10 bytes of exe and put at the end of the file.
that's what you call encryption?
Naveen.R wrote: add some encrytption
|
|
|
|
|
led mike wrote: that's what you call encryption?
At the Simplest.Also we just an example. Unless u know that i had moved the first 10 bytes, Will you be able to make it correct again?
|
|
|
|