Jump to content

sabre_chen

Member
  • Posts

    18
  • Joined

  • Last visited

  • Donations

    0.00 USD 
  • Country

    China

About sabre_chen

Profile Information

  • OS
    95

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

sabre_chen's Achievements

0

Reputation

  1. The latest build of Retrozilla from @roytam1 is http://o.rthost.win/gpc/files1.rt/rzbrowser-tls12-20200127.7z.
  2. I have IE5.5 installed. Although Dependency Walker says the Notepad++ Portable 5.5 has nothing missing, it simply doesn't run. No error message, no window.
  3. Are you running Windows 95? I checked the Notepad++ Portable 5.5 from PortableApps.com, and it doesn't work. The portable app screen showed and then it quits without any messages.
  4. I successfully patch Notepad++ 4.9 (ANSI) to work well without the LightExplorer plugin. The latest Explorer plugin version for Windows 95 is Explorer Plugin v1.5, use this version instead.
  5. The Open/Save dialog doesn't work, which makes this version of Notepad++ useless. I give up. This post is reserved for furthur update or for other applications.
  6. Indeed, the plugin manager doesn't work well. But as it was abandoned long before in favor of the Plugins Admin, it's meaningless for me.
  7. Unfortunately, Notepad++ would crash after remove IsDebuggerPresent and InterlockedCompareExchange in LightExplorer.dll. The two functions are among the codes of things that Visual C++ does, I will try to search for solution.
  8. 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.
  9. After reading the source code of the plugin LightExplorer, the two function are not directly used. So they are similar to IsDebuggerPresent, they are introduced in new version of Visual C++.
  10. 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.
  11. 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.
  12. 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.)
  13. What you need: npp.5.9.1.bin.7z from Notepad++ Repository. ( You'd better got npp.5.9.1.src.7z as well.) Dependency Walker to check the missing import functions. IDA or other disasmblers. WinHex or other hex editors. The Win32 API reference documentation.
  14. 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.
×
×
  • Create New...