bizzybody Posted April 17, 2015 Share Posted April 17, 2015 PureBASIC's author found that after updating his programming tools that it would no longer run on Windows 95, giving the linked to missing export KERNEL32.DLL: IsDebuggerPresent error. He tried various hacks with the programming, fail. The solution that worked? Fake it. PureBASIC didn't actually use that anyway. http://www.purebasic.fr/blog/?p=152 A fake KernelEX for Windows 95, to dummy up function calls that newer compilers stick into all their output even when they won't be used, would be quite useful. I'd like to run CCleaner 2.x on Win95. I bet all it needs is an erzatz response to IsDebuggerPresent. 2 Link to comment Share on other sites More sharing options...
jaclaz Posted April 17, 2015 Share Posted April 17, 2015 (edited) Well, nice , but seemingly that is a workaround to have the VC8 compiler run in Windows 95 and actually compile a program in it (and the program needs the added stub), so I am not sure how this can be "exported" or "generalized". jaclaz Edited April 17, 2015 by jaclaz Link to comment Share on other sites More sharing options...
rloew Posted April 17, 2015 Share Posted April 17, 2015 I already have a program that can do that. Link to comment Share on other sites More sharing options...
jaclaz Posted April 17, 2015 Share Posted April 17, 2015 I already have a program that can do that.Thanks a lot for this exceptionally useful piece of news . jaclaz Link to comment Share on other sites More sharing options...
rloew Posted April 17, 2015 Share Posted April 17, 2015 I already have a program that can do that.Thanks a lot for this exceptionally useful piece of news .jaclaz Thanks.Awareness of a solution is important. Link to comment Share on other sites More sharing options...
CamTron Posted April 17, 2015 Share Posted April 17, 2015 Most of us who use Windows 98/ME know how great KernelEx is with getting more modern software to run, but I still wonder why KernelEx hasn't been ported to Windows 95. Are there just too many missing functions in Win95 that it would take too long to implement them in KernelEx? Link to comment Share on other sites More sharing options...
jaclaz Posted April 17, 2015 Share Posted April 17, 2015 Thanks.Awareness of a solution is important. You are welcome, I am sure , knowing that you have a program that can do that is something that I had really missed, maybe in a next stage of awareness I might be able to learn what is the name of the program and what is the that it can do. jaclaz Link to comment Share on other sites More sharing options...
rloew Posted April 18, 2015 Share Posted April 18, 2015 Thanks.Awareness of a solution is important.You are welcome, I am sure , knowing that you have a program that can do that is something that I had really missed, maybe in a next stage of awareness I might be able to learn what is the name of the program and what is the that it can do.jaclazI was assessing the OP's interest before going into more detail. I'm sure you could have figured it out by looking at my website.The program is called DLLHOOK and it can satisfy the missing entry point the OP specified. Link to comment Share on other sites More sharing options...
bizzybody Posted April 18, 2015 Author Share Posted April 18, 2015 (edited) I'd like to try it to see if a faux response to IsDebuggerPresent is all that is required to have CCleaner 2.x run on Windows 95B. Another fix I found mention of was using a hex editor to find and change the IsDebuggerPresent text to another function call like GetCurrentProcess which has the same number of characters. However, that won't work on programs that self-test for corruption. Something that just lurks waiting for calls to IsDebuggerPresent then returns False to satisfy the program that the function it won't be using "exists" would be a useful thing. One thing about CCleaner 2.x that makes me think this may work is in its installed location is an executable named something like win95pop.exe (I don't have it installed now.) Doubleclick that and all it does is pop up the IsDebuggerPresent error message. Looks like a hack made specifically to stop people from using it on Windows 95. Hrmmm, I wonder what would happen if I just deleted that .exe? Obviously the main executable calls that, or a dll or other file called by the main executable calls it, somewhere up the chain the call to the error popper executable would need edited to stop it. Edited April 18, 2015 by bizzybody Link to comment Share on other sites More sharing options...
jaclaz Posted April 18, 2015 Share Posted April 18, 2015 I'm sure you could have figured it out by looking at my website.Who knows? Maybe I would have been tricked into believing that it was a released, final program and would not have looked among the pre-release ones. The program is called DLLHOOK and it can satisfy the missing entry point the OP specified.Good , by applying a tiny amount of torture I managed to get the needed info, for the record:http://rloew.x10host.com/prerel.htmDLLHOOK $10 + $1 S&HThe DLLHOOK Program redirects API references to alternate DLLs and/orFunction Names. This allows Programs written for other Versions of Windows toreach APIs that might be in different DLLs than in Windows 9X or to addedsupport DLLs or stub DLLs. A VXD Version is available where System Code needsto be redirected as well. This Version is compatable with KernelEx Version4.5.2 and can extend its capabilities. You see, it was not too difficult, now the specific info is here for all to be seen. jaclaz Link to comment Share on other sites More sharing options...
blackwingcat Posted April 27, 2015 Share Posted April 27, 2015 (edited) http://blog.livedoor.jp/blackwingcat/archives/1452362.htmlUmm. it is not correct, because the implement format is wrong so it may be crash program.So, I created a library for VC++2005 for Win95 before. // The cool Win95 hack, so the compiler can launch on it, even compiled with VS2005// Basically, this function is needed by the libcmt.lib / gs_report.obj//BOOL __stdcall _imp__IsDebuggerPresent (){return FALSE;}Timo kindly tested the new build and PureBasic launched and worked correctly on an old Win95. Victory! Edited April 27, 2015 by blackwingcat 2 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