gamedevlists-windows Mailing List for gamedev (Page 26)
Brought to you by:
vexxed72
You can subscribe to this list here.
2001 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(48) |
Oct
(58) |
Nov
(49) |
Dec
(38) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2002 |
Jan
(124) |
Feb
(83) |
Mar
(17) |
Apr
(37) |
May
(12) |
Jun
(20) |
Jul
(47) |
Aug
(74) |
Sep
(62) |
Oct
(72) |
Nov
(54) |
Dec
(13) |
2003 |
Jan
(36) |
Feb
(8) |
Mar
(38) |
Apr
(3) |
May
(6) |
Jun
(133) |
Jul
(20) |
Aug
(18) |
Sep
(12) |
Oct
(4) |
Nov
(28) |
Dec
(36) |
2004 |
Jan
(22) |
Feb
(51) |
Mar
(28) |
Apr
(9) |
May
(20) |
Jun
(9) |
Jul
(37) |
Aug
(20) |
Sep
(23) |
Oct
(15) |
Nov
(23) |
Dec
(27) |
2005 |
Jan
(22) |
Feb
(20) |
Mar
(5) |
Apr
(14) |
May
(10) |
Jun
|
Jul
(6) |
Aug
(6) |
Sep
|
Oct
(12) |
Nov
(1) |
Dec
|
2006 |
Jan
(18) |
Feb
(4) |
Mar
(3) |
Apr
(6) |
May
(4) |
Jun
(3) |
Jul
(16) |
Aug
(40) |
Sep
(6) |
Oct
(1) |
Nov
|
Dec
(2) |
2007 |
Jan
(5) |
Feb
(2) |
Mar
(4) |
Apr
(1) |
May
(13) |
Jun
|
Jul
(26) |
Aug
(3) |
Sep
(10) |
Oct
|
Nov
(4) |
Dec
(5) |
2008 |
Jan
(1) |
Feb
|
Mar
(4) |
Apr
|
May
|
Jun
(5) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2011 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(1) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2015 |
Jan
|
Feb
(3) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: <e_a...@ya...> - 2003-10-04 15:58:25
|
OK, I found it there, if it can help anyone : http://www.codeguru.com/devstudio_macros/custom_build.shtml Thanks, Emmanuel --- Rich <leg...@xm...> a écrit : > > In article > <200...@we...>, > =?iso-8859-1?q?Emmanuel=20Astier?= > <e_a...@ya...> writes: > > > Is it possible to change the settings of a file > with > > the macro ? > > Yes, IIRC, you need to iterate over the project > items and set the > build configuration properties on it. > -- > "The Direct3D Graphics Pipeline"-- code samples, > sample chapter, FAQ: > <http://www.xmission.com/~legalize/book/> > Pilgrimage: Utah's annual demoparty > <http://pilgrimage.scene.org> > > > ------------------------------------------------------- > This sf.net email is sponsored by:ThinkGeek > Welcome to geek heaven. > http://thinkgeek.com/sf > _______________________________________________ > Gamedevlists-windows mailing list > Gam...@li... > https://lists.sourceforge.net/lists/listinfo/gamedevlists-windows > Archives: > http://sourceforge.net/mailarchive/forum.php?forum_id=555 ___________________________________________________________ Do You Yahoo!? -- Une adresse @yahoo.fr gratuite et en français ! Yahoo! Mail : http://fr.mail.yahoo.com |
From: Rich <leg...@xm...> - 2003-10-02 17:03:03
|
Assuming VS.NET 2003.... in VC6 you might need to edit the project file. You can automate editing the project file in VC6, but its tedious and error-prone. -- "The Direct3D Graphics Pipeline"-- code samples, sample chapter, FAQ: <http://www.xmission.com/~legalize/book/> Pilgrimage: Utah's annual demoparty <http://pilgrimage.scene.org> |
From: Rich <leg...@xm...> - 2003-10-02 17:02:28
|
In article <200...@we...>, =?iso-8859-1?q?Emmanuel=20Astier?= <e_a...@ya...> writes: > Is it possible to change the settings of a file with > the macro ? Yes, IIRC, you need to iterate over the project items and set the build configuration properties on it. -- "The Direct3D Graphics Pipeline"-- code samples, sample chapter, FAQ: <http://www.xmission.com/~legalize/book/> Pilgrimage: Utah's annual demoparty <http://pilgrimage.scene.org> |
From: <e_a...@ya...> - 2003-10-02 16:50:50
|
Hi, In order to automate the generation of the bindings file for SWIG, I would like, using a VC macro, to create SWIG files, and set the 'custom build' values to call SWIG exe. Is it possible to change the settings of a file with the macro ? Thanks for any help, Emmanuel ___________________________________________________________ Do You Yahoo!? -- Une adresse @yahoo.fr gratuite et en français ! Yahoo! Mail : http://fr.mail.yahoo.com |
From: Daniel V. <vo...@ep...> - 2003-09-29 16:01:39
|
Two questions: First, is there a Windows tool out there that allows stripping of debug infromation from .lib files a la "strip" (Unix) and second, is there a way to suppress linker warnings individually with VS.NET 2003? I tried the warning pragma before using the comment pragma to include the library but that didn't work. The reason I'm asking is because we're statically linking to a .lib file we don't have source for that references pdb's we don't have either which creates annoying linker warnings I want to avoid. Thanks, -- Daniel, Epic Games Inc. |
From: Brian H. <ho...@py...> - 2003-09-22 17:35:08
|
> I'm not sure we can use rsync or Unison behind two sets of > firewalls (us and them) and especially without *nix hackers to set > it up. (...kids these days...) I bet rsync would work just as well. Through a firewall is no problem, unison and rsync should both tunnel through SSH just fine. And they're very fast. Not saying that xdelta isn't good, just that there are other alternatives =3D) Brian |
From: Ivan-Assen I. <as...@ha...> - 2003-09-22 14:39:09
|
> How does it compare to rsync-based tools like rsync and Unison? xdelta is not a file synchronization protocol or service or application; it's just a file diff-ing tool. We use a a simple JScript tool, manual FTP transfer and a BAT file generated by the JScript to apply the diff. I'm not sure we can use rsync or Unison behind two sets of firewalls (us and them) and especially without *nix hackers to set it up. (...kids these days...) |
From: Brian H. <ho...@py...> - 2003-09-22 14:26:14
|
How does it compare to rsync-based tools like rsync and Unison? Brian On Mon, 22 Sep 2003 12:08:29 +0300, Ivan-Assen Ivanov wrote: > After some serious production use, I want > to recommend to the list xdelta: |
From: Ivan-Assen I. <as...@ha...> - 2003-09-22 09:09:14
|
After some serious production use, I want to recommend to the list xdelta: http://sourceforge.net/projects/xdelta/ (sources) http://www.xcf.berkeley.edu/~jmacd/xdelta.html (theory) http://www.eng.uwaterloo.ca/~ejones/software/xdelta-win32.html (win32 binary) It's a very reasonable binary diff tool, which adequately handles huge files (think CD image size). If you routinely send e.g. daily builds of your game in reasonably final form (huge data size, relatively minor changes) to an off-site customers/publishers/testers/localizers etc., this can be very useful for you. We send a 400-ish MB build to our publisher, and on days with only bugfixes in the new build the delta files are on the order of 2-4 MB, while on days when significant amount of new assets are imported in the game, the delta is comparable with the zipped size of the new assets. If you want to build it into your own code, it's not a no-brainer (is there a word yes-brainer?) because it uses some funky Linux system lib; you might want to check out zdelta: http://cis.poly.edu/zdelta/ which: - performes better on small files (read: individual files, not tarballs) - breaks down on huge files (they promise to improve this very soon) - is essentially a modified zlib, so you can integrate it into your code in like 10 minutes. regards, Assen |
From: brian s. <pud...@po...> - 2003-09-16 16:40:45
|
google for "microphone volume site:msdn.microsoft.com". this page tells how to do it from VB, translating back to C shouldn't be a big deal. http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnaskdr/html/askgui10162001.asp --brian "Daniel Vogel" <vo...@ep...> wrote in message news:054301c37bee$d736edc0$8476a841@apathy... > Anyone know how to correctly change the Windows microphone volume via code? > > Thanks, > > -- Daniel, Epic Games Inc. |
From: Daniel V. <vo...@ep...> - 2003-09-16 01:07:20
|
Anyone know how to correctly change the Windows microphone volume via code? Thanks, -- Daniel, Epic Games Inc. |
From: Gareth L. <GL...@cl...> - 2003-09-10 23:48:24
|
I meant there is a codewrite plugin for vs.net that gives you a number of CW features including brief. Allegedly... I don't use brief > -----Original Message----- > From: Michael Lyons [mailto:ml...@mi...] > Sent: 11 September 2003 00:39 > To: gam...@li... > Subject: RE: [GD-Windows] Brief emulation in .net 2003 > > > SlickEdit does it too (and quite nicely I might add!). > > Michael J. Lyons > Graphics Developer > Microsoft Xbox Hockey > (425) 703-2290 > ml...@mi... > > -----Original Message----- > From: gam...@li... > [mailto:gam...@li...] On > Behalf Of Gareth Lewin > Sent: Wednesday, September 10, 2003 4:25 PM > To: gam...@li... > Subject: RE: [GD-Windows] Brief emulation in .net 2003 > > Nope, gone. > > Codewrite (or is it Coderight) apparently has a plugin which > gives you some > of the breif layout. > > > -----Original Message----- > > From: Jacob Turner (Core Design Ltd) [mailto:Ja...@Co...] > > Sent: 10 September 2003 17:02 > > To: gam...@li... > > Subject: [GD-Windows] Brief emulation in .net 2003 > > > > > > It looks like brief emulation has been removed from .net > > 2003. Is this true > > ? > > > > Does anyone know how to get a brief emulation back in .net except by > > manually reassigning all the keyboard shortcuts. > > > > Thanks > > > > Jake > > > > > > ------------------------------------------------------- > > This sf.net email is sponsored by:ThinkGeek > > Welcome to geek heaven. > > http://thinkgeek.com/sf > > _______________________________________________ > > Gamedevlists-windows mailing list > > Gam...@li... > > https://lists.sourceforge.net/lists/listinfo/gamedevlists-windows > > Archives: > > http://sourceforge.net/mailarchive/forum.php?forum_id=555 > > > > > ------------------------------------------------------- > This sf.net email is sponsored by:ThinkGeek > Welcome to geek heaven. > http://thinkgeek.com/sf > _______________________________________________ > Gamedevlists-windows mailing list > Gam...@li... > https://lists.sourceforge.net/lists/listinfo/gamedevlists-windows > Archives: > http://sourceforge.net/mailarchive/forum.php?forum_id=555 > > > ------------------------------------------------------- > This sf.net email is sponsored by:ThinkGeek > Welcome to geek heaven. > http://thinkgeek.com/sf > _______________________________________________ > Gamedevlists-windows mailing list > Gam...@li... > https://lists.sourceforge.net/lists/listinfo/gamedevlists-windows > Archives: > http://sourceforge.net/mailarchive/forum.php?forum_idU5 > |
From: Michael L. <ml...@mi...> - 2003-09-10 23:39:24
|
SlickEdit does it too (and quite nicely I might add!). Michael J. Lyons Graphics Developer Microsoft Xbox Hockey (425) 703-2290 ml...@mi... -----Original Message----- From: gam...@li... = [mailto:gam...@li...] On Behalf Of = Gareth Lewin Sent: Wednesday, September 10, 2003 4:25 PM To: gam...@li... Subject: RE: [GD-Windows] Brief emulation in .net 2003 Nope, gone. Codewrite (or is it Coderight) apparently has a plugin which gives you = some of the breif layout. > -----Original Message----- > From: Jacob Turner (Core Design Ltd) [mailto:Ja...@Co...] > Sent: 10 September 2003 17:02 > To: gam...@li... > Subject: [GD-Windows] Brief emulation in .net 2003 >=20 >=20 > It looks like brief emulation has been removed from .net=20 > 2003. Is this true > ? >=20 > Does anyone know how to get a brief emulation back in .net except by > manually reassigning all the keyboard shortcuts. >=20 > Thanks >=20 > Jake >=20 >=20 > ------------------------------------------------------- > This sf.net email is sponsored by:ThinkGeek > Welcome to geek heaven. > http://thinkgeek.com/sf > _______________________________________________ > Gamedevlists-windows mailing list > Gam...@li... > https://lists.sourceforge.net/lists/listinfo/gamedevlists-windows > Archives: > http://sourceforge.net/mailarchive/forum.php?forum_id=3D555 >=20 ------------------------------------------------------- This sf.net email is sponsored by:ThinkGeek Welcome to geek heaven. http://thinkgeek.com/sf _______________________________________________ Gamedevlists-windows mailing list Gam...@li... https://lists.sourceforge.net/lists/listinfo/gamedevlists-windows Archives: http://sourceforge.net/mailarchive/forum.php?forum_id=3D555 |
From: Michael L. <ml...@mi...> - 2003-09-10 23:38:37
|
It wasn't in Visual Studio .NET (not 2003) either. It hasn't been there = since VS6. Believe me, I've tried, I've complained, begged, everything I = could. Michael J. Lyons Graphics Developer Microsoft Xbox Hockey (425) 703-2290 ml...@mi... -----Original Message----- From: gam...@li... = [mailto:gam...@li...] On Behalf Of = Jacob Turner (Core Design Ltd) Sent: Wednesday, September 10, 2003 9:02 AM To: gam...@li... Subject: [GD-Windows] Brief emulation in .net 2003 It looks like brief emulation has been removed from .net 2003. Is this = true ? Does anyone know how to get a brief emulation back in .net except by manually reassigning all the keyboard shortcuts. Thanks Jake ------------------------------------------------------- This sf.net email is sponsored by:ThinkGeek Welcome to geek heaven. http://thinkgeek.com/sf _______________________________________________ Gamedevlists-windows mailing list Gam...@li... https://lists.sourceforge.net/lists/listinfo/gamedevlists-windows Archives: http://sourceforge.net/mailarchive/forum.php?forum_id=3D555 |
From: Gareth L. <GL...@cl...> - 2003-09-10 23:26:28
|
Nope, gone. Codewrite (or is it Coderight) apparently has a plugin which gives you some of the breif layout. > -----Original Message----- > From: Jacob Turner (Core Design Ltd) [mailto:Ja...@Co...] > Sent: 10 September 2003 17:02 > To: gam...@li... > Subject: [GD-Windows] Brief emulation in .net 2003 > > > It looks like brief emulation has been removed from .net > 2003. Is this true > ? > > Does anyone know how to get a brief emulation back in .net except by > manually reassigning all the keyboard shortcuts. > > Thanks > > Jake > > > ------------------------------------------------------- > This sf.net email is sponsored by:ThinkGeek > Welcome to geek heaven. > http://thinkgeek.com/sf > _______________________________________________ > Gamedevlists-windows mailing list > Gam...@li... > https://lists.sourceforge.net/lists/listinfo/gamedevlists-windows > Archives: > http://sourceforge.net/mailarchive/forum.php?forum_id=555 > |
From: Jacob T. (C. D. Ltd) <Ja...@Co...> - 2003-09-10 16:03:52
|
It looks like brief emulation has been removed from .net 2003. Is this true ? Does anyone know how to get a brief emulation back in .net except by manually reassigning all the keyboard shortcuts. Thanks Jake |
From: Javier A. <ja...@py...> - 2003-08-20 10:44:33
|
Like Brian said, I found much easier to write this as part of our network layer. We have full control over the kind of situations to generate. In theory, DirectPlay includes a network simulator thing with these kinds of features, but we never got it to work reliably. We would do the following types of things: - Simulate packet loss by discarding non-guaranteed packets, and delaying delivery of guaranteed packets (and all packets that follow). - Simulate network congestion by queuing and delaying packets based on amount of traffic. - Simulate high pings or lagspikes by delaying everything by a set amount of time. - Simulate network disconnection by dropping all packets. With this, a good packet sniffer to ensure that the physical traffic reflects your expectations, and some testing in real conditions, you should be good to go. With a higher level API like DirectPlay you need the packet sniffer a lot more because DP does some packet management behind your back, but the overall concept still works. Javier Arevalo Pyro Studios Ivan-Assen Ivanov wrote: > We're hunting down some nasty and rare problems in our netcode > which only happen over slow, congested connections. > Buying a bunch of modems and dialing an ISP over our > telephone exchange is an option, but seems like a major PITA. > > Have you heard about some kind of software that throttles down > your LAN connection speed, drops packets etc.? |
From: Gareth L. <GL...@cl...> - 2003-08-20 09:14:58
|
Injecting a DLL into the address space of a process is basically running a DLL as if it was loaded by the program itself. When you run a program in MSVC you'll see all the DLLs loaded with your process, sometimes you'll be surprised at what runs there (THere are a few programs that hook every process as it runs) SetWindowsHooksEx is the best way to do it. Here is a nice tutorial about the stuff http://www.codeproject.com/useritems/winspy.asp#section_2 > -----Original Message----- > From: Rich [mailto:leg...@xm...] > Sent: 19 August 2003 17:23 > To: gam...@li... > Subject: Re: [GD-Windows] Hijacking application > > > > In article > <495...@mi...>, > Gareth Lewin <GL...@cl...> writes: > > > there are two ways to get your stuff into the product > without really hacking > > the binary, that's either injecting your own DLL into the > address space or > > wrapping a DLL that is used. Injecting is the 'prefered' way. > > What's injecting again? Unless they link against your import library > or LoadLibrary() your DLL, how are you going to get it in their > address space without wrapping an existing DLL that they use? > > "MXMonitor" is an example of a program that inserts itself into > another program by wrapping the DLL, I think. MXMonitor is a control > client for the WinMX peer-to-peer file sharing client. > -- > "The Direct3D Graphics Pipeline"-- code samples, sample chapter, FAQ: > <http://www.xmission.com/~legalize/book/> > Pilgrimage: Utah's annual demoparty > <http://pilgrimage.scene.org> > > > ------------------------------------------------------- > This SF.net email is sponsored by Dice.com. > Did you know that Dice has over 25,000 tech jobs available today? From > careers in IT to Engineering to Tech Sales, Dice has tech > jobs from the > best hiring companies. http://www.dice.com/index.epl?rel_code=104 > _______________________________________________ > Gamedevlists-windows mailing list > Gam...@li... > https://lists.sourceforge.net/lists/listinfo/gamedevlists-windows > Archives: > http://sourceforge.net/mailarchive/forum.php?forum_id=555 > |
From: <mu...@ya...> - 2003-08-20 08:26:47
|
Or you can use netlimiter (www.netlimiter.com) You can adjust download and upload per application. Hope it will help Brian Hook wrote: >Why not emulate directly in your net layer? > >Brian > > > > >------------------------------------------------------- >This SF.net email is sponsored by Dice.com. >Did you know that Dice has over 25,000 tech jobs available today? From >careers in IT to Engineering to Tech Sales, Dice has tech jobs from the >best hiring companies. http://www.dice.com/index.epl?rel_code4 >_______________________________________________ >Gamedevlists-windows mailing list >Gam...@li... >https://lists.sourceforge.net/lists/listinfo/gamedevlists-windows >Archives: >http://sourceforge.net/mailarchive/forum.php?forum_idU5 > > > |
From: Mike B. <mi...@wi...> - 2003-08-20 04:11:41
|
Or you could do some binary instrumentation and hook in that way (no pun intended ;)) http://research.microsoft.com/sn/detours/ "Detours is a library for instrumenting arbitrary Win32 functions on x86 machines. Detours intercepts Win32 functions by re-writing target function images." HTH, Mike -----Original Message----- From: gam...@li... [mailto:gam...@li...] On Behalf Of Brian Hook Sent: Monday, August 18, 2003 6:51 PM To: gam...@li... Subject: [GD-Windows] Hijacking application I have a feeling this can't be done, but I figured I'd ask the list=20 anyways just in case. Say I want to write a plug-in for random application XYZ. XYZ,=20 however, may not have a plug-in API or it may be broken. Use Notepad=20 as an example. If I wanted to add a plug-in, it seems like it would be pretty much=20 impossible unless my plug-in didn't require any of the application's=20 other data. =20 I swore there were a few plug-ins I've seen that have forced their way=20 into an application, but I can't think of what they might be now. The=20 obvious ones are like Visual Assist, Max plug-ins, Maya plug-ins,=20 Photoshop plug-ins, VS plug-ins, etc. but those all have registered=20 APIs. I've seen screenshots of people that have retrofitted a new=20 menu into Notepad just to prove it can be done, but I'm not sure what=20 the point of that is. The typical way you do this is a pretty convoluted process involving=20 subclassing and message hooks, but even then you can only trap new=20 menu items and maybe a couple of key messages like WM_DESTROY. You=20 obviously can't grab application data and do anything meaningful with=20 it. Brian ------------------------------------------------------- This SF.Net email sponsored by: Free pre-built ASP.NET sites including Data Reports, E-commerce, Portals, and Forums are available now. Download today and enter to win an XBOX or Visual Studio .NET. http://aspnet.click-url.com/go/psa00100003ave/direct;at.aspnet_072303_01 /01 _______________________________________________ Gamedevlists-windows mailing list Gam...@li... https://lists.sourceforge.net/lists/listinfo/gamedevlists-windows Archives: http://sourceforge.net/mailarchive/forum.php?forum_idU5 |
From: Brian H. <ho...@py...> - 2003-08-20 00:49:34
|
Why not emulate directly in your net layer? Brian |
From: brian s. <pud...@po...> - 2003-08-20 00:44:17
|
Under NT/2k/XP, you can't set a new WndProc on a window that you don't own (specifically, a window that wasn't created by a thread in your process). So you can't get your code into an app that way. SetWindowsHookEx will get you there though. All you have to do is put your code into a DLL that can be loaded as a hook, and then you can party all over the app in question. Which, as far as getting anything useful done, probably means very little. Although maybe someone will write a Notepad plugin and prove me wrong. --brian p.s. If you lack the necessary privileges to install a hook, there's always http://security.tombom.co.uk/shatter.html :) Colin Fahey wrote: >Doing GetWindowLong(...) with the handle acquired by FindWindow(...) >can give you the address of the WndProc() for that window. I can't >remember the details, but you can essentially do SetWindowLong(...) >to replace the existing WndProc() function pointer with your own. > >Your WndProc() can essentially be a pass-through function that >calls the previous WndProc() function with the same arguments; >totally transparent. > >However, you can monitor, filter, record, process, augment, etc, >the stream of messages. And there is a LOT you can do with plain >messages! Forget about undocumented functions that you MIGHT >discover using "dumpbin" on the EXE file; just interact with the >application at the same level as the user. > >Of course you don't need to insert your own WndProc() between the >OS and the real WndProc() if all you are doing is ADDING messages >to the queue; you just do PostMessage() from any separate application >to the target window handle. > >But by hooking your own WndProc() in to the application's message >processing you can do cool things, like draw your own controls >or annoying, animated "assistants" after all other painting of >the client area is complete, or mess with keystrokes and mouse >messages. Maybe add your own shortcuts to apps that cannot by >default have new key bindings -- and you can even have a whole mess >of key and mouse macros that activate when you bring up the load >or save dialog boxes! (I was too cheap to buy the full Photoshop, >but Photoshop LE apparently does not have any automation, so I >have been tempted to fix this. For example, I hate having to >always change the file extension from "JPG" to "jpg" when doing >a "Save As...", and unchecking "[x] Save thumbnail" (Does that >even have anything to do with JPG?) So, perhaps hooking in my >own WndProc(), or having a separate app do PostMessage()s, >would make my $99 investment go a little further!) > >I don't remember details, but this stuff is documented in MSDN, >probably in relation to common control "subclassing" in the >days before C++ and MFC! > >I guess your pass-through WndProc() would be free to do its >own CreateWindow() calls to add child windows or controls to >the application. > >Here's the weird part: It MIGHT be tricky to get your WndProc() >in the address space of the target application at run-time, >if that's how you're doing things. One non-runtime option is to >append your WndProc() hijacking code to the tail of the application >somehow (both your WndProc() and the function that does the stuff >with GetWindowLong() and SetWindowLong() to perform the hijack), >and then it is just a matter of arranging for your code to be >called by the real WinMain(). Maybe it would be better to put >the hijack code in a DLL and somehow get the app to implicitly >load it, and in your DllInitialize() function (or DllEntry() or >whatever function is called when the DLL first loads), start a >thread that sleeps for a while, checks for the existence of >the main app window, and either returns to sleep or does the >hijack. > >There are probably much cleaner ways! For all I know, external >apps can trivially hijack WndProc()s of other apps without >doing anything special to get the "interceptor" or "new" WndProc() >in to the target address space. > > > |
From: Brian H. <ho...@py...> - 2003-08-20 00:32:16
|
> What's injecting again? Unless they link against your import > library or LoadLibrary() your DLL, how are you going to get it in > their address space without wrapping an existing DLL that they use? IIRC, there's a way (via registry) to force your DLL to get loaded at startup, and then you go from there. Brian |
From: Ivan-Assen I. <as...@ha...> - 2003-08-19 20:24:08
|
We're hunting down some nasty and rare problems in our netcode which only happen over slow, congested connections. Buying a bunch of modems and dialing an ISP over our telephone exchange is an option, but seems like a major PITA. Have you heard about some kind of software that throttles down your LAN connection speed, drops packets etc.? I have found something called NISTNet which runs on Linux, and I understand the *BSD kernels can do this natively. Does anyone know of a Windows solution? Thanks, Assen |
From: Tom F. <to...@mu...> - 2003-08-19 18:40:28
|
It's because of Colin's rather strange little rant at the bottom of his email, after the dots (I've chopped it off the bottom of this email :-). Tom Forsyth - Muckyfoot bloke and Microsoft MVP. This email is the product of your deranged imagination, and does not in any way imply existence of the author. > -----Original Message----- > From: Gareth Lewin [mailto:GL...@cl...] > Sent: 19 August 2003 15:37 > To: gam...@li... > Subject: RE: [GD-Windows] Hijacking application > > > Uh, I got this reply > > MDaemon has indentified your message as spam. It will not be > delivered. > > From : gam...@li... > To : aku...@cr... > Subject : [***SPAM*** Score/Req: 05.60/05.00] RE: > [GD-Windows] Hijacking > application > Message-ID: > <495...@mi...> > > Yes, hits=5.6 required=5.0 > tests=BAD_CREDIT,EXCUSE_1,HGH,HTML_00_10,HTML_MESSAGE, > INTL_DRIVERS_LICENSE,KNOWN_MAILING_LIST,OPT_IN, QUOTED_EMAIL_TEXT > version=2.54 > ***** > ---- Start SpamAssassin results 5.60 points, 5 required; * > 2.9 -- BODY: > International driving license * 1.2 -- BODY: Human Growth > Hormone * 0.5 -- > BODY: Talks about opting in (lowercase version) * 0.4 -- > BODY: Eliminate > Bad Credit * 0.7 -- BODY: Gives a lame excuse about why you > were sent this > spam * 0.1 -- BODY: HTML included in message * 1.2 -- BODY: > Message is 0% > to 10% HTML * -0.5 -- BODY: Contains what looks like a quoted > email text * > -0.9 -- Email came from some known mailing list software ---- End of > SpamAssassin results > > : Message contains [1] file attachments > > > Please, people, whitelist stuff from mailing lists. And wow, > I'm 100% sure > I'll never use MDaemon in my life ! > > > -----Original Message----- > > From: Gareth Lewin [mailto:GL...@cl...] > > Sent: 19 August 2003 15:06 > > To: gam...@li... > > Subject: RE: [GD-Windows] Hijacking application > > > > > > What you describe is basic subclassing in windows. > > GWL_WNDPROC is the value > > you use with GetWindowLong/SetWIndowLong > > > > there are two ways to get your stuff into the product without > > really hacking > > the binary, that's either injecting your own DLL into the > > address space or > > wrapping a DLL that is used. Injecting is the 'prefered' way. > > > > > -----Original Message----- > > > From: Colin Fahey [mailto:cp...@ea...] > > > Sent: 19 August 2003 14:11 > > > To: gam...@li... > > > Subject: Re: [GD-Windows] Hijacking application > > > > > > > > > > > > Doing GetWindowLong(...) with the handle acquired by > FindWindow(...) > > > can give you the address of the WndProc() for that > window. I can't > > > remember the details, but you can essentially do > SetWindowLong(...) > > > to replace the existing WndProc() function pointer with your own. > > > > > > Your WndProc() can essentially be a pass-through function that > > > calls the previous WndProc() function with the same arguments; > > > totally transparent. > > > > > > However, you can monitor, filter, record, process, augment, etc, > > > the stream of messages. And there is a LOT you can do with plain > > > messages! Forget about undocumented functions that you MIGHT > > > discover using "dumpbin" on the EXE file; just interact with the > > > application at the same level as the user. > > > > > > Of course you don't need to insert your own WndProc() between the > > > OS and the real WndProc() if all you are doing is ADDING messages > > > to the queue; you just do PostMessage() from any separate > > application > > > to the target window handle. > > > > > > But by hooking your own WndProc() in to the application's message > > > processing you can do cool things, like draw your own controls > > > or annoying, animated "assistants" after all other painting of > > > the client area is complete, or mess with keystrokes and mouse > > > messages. Maybe add your own shortcuts to apps that cannot by > > > default have new key bindings -- and you can even have a > whole mess > > > of key and mouse macros that activate when you bring up the load > > > or save dialog boxes! (I was too cheap to buy the full Photoshop, > > > but Photoshop LE apparently does not have any automation, so I > > > have been tempted to fix this. For example, I hate having to > > > always change the file extension from "JPG" to "jpg" when doing > > > a "Save As...", and unchecking "[x] Save thumbnail" (Does that > > > even have anything to do with JPG?) So, perhaps hooking in my > > > own WndProc(), or having a separate app do PostMessage()s, > > > would make my $99 investment go a little further!) > > > > > > I don't remember details, but this stuff is documented in MSDN, > > > probably in relation to common control "subclassing" in the > > > days before C++ and MFC! > > > > > > I guess your pass-through WndProc() would be free to do its > > > own CreateWindow() calls to add child windows or controls to > > > the application. > > > > > > Here's the weird part: It MIGHT be tricky to get your WndProc() > > > in the address space of the target application at run-time, > > > if that's how you're doing things. One non-runtime option is to > > > append your WndProc() hijacking code to the tail of the > application > > > somehow (both your WndProc() and the function that does the stuff > > > with GetWindowLong() and SetWindowLong() to perform the hijack), > > > and then it is just a matter of arranging for your code to be > > > called by the real WinMain(). Maybe it would be better to put > > > the hijack code in a DLL and somehow get the app to implicitly > > > load it, and in your DllInitialize() function (or DllEntry() or > > > whatever function is called when the DLL first loads), start a > > > thread that sleeps for a while, checks for the existence of > > > the main app window, and either returns to sleep or does the > > > hijack. > > > > > > There are probably much cleaner ways! For all I know, external > > > apps can trivially hijack WndProc()s of other apps without > > > doing anything special to get the "interceptor" or "new" WndProc() > > > in to the target address space. > > > > > > --- Colin > > > > > > cp...@ea... |