
sabre_chen
MemberContent Type
Profiles
Forums
Events
Everything posted by sabre_chen
-
Vanilla Windows 98 Web Browsing Summary
sabre_chen replied to Wunderbar98's topic in Windows 9x Member Projects
The latest build of Retrozilla from @roytam1 is http://o.rthost.win/gpc/files1.rt/rzbrowser-tls12-20200127.7z. -
RetroZilla Suite unable to receive emails occasionally
sabre_chen replied to sabre_chen's topic in Windows 9x Member Projects
Alright, now the problem appears again. -
Use IDA to find the callee of IsDebuggerPresent, it is called with parameter value 0Ch. This is PF_NX_ENABLED flag to check the Data Execution Prevention which is not available in Windows 95. If the return value is not 0, which means the feature is supported, it will then jump to subroutines which call InterlockedCompareExchange too. Okay, then remove the jump code since we know it's not supported. Then remove these two functions from import list.
-
Now check if you could run Notepad++. In my situation, Notepad++ runs without no complain words except for LightExplorer. But I when use Dependency Walker to check the functions, the plugin LightExplorer is still lack of IsProcessorFeaturePresent and InterlockedCompareExchange. I'm still working on it.
-
Then use Dependency Walker to check which import functions are missing. Missing functions in Notepad++.exe: MonitorFromWindow, GetMonitorInfoA, GetLongPathName After reading Notepad++ source code, there is a commented #ifdef related to MonitorFromWindow and GetMonitorInfoA. It shows that these two functions will not be used if it's not compiled for Windows NT series. Use IDA to find the block of code that would call MonitorFromWindow and GetMonitorInfoA, and remove them in WinHex. Remove these two import functions is as easy as IsDebuggerPresent. I replace them with MessageBoxA. As for GetLongPathName, GetLongPathName would only be called after GetFullPathName, and the same variable is used before and after this call. It's used to convert short path name to long path name. So it would be good to simply remove this call and use short path instead. Use IDA to find the block of code that would call GetLongPathName, and remove them in WinHex. Remove the import functions like IsDebuggerPresent.
-
Unpack the npp.5.9.1.bin.7z. Use the ANSI version. It could not run and prompt for missing import functions. It only said IsDebuggerPresent, which is common when compiling with new version of Visual C++. First, the simplest, is to replace IsDebuggerPresent. Please refer to https://msfn.org/board/topic/181040-mp4-player-for-windows-95/page/2/, @roytam1 wrote a tool to patch bin. (URL link is updated in quote). Or you could do it using WinHex. You should do it for: Notepad++.exe, SciLexer.dll, plugins\ComparePlugin.dll, plugins\LightExplorer.dll, plugins\NppExec.dll, plugins\NppTextFXA.dll, plugins\PluginManager.dll (When I started to patch, I didn't patch the plugin files, then Notepad++ will complain about LoadLibrary error for these plugins.)
-
Conclusion: Notepad++ 5.9.1 (ANSI) could run in Windows 95 but doesn't work well. Notepad++ 4.9 (ANSI) runs well without LightExplorer plugin. In the post Last Versions of Software for Windows 98SE, @Nash614 said I've confirmed that Notepad++ 5.9.1 (ANSI) works fine in Windows 98 SE, but not in Windows 95 OSR2.5. Notepad++ 3.9 (ANSI) works fine in Windows 95 OSR2.5, but it is too old and lack of functionality. In this post, I will describe the method to use Notepad++ 5.9.1 (ANSI) in Windows 95 OSR2.5 without compiling Notepad++ yourself. When I write these words, I can run Notepad++ 5.9.1 (ANSI) in Windows OSR2.5 but the plugin LightExplorer is still lack of API functions.
-
RetroZilla Suite unable to receive emails occasionally
sabre_chen replied to sabre_chen's topic in Windows 9x Member Projects
More thing to say. I had tried to delete the email account and then add it again, that doesn't solve the problem. My OS is Windows 95 OSR2.5 from winworldpc and running in PCem. -
RetroZilla Suite unable to receive emails occasionally
sabre_chen replied to sabre_chen's topic in Windows 9x Member Projects
I saw the post by @loblolly986 yesterday. Before I install the build from @roytam1, I deleted all files from 'Program Files\RetroZilla\' ( they were from the Github release). I had visited https://www.howsmyssl.com/ to check the TLS ciphers, they just appear in the supported ciphers. I don't think it's the additional ciphers that matter, since the Github release also works occasionally. After deleting compreg.dat and xpti.dat as the post said, it seems that everything works fine now. Strange problem. I haven't found why, but I have finally solved it. One guess: I should have deleted all files from 'Application Data' too. Thanks. -
I have checked both the latest release in the Github (RetroZilla 2.2) and the build from roytam1 (retrozilla-suite-tls12-20200131). They both have this strange problem. The email connection uses IMAP and SMTP, both with SSL enabled (according to the email website). Sometimes everything works fine, but most time it shows "RetroZilla can't connect securely because the sites uses a security protocol which isn't enabled" when getting messages. I have checked that security.ssl3.ecdhe_ecdsa_aes_128_gcm_sha256 and security.ssl3.ecdhe_rsa_aes_128_gcm_sha256 are enabled according to Github issue #47. Anyone helps? Or how can I figure out what's wrong? Thanks.