Torchizard Posted December 4, 2013 Share Posted December 4, 2013 I'd like to know what you guys think is the best\most efficient way of checking if an application is compatible with 9x. Aside from trying to run it in 9x physically, I'm also aware of tools such as FileAlyser and PE Explorer's Dependency Scanner (although it doesn't say which file version is required) so what do you guys think is the best solution? Link to comment Share on other sites More sharing options...
jaclaz Posted December 4, 2013 Share Posted December 4, 2013 "Run it in Windows 9x physically", no, wait, that is "aside", then "Run it in Windows 9x virtually" Seriously, now .It makes little sense IMHO to know if something is "compatible" with Windows 9x, any given program may be "compatible" with Windows 9x but not running in it (for a zillion possible reasons), just as an example an app may be "compatible" with 9x/Me, but only run in - say - Windows 98 SE or in Windows 95 but not in Windows98. Can you explain what your goal/ise of such a method would be?jaclaz Link to comment Share on other sites More sharing options...
Torchizard Posted December 5, 2013 Author Share Posted December 5, 2013 "Run it in Windows 9x physically", no, wait, that is "aside", then "Run it in Windows 9x virtually" Seriously, now .It makes little sense IMHO to know if something is "compatible" with Windows 9x, any given program may be "compatible" with Windows 9x but not running in it (for a zillion possible reasons), just as an example an app may be "compatible" with 9x/Me, but only run in - say - Windows 98 SE or in Windows 95 but not in Windows98. Can you explain what your goal/ise of such a method would be?jaclazWhat I meant by this is checking whether an app uses imports that only exist in a newer version of a DLL or other resource that only appears in a newer version of Windows. So what I mean is checking whether the app shows a message like "kernel32.dll not found" or similar at startup. So to rephrase my question, "Which is the best way to check for DLL dependencies and are DependencyWalker, FIleAlyser and that type of program reliable?" Link to comment Share on other sites More sharing options...
jumper Posted December 5, 2013 Share Posted December 5, 2013 Dependency Walker 2.2.6000 is very good, but must be used to test on the target system. It can also profile an app after initial testing to determine whether there are any additional landmines (but this would fall under "run it in 9x physically").>...(although it doesn't say which file version is required)...This feature might be worthy of a project--I don't think there are any tools that can do this.There are clues in the PE file headers and other structures about when each module was linked (created), for what target platform, by what linker (for crt version info), and possibly to the timestamps of other modules (if bound).While most PE tools will indirectly provide most of this info, I don't know of any that summarize it in terms of a target system. And ImportPatcher is the only tool I know of that reports binding timestamps (valuable for this purpose). Link to comment Share on other sites More sharing options...
jaclaz Posted December 5, 2013 Share Posted December 5, 2013 So to rephrase my question, "Which is the best way to check for DLL dependencies and are DependencyWalker, FIleAlyser and that type of program reliable?"Good. A much better question BUT we have an issue here Dependency Walker can detect what DLL's (or other "connected" file) functions a given .exe is "connected" to (statically), but in order to "truly" know what the program "wants/needs" you need to "profile" the app (i.e. run it from within Dependency Walker) in order to see what is used dynamically.To be of some use this needs to be done on both the "tested" OS/install (i.e. one in which the tool/program works fine) and on the "target" OS/install, because besides the mere existence of a .dll (or of a given function inside it) there are several other possible issues that may prevent the app/program to actually run in the "target" OS/install.The extensive use of Dependency Walker in (example) making a BartPE plug-in (or a Winbuilder .script) or more simply have a given tool/app working on a very reduced system, either manually made or - say - nlited (and the actual "base" OS is the same) is already a nightmare (and far form being "easy" or "fully reliable") I would say that using it to establish when running it under - say - XP whether a given program is compatible with a much different OS (like 9x/Me) seems to me like a "lost cause".If instead the idea is to use it as a sort of "sieve" to quickly determine if a given app is NOT compatible with win 9x/Me (because it invokes a .dll or a function inside it that is not present in those OS, then it may have IMHO some merits.Maybe in better words, analyzing a file with one of these tools may give you proof (or a quick way to learn ) that something is "NOT compatible", but won't ever be "enough" to tell you that it will run under the "other" OS (which supposedly is the "final goal").To list the imported .dll's (and functions) in a given PE file, you can probably want to try using besides the mentioned ones a tool like CFF Explorer Suite:http://www.ntcore.com/exsuite.phpand - for dynamically loaded modules - the nice, little Dynlogger:http://www.ntcore.com/dynlogger.phpThis thingy here:http://www.silurian.com/inspect/index.htmis also a nice tool IMHO.jaclaz Link to comment Share on other sites More sharing options...
M()zart Posted December 9, 2013 Share Posted December 9, 2013 I did it in the followind way - created a folder with Windows 98 dlls on my Windows 7, put the application DLLs and exes there, and used Total Commander FileInfo plugin with the applications' DLLs and Exes (it is better than Dependency Walker since it shows if the required DLL is delay loaded, which means that it probably isn't so necessary). In this way, fileinfo searched for import APIs in this folder with Win98 dlls instead of the system one. Then I've searched for missing imports in KernelEx source and old offline MSDN to know whether it is possible to get on Windows 98.Additionally you will need the upx plugin for FileInfo to uncompress app exes on the fly or the UPX itself to uncompress upx-compressed exes manually, because after upx compression they show much less imports than they have.This is not 100% correct way, since kernel32.dll imports cannot be tested (it still uses the current OS one), and sometimes even if all imports can be found, the app still won't work on real Windows 98, however in most cases this worked for me. Link to comment Share on other sites More sharing options...
ZortMcGort11 Posted December 10, 2013 Share Posted December 10, 2013 Um, I usually read any text files called "readme.txt", which usually tell you the system requirements. Sometimes if you go up to the help menu, there's a sub-menu that details the system requiremts... obviously if the program is loaded, then you meed at least the minimum requirements. I go to OldApps.com and click on the "windows me" icon to find the last working version for windows me. -- I know, this doesn't help much. I don't know why you'd want to spend time with DLLs and dependencies. What good is some buggy program that doesn't work right? And that is one thing that irks me, authors who don't list the system requirements for their software. IF they're too lazy to bother with it, than so am I. Link to comment Share on other sites More sharing options...
ZortMcGort11 Posted December 10, 2013 Share Posted December 10, 2013 Or else they put just "Windows" as the system requirements. *Slaps Head* *Facepalm* What windows? Windows 2.0? Windows 95? Windows 7. These morons don't get my money or time. Link to comment Share on other sites More sharing options...
M()zart Posted December 10, 2013 Share Posted December 10, 2013 Um, I usually read any text files called "readme.txt", which usually tell you the system requirements. Sometimes if you go up to the help menu, there's a sub-menu that details the system requiremts... obviously if the program is loaded, then you meed at least the minimum requirements. I go to OldApps.com and click on the "windows me" icon to find the last working version for windows me. -- I know, this doesn't help much. I don't know why you'd want to spend time with DLLs and dependencies. What good is some buggy program that doesn't work right? And that is one thing that irks me, authors who don't list the system requirements for their software. IF they're too lazy to bother with it, than so am I.Well, I had some fun from running the apps on Windows 98 that were not intended to run on it.Many developers didn't write Windows 9x in their requirements even if the application actually supported them even 5 years ago. And KernelEx allows to run even tha apps, that never supported Windows 9x. On the other hand, it happened several times when I downloaded an app from OldApps.com or from other such site - the site stated that the app supports Windows 9x, but in fact that wasn't true. Link to comment Share on other sites More sharing options...
ZortMcGort11 Posted December 10, 2013 Share Posted December 10, 2013 Point taken. Somebody should start a thread: Apps That Aren't Supposed To Work Under Win9x But Do Link to comment Share on other sites More sharing options...
Drugwash Posted December 22, 2013 Share Posted December 22, 2013 Here's the deal: Microsoft wants Windows9x dead because they (and others along this chain) cannot control such machines remotely.Developers are somehow being blackmailed to drop Win9x support for that so-much-desired "windows logo" attribute. They wanna sell their stuff so they'll immediately drop any kind of 9x support in their applications just to get MS' clearance.For many developers, "Windows" compatibility means whatever range of OS versions is still officially supported by MS. That's the easier approach, especially where those applications are cross-platform so there's also Linux, Mac, etc versions available.Some developers who have little to no contact to "second-hand" world have no idea there still are many Win9x users around the world, for whatever reason. They would drop 9x support just for convenience or due to hardware/software upgrade, where VC6 or similar would be unsupported. In limited situations, when contacted, they would respond positively to Win9x compatibility requests.Progress has knocked down the door and we're caught in a corner. This is not a 'live and let live' world. We do whatever we can to survive... Link to comment Share on other sites More sharing options...
jaclaz Posted December 22, 2013 Share Posted December 22, 2013 Here's the deal: Microsoft wants Windows9x dead because they (and others along this chain) cannot control such machines remotely.Does the conspiracy comprise also NT 4.00 and 2K?jaclaz Link to comment Share on other sites More sharing options...
Drugwash Posted December 22, 2013 Share Posted December 22, 2013 The NT-based systems are far more vulnerable. But since they are mostly if not exclusively used in business environments, I figure there may also be other ways to get to them. Win9x has usually been (and probably is) used in home environments, harder to reach individually.Don't take this for granted - I'm a huge sci-fi fan and a known paranoid. Nevermind my paranoia gets backed up every once in a while by facts... Link to comment Share on other sites More sharing options...
jaclaz Posted December 22, 2013 Share Posted December 22, 2013 The NT-based systems are far more vulnerable. But since they are mostly if not exclusively used in business environments, I figure there may also be other ways to get to them. Win9x has usually been (and probably is) used in home environments, harder to reach individually.Don't take this for granted - I'm a huge sci-fi fan and a known paranoid. Nevermind my paranoia gets backed up every once in a while by facts... I am not trying to doubt (or limit the amount of) your paranoia .I was only trying to establish the borders of the conspiracy, i.e. I guess everyone will agree that Vista and later are part of it, many have doubts on XP , you are now stating than 9x is outside it, the point is where exactly NT4.0, 2K and Me are in this.... (inside or outside the big remote control conspiracy)jaclaz Link to comment Share on other sites More sharing options...
Drugwash Posted December 22, 2013 Share Posted December 22, 2013 In regard to those OS versions, an educated opinion should be offered by people that have intensively used them and/or analyzed their behavior. Personally I never had the chance to use NT or 2000 and the period I had a ME setup was quite short because that respective HDD died quite soon. So I can only speculate. I like that - prove me wrong, people. I know you're teasing me and it's OK because I do have a healthy sense of humor. A serious and argumented talk might not be appropriate for this board. We can do that in a really free place or a peer-to-peer talk. I'd like to revive my long-forgotten Italian. Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now