Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 05/28/2017 in all areas

  1. Thanks, for example qupzilla 1.6.6 requires only a missing function in gdi32 (GetCharABCWidthI) and for now I have redirected it to GetCharABCWidthW. I'm going to write the function and see if it will change something. BTW yes I have a plan to do something even for windows NT 3.51 in the future, but for now I will focus on windows NT 4.0
    2 points
  2. Hello everyone, in the last past few months I have been working on a windows nt 4.0 api wrapper which can run softwares designed for new windows's version. I'm writing the functions in inline assembly (I'm using ida) and C. (There is also some code from reactos and wine). There are some issues with certain softwares, some don't load at all and some crash, so I can't release nothing for now. What are some software you use and you want to run on it? List me and I will try to get them work. Unfortunately firefox (the 3.5 version and newer), opera 12.18 and utorrent don't load even if I added the missing functions... They don't throw me any error, they simply don't load at all... Maybe I have to do something. I will investigate. Here, there are some software that load. Filezilla 3.8.1 (last version crashes, but I think I will be able to get it work) vlc 2.2.0 last version of 7-zip last version of Sumatra (it's a little buggy but it reads pdf).
    1 point
  3. If anyone's interested, I've managed to find these URLs to full packages of SP1a for all language versions of Windows XP. These links are not available anywhere publicly on M$ websites. ARA http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/XPSP1A_E31FA91A89A658F3D586AA1C9992B01AF3E11FE0.EXE CHS http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/XPSP1A_8BD1BDE300DF00E7BD6831AC37CB87E437E2B729.EXE CHT http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/XPSP1A_98472ED83897EC104C8496FCD661E6F289EF5090.EXE CSY http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/XPSP1A_57F0CAA259089B1477A162F220D08B1C4BC86010.EXE DAN http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/XPSP1A_619CC6CF6A98F75D18F4D6EDDB662EBFE4A44223.EXE DEU http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/XPSP1A_CB7D182645EA1019741D9D94732C29251294ACDC.EXE ELL http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/XPSP1A_47666B37340D6224EEB40F67AE16DA3E457E64E0.EXE ENU http://www.download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/xpsp1a_8441053935adbfc760b966e5e413d3415a753213.exe ESN http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/XPSP1A_E675D08B12D20CA372BA6D3B502074000981870F.EXE FIN http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/XPSP1A_8A254D89DAEB22F4F4CCB9B0861E83CB5EA66196.EXE FRA http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/XPSP1A_FE557A68AED45003151F647189767AEB2BED53A9.EXE HEB http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/XPSP1A_499EE7440DBA140909FE4D3A86FFFD8EC4A1D473.EXE HUN http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/XPSP1A_9F24000EB4B69AAA975EDEB578B4CD22F971318B.EXE ITA http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/XPSP1A_4F5AA5833BEE00C3309FC03D6EAFCC6E6F4E2EEA.EXE JPN http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/XPSP1A_A03D9D2AD30A478CA4C2A51C1DE26EACA021E4D1.EXE KOR http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/XPSP1A_E79E224EF297B77C0A23A9440F919C8D64E6554A.EXE NLD http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/XPSP1A_F1A0183DDC01376D27F374B69FA9364647B336B2.EXE NOR http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/XPSP1A_487A5BBFCF9164A0CDA2BBE31F9D4AED6C5455A2.EXE PLK http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/XPSP1A_D2A89787C9AC8ED660684686930513663BC723BA.EXE PTB http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/XPSP1A_87EC9B54CE8B93F7319B2158CBB0FA1DE47D48DF.EXE PTG http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/XPSP1A_625BC5EBCC1306C2632C1B1A60A6F8F30F230CB9.EXE RUS http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/XPSP1A_B5151F669462B3154FAF93D48E10BEAE1B0339AA.EXE SVE http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/XPSP1A_8F11213E01D65C883A95B8871B6134E179E09941.EXE TRK http://download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/XPSP1A_A2BC3DA0F0A3D366C78D4C51EA6AABBB2DD0D545.EXE
    1 point
  4. I stopped making Patch Demos. They are too easy to pirate.
    1 point
  5. Great, that will be fun BTW in NT4 MsgWaitForMultipleObjectsEx() API doesn't accept MWMO_INPUTAVAILABLE flag, which may cause problems with Qt4 programs. I patched Qt4 with some changes in order to made it work in NT4: diff -u5rwB --exclude=Makefile --exclude='Makefile.*' --exclude='*.prl' qt-everywhere-opensource-src-4.8.5/src/corelib/kernel/qeventdispatcher_win.cpp QtWeb/src/qt/src/corelib/kernel/qeventdispatcher_win.cpp --- qt-everywhere-opensource-src-4.8.5/src/corelib/kernel/qeventdispatcher_win.cpp 2013-06-07 08:16:52.000000000 +0800 +++ QtWeb/src/qt/src/corelib/kernel/qeventdispatcher_win.cpp 2013-06-26 20:58:22.064500000 +0800 @@ -810,11 +810,11 @@ if (!filterEvent(&msg)) { TranslateMessage(&msg); DispatchMessage(&msg); } - } else if (waitRet < WAIT_OBJECT_0 + nCount) { + } else if (waitRet >= WAIT_OBJECT_0 && waitRet < WAIT_OBJECT_0 + nCount) { d->activateEventNotifier(d->winEventNotifierList.at(waitRet - WAIT_OBJECT_0)); } else { // nothing todo so break break; } @@ -830,13 +830,13 @@ Q_ASSERT(nCount < MAXIMUM_WAIT_OBJECTS - 1); for (int i=0; i<(int)nCount; i++) pHandles[i] = d->winEventNotifierList.at(i)->handle(); emit aboutToBlock(); - waitRet = MsgWaitForMultipleObjectsEx(nCount, pHandles, INFINITE, QS_ALLINPUT, MWMO_ALERTABLE | MWMO_INPUTAVAILABLE); + waitRet = MsgWaitForMultipleObjectsEx(nCount, pHandles, INFINITE, QS_ALLINPUT, MWMO_ALERTABLE); emit awake(); - if (waitRet < WAIT_OBJECT_0 + nCount) { + if (waitRet >= WAIT_OBJECT_0 && waitRet < WAIT_OBJECT_0 + nCount) { d->activateEventNotifier(d->winEventNotifierList.at(waitRet - WAIT_OBJECT_0)); retVal = true; } } } while (canWait);
    1 point
  6. It is different approach here. For porting Qt4 back to NT4, I dug older version of Qt and find add back removed logic for older windows(NT4 and 95 here). For Example: diff -u5rwB --exclude=Makefile --exclude='Makefile.*' --exclude='*.prl' qt-everywhere-opensource-src-4.8.5/src/gui/text/qfontengine_win.cpp QtWeb/src/qt/src/gui/text/qfontengine_win.cpp --- qt-everywhere-opensource-src-4.8.5/src/gui/text/qfontengine_win.cpp 2013-06-07 08:17:00.000000000 +0800 +++ QtWeb/src/qt/src/gui/text/qfontengine_win.cpp 2013-06-19 11:30:42.627875000 +0800 @@ -398,10 +398,23 @@ #if defined(Q_WS_WINCE) GetCharWidth32(hdc, glyph, glyph, &width); #else if (ptrGetCharWidthI) ptrGetCharWidthI(hdc, glyph, 1, 0, &width); + else { + GLYPHMETRICS gm; + DWORD res = GDI_ERROR; + MAT2 mat; + mat.eM11.value = mat.eM22.value = 1; + mat.eM11.fract = mat.eM22.fract = 0; + mat.eM21.value = mat.eM12.value = 0; + mat.eM21.fract = mat.eM12.fract = 0; + res = GetGlyphOutline(hdc, glyph, GGO_METRICS|GGO_GLYPH_INDEX|GGO_NATIVE, &gm, 0, 0, &mat); + if (res != GDI_ERROR) { + width = gm.gmCellIncX; + } + } #endif } void QFontEngineWin::recalcAdvances(QGlyphLayout *glyphs, QTextEngine::ShaperFlags flags) const { @@ -651,11 +664,11 @@ 0 }; static const int char_table_entries = sizeof(char_table)/sizeof(ushort); -#ifndef Q_CC_MINGW +#if 0 void QFontEngineWin::getGlyphBearings(glyph_t glyph, qreal *leftBearing, qreal *rightBearing) { HDC hdc = shared_dc(); SelectObject(hdc, hfont); diff -u5rwB --exclude=Makefile --exclude='Makefile.*' --exclude='*.prl' qt-everywhere-opensource-src-4.8.5/src/gui/text/qfontengine_win_p.h QtWeb/src/qt/src/gui/text/qfontengine_win_p.h --- qt-everywhere-opensource-src-4.8.5/src/gui/text/qfontengine_win_p.h 2013-06-07 08:17:00.000000000 +0800 +++ QtWeb/src/qt/src/gui/text/qfontengine_win_p.h 2013-06-18 18:25:51.918125000 +0800 @@ -106,11 +106,11 @@ virtual QImage alphaMapForGlyph(glyph_t, const QTransform &xform); virtual QImage alphaRGBMapForGlyph(glyph_t t, QFixed subPixelPosition, int margin, const QTransform &xform); virtual QFontEngine *cloneWithSize(qreal pixelSize) const; -#ifndef Q_CC_MINGW +#if 0 virtual void getGlyphBearings(glyph_t glyph, qreal *leftBearing = 0, qreal *rightBearing = 0); #endif int getGlyphIndexes(const QChar *ch, int numChars, QGlyphLayout *glyphs, bool mirrored) const; void getCMap(); And what junior600 has to do is that, adding missing API into wrapper so newer programs can run on NT4.
    1 point
  7. By my reckoning, you might as well give PKCano a bigger piece of MSFN's collective mind: There's no way it'll run on unmodified XP SP3 (w/ POSReady trick). I've just downloaded the Windows-KB890830-V5.48.exe PKCano's given a link to. By looking at it through PE-Explorer, I see "Subsystem Version = 6.0", so I know it wants at least Vista to run. And, BTW, that's what makes it throw the infamous "Not a valid Win32 application." error. But I don't give up easily so, after patching it to "Subsystem Version = 5.0", meaning 2k, I give it a shot at running and get:
    1 point
  8. Symbols just make it crash.
    1 point
  9. The Drive runs slow when it is running in Compatabilitiy mode using the BIOS Driver. When it uses the Windows Driver, it crashes. You need my SATA Patch to properly use a SATA Drive on that Motherboard.
    1 point
  10. Yes, according to timeline, coding does not begin. https://developers.google.com/open-source/gsoc/timeline https://summerofcode.withgoogle.com/organizations/5423529534160896/#5099385011568640
    1 point
  11. Seems font width measuring API returning 0 here. This happens when I port QtWeb to NT4. BTW will you do the same for but NT 3.51? It seems more interesting (and challenging, as missing Winsock2)
    1 point
  12. Thanks, I hope I will be able to release something soon. Ok I will try to get them work. EDIT: I have tried Qupzilla 1.6.6 for now and it loads,although the characters are a little messy (I will work on it in these days) .
    1 point
  13. List of software I would recommend -Google Chrome 13 or earlier, maybe experiment with BWC's older Chrome tool. Apparently this once even worked on 9x w/ KernelEx, sadly it's unknown which version allowed Google Chrome to run and which version. -Dooble Browser 1.4.0 (Last version working with w2k, Qt4 based) -Qupzilla 1.6.6 or earlier (Qt4)
    1 point
  14. https://github.com/RiskSense-Ops/MS17-010 Here is MS17-010 PoC. How about your Windows 2000 ? My Windows 2000 blocked it STATUS_INVALID_SMB and STATUS_SMB_BAD_TID. (it from Policy on Extendede Kernel DVD creation Kit )
    1 point
×
×
  • Create New...