SlideShare a Scribd company logo
A Science Project:
Windows 3.1 (WFW) on
vintage and modern hardware
SP Digital Tech Talk (30 Mar 2017)
Hackware v2.2 (7 Sept 2016) By: Yeo Kheng Meng (yeokm1@gmail.com)
http://yeokhengmeng.com/2016/09/windows-for-workgroups-3-11-on-vintage-and-modern-hardware-in-2016/
1
So what is Windows 3.1x?
• Windows 3.1x is a series of 16-bit operating systems by Microsoft
• Windows 3.1 was released on April 6, 1992
• Windows for Workgroups 3.11 was released on August 11, 1993
• WFW first to have inbuilt networking facilities
• All Windows 3.1x versions requires ≥MS-DOS 3.1 to be installed first
• No Windows Update
• https://en.wikipedia.org/wiki/Windows_3.1x
2
Microsoft Timeline of DOS/Windows
3
• New Technology (NT) multi-user OS
• DOS-based and Windows 9x single-user OS
• PC-DOS (IBM Personal Computer Disk Operating System)
• MS-DOS (Microsoft Disk Operating System)
• Source 1: https://en.wikipedia.org/wiki/Timeline_of_Microsoft_Windows
• Source 2: https://en.wikipedia.org/wiki/Timeline_of_DOS_operating_systems
PC-DOS
1.0
(1981)
PC-DOS
1.1
(1982)
PC-DOS
2.0
(1983)
PC-DOS
2.1
(1983)
PC-DOS
3.0
(1984)
PC-DOS
3.1
(1985)
PC/MS-
DOS 3.2
(1986)
MS-DOS
3.3
(1987)
MS-DOS
5.0
(1991)
MS-DOS
6.0-6.2
(1993)
MS-DOS
6.22
(1994)
MS-DOS
4.0
(1988)
MS-DOS
3.0-3.1
(1984)
Quick demo
• Win3.1 user interface
• Minimise
• Maximise
• Restore
• Desktop as taskbar
• Clock is an external app Winclock
• Graphics and Network Configuration
• Play music with player
• Internet access with IE5
4
Challenge Motivation
5
Installation Goals
1. No Virtual Machines
2. Proper Video support. No 640x480
3. Sound
4. Network for web surfing
6
WFW3.11 system
requirements
• MS-DOS 3.1 or later
• Intel 80386 12 – 40 Mhz (released 1985)
• 5.25-inch (high density) or 3.5-inch floppy drive
• EGA, VGA, SVGA, XGA, 8514/A, or Hercules video card or 100%
compatible card, and monitor
• 3 MiB RAM (4 MiB is recommended)
• 640K Conventional memory
• 2048K Extended memory
• 6.2 MiB disk space (14.5 MiB recommended)
• Mouse recommended
• Source1: https://support.microsoft.com/en-us/kb/32905
• Source2: https://support.microsoft.com/en-us/kb/89333
7
“640 kB ought to be enough for anybody”
(1981)
8
(Denied by Bill Gates)
Memory Layout of IBM DOS PC
• Intel 8086 (released 1978) CPU has 20-bit address lines
• Max 220
bytes = 1MiB addressable memory
• Conventional memory (640KiB)
• Executable code
• Very precious
• Upper Memory Area (384KiB)
• System device addresses
• Additional Expanded Memory (EMS) via bank-switching
• Extended Memory (XMS) (Everything else)
• Includes 64KiB High Memory Area (HMA) due to loophole
• Can put DOS code in HMA to conserve conventional memory
9
Image Source: https://en.wikipedia.org/wiki/File:IBM_PC_Memory_areas.svg
IBM Thinkpad 390e
• Released in 1999 with Windows 98
• Win3.1 drivers provided by IBM
• Specifications
• Intel Mobile Pentium II 300Mhz
• Intel 440BX chipset
• NeoMagic Media256AV 2.5MB VRAM
• 384MB SDRAM
• ESS Solo-1 Audio
• 13.1” 1024×768
• PATA hard drive (I used an SD card with SD-PATA converter)
• CDROM + Floppy combo
• Serial, Parallel, PS/2, USB 1.0, IrDA
• 2x Cardbus slots
• No Ethernet
• 4.5cm thickness
• 3.4kg weight
• US$2700 in 1999
• US$3900 today
• SG$5300 today
10
Preparing the install
media
• 4x DOS 6.22 diskettes
• 8x WFW 3.11 diskettes
• Mac OS X El Capitan onwards does not support USB Floppy drives
• Download links:
• https://winworldpc.com/product/ms-dos/622
• https://winworldpc.com/product/windows-3/wfw-311 11
Video and Audio drivers?
12
• Video and audio drivers provided by IBM works flawlessly
• http://thinkpads.com/support/Thinkpad-Drivers/download.lenovo.com/lenovo/content/ddfm
Network?
13
• First attempt: PCMCIA/Cardbus network adapter
• Xircom Realport Cardbus Ethernet 10/100
• Intel hosts Xircom drivers till today
• https://downloadcenter.intel.com/product/50588/Xircom-CardBus-Ethernet-10-100-Adapter-CBE-10-100BTX-
• IBM’s Cardbus’s drivers DID NOT WORK!!!
• Second attempt: Parallel Port network adapter
• Xircom Pocket Ethernet PE3-10BT
• Powered by PS/2 passthrough cable
• DOS drivers from Intel’s website
• https://downloadcenter.intel.com/product/50622/Xircom-Pocket-Ethernet-
III-Adapter-PE3-10Bx-
• Bonus attempt: Cisco Aironet 350 802.11b PCMCIA
But where is the
challenge?
14
Modern Lenovo Thinkpad
T400
15
• Released in 2009 with Windows 7
• Specifications
• Intel® Core™2 Duo processor T9400, 2.53 Ghz
• Intel GM45 chipset
• Intel GMA 4500MHD
• 8 GB DDR3 RAM
• Conexant HD Audio
• 14.1” LED matte display with 1440×900
• 240GB Samsung 850 Evo
• SATA DVD-RW Multi
• 3 USB2.0 ports, 1 IEEE1394, Gigabit Ethernet
• Intel Wireless-AC 7260 2×2 dual-band with
Bluetooth 4 via mini-PCIe
• 1 Cardbus slot and 1 ExpressCard slot
• Last to support Thinkpad Advanced Mini Dock
• Thinkpad Advanced Mini Dock
• 4x USB
• PS/2 keyboard/mouse
• LAN
• Native Serial and Parallel
• VGA, DVI
Universal Video driver for VMs
• Patched driver for VMware
• 1024 x 768 with 256 colours (XGA)
• Source: https://sites.google.com/site/chitchatvmback/misc 16
Drivers for Intel HD
Audio?
17
My sound card
• Designed and assembled by yours truly
• Based on 1986 Covox Speech Thing, parallel port sound card
• CPU-driven R-2R resistor-ladder
18
https://github.com/yeokm1/pcb-covox-amp-v2
Network
• Intel Gigabit Ethernet DOS drivers
19
CONFIG.SYS and
AUTOEXEC.BAT
• Important DOS configuration files
• CONFIG.SYS
• Loads drivers on startup
• HIMEM.SYS/HIMEX.EXE: Extended Memory Manager
• DOS=HIGH: Load DOS to HMA to save conventional memory
• CDROMDRV.SYS: Toshiba CD driver
• POWER.EXE: Sends x86 HALT instruction to save CPU power when idle
• AUTOEXEC.BAT
• Stands for AUTOmatic EXECution
• Batch file that starts at end of DOS boot process
• MSCDEX.EXE/SHCDX33F.COM: Assign CD drive letter to driver
• DOSKEY.COM: Terminal history, auto-completion
• CTMOUSE: Modern DOS mouse driver for PS/2 mouse
• devicehigh and loadhigh -> HMA
20
HTTPS support
• Obsolete: SSLv1 – SSLv3
• In use: TLSv1.0 – TLSv1.2
• Problems
• IE5 only supports SSLv3
• Expired certificates
• Possible Solutions?
1.Use a proxy to “upgrade” SSL connection
2.Use SSLStrip to replace HTTPS links as HTTP URLs
• Both are man-in-the-middle (MITM) attacks
21
HTTPS solution 1: SSL
upgrade
• Use Squid proxy’s SSL BUMP
• Did not complete due to complications and lack of time
22
TLS 1.1
Typical
MITMSSLv3 TLS 1.1
Client
Web
Server (s)
HTTPS solution 2: SSLstrip
• By Moxie Marlinspike
• Announced at Black Hat DC 2009
• Modern browsers use HTTP Strict Transport Security (HSTS)
• A website tells client must use HTTPS
• Some servers enforce HTTPS-only connection 23
Client
Web
Server (s)
MITM
Raspberry Pi 3
Google “Wikipedia”
Reply from Google:
https://en.wikipedia.org/
https://www.wikipedia.org/
https://www.facebook.com/wikipedia/
Reply from Google:
http://en.wikipedia.org/
http://www.wikipedia.org/
http://www.facebook.com/wikipedia/
http://en.wikipedia.org/
Google “Wikipedia”
http://en.wikipedia.org/
Replaces HTTPS links as HTTP URLs
24
Physical Setup
Thinkpad T400
•WFW 3.11
•Internet Explorer 5
•Gateway points to 192.168.2.200
Configuration scripts: https://github.com/yeokm1/start-sslstrip-on-boot
Raspberry Pi 3
•Arch Linux
•SSLStrip
•192.168.2.200
Asus 4G-AC55U LTE Router
Bonus section: Windows 1.0
• Oldest Windows version released in 1985
• Final updated version 1.04 released in 1987
• I could not run the programs, causes system hang
25
What is a “Science Project”?
• By Raymond Chen (Principal Software Engineer, Microsoft)
• Runs a blog “Old New Thing”
• Mar 2013 post:
• https://blogs.msdn.microsoft.com/oldnewthing/20130319-00/?p=4913
26Raymond Chen image from:
http://www.dailytech.com/Microsoft+Exec+Reveals+Steve+Ballmer+Created+Original+Blue+Screen+of+Death+Message/article36512.htm
A Science Project by Raymond
Chen
1. A feature that is really cool and challenging from a
technological standpoint but is overkill for the user-
scenario.
2. Requires hardware few people have.
3. Trying to solve a problem that nobody really considers to
be a problem. You're doing it just for the Gee Whiz factor.
27Taken from: https://blogs.msdn.microsoft.com/oldnewthing/20130319-00/?p=4913
My Science Projects
1. Windows For Workgroups 3.11 on vintage and modern hardware
• Hackware v2.2, 7 Sept 2016
• https://engineers.sg/v/1053
• http://yeokhengmeng.com/2016/09/windows-for-workgroups-3-11-on-vintage-and-modern-hardware-in-2016/
1. Swift Serial Chat
• iOS Dev Scout, 23 Nov 2016
• https://engineers.sg/v/1275
• https://github.com/yeokm1/SwiftSerial
1. Sound Card based on Covox Speech Thing
• Hackware v2.6, 4 Jan 2017
• https://engineers.sg/v/1339
• https://github.com/yeokm1/covox-music-player
• https://github.com/yeokm1/pcb-covox-amp-v2
• http://yeokhengmeng.com/2017/01/a-science-project-bringing-the-covox-speech-thing-to-2017/
28
Conclusion
• External comments
• Massive waste of time
• Money down the drain
• Hugely impractical
• My takeaways
• Greater appreciation for modern computing
• Backward compatibility efforts by Intel and Microsoft
• See my blog post for more details
• http://yeokhengmeng.com/2016/09/windows-for-workgroups-3-11-on-
vintage-and-modern-hardware-in-2016/
29
How are the slides made?
• Last 16-bit Powerpoint: PPT 4.0
• Official solution :(
• Unofficial solution :)
30
Powerpoint
2016
(Win 10 x64)
Save as PPT 97-2003
PowerPoint 97 to 4.0
translator addon
(WFW 3.1)
PowerPoint 4.0
with translator
addon
Powerpoint 97
(Win 10 x64)
Save as PPT 95
(PPT 4.0 fails)
Save as PPT 97-2003
Powerpoint
2016
(Win 10 x64)

More Related Content

What's hot

presentation on windows os
presentation on windows ospresentation on windows os
presentation on windows os
ste1fire
 
Microsoft Office 365
Microsoft Office 365Microsoft Office 365
Microsoft Office 365
Doug Allen
 
Computer viruses
Computer virusesComputer viruses
Computer viruses
Muhammad Uzair Rasheed
 
Introduction to java
Introduction to javaIntroduction to java
Introduction to java
jayc8586
 
windows vs linux
windows vs linuxwindows vs linux
windows vs linux
G Sai Bhargav
 
Web browsers
Web browsersWeb browsers
Web browsers
jahnvi tanwar
 
Whatsapp seminar-report
Whatsapp seminar-reportWhatsapp seminar-report
Whatsapp seminar-report
Jyoti Kumari
 
An Introduction to Google Chrome OS..........
An Introduction to Google Chrome OS..........An Introduction to Google Chrome OS..........
An Introduction to Google Chrome OS..........
VAST TRICHUR
 
Android - Application Framework
Android - Application FrameworkAndroid - Application Framework
Android - Application Framework
Yong Heui Cho
 
Android Platform
Android PlatformAndroid Platform
Android Platform
Amal P.James
 
text in multimedia
text in multimediatext in multimedia
text in multimedia
wasrse
 
Windows operating system
Windows operating systemWindows operating system
Windows operating system
Leah Gonzales
 
Different types of operating systems
Different  types  of  operating  systems Different  types  of  operating  systems
Different types of operating systems
Mehul Jain
 
Chapter 2
Chapter 2Chapter 2
Chapter 2
nooramirahazmn
 
android architecture
android architectureandroid architecture
android architecture
Aashita Gupta
 
Windows 1.0 The Beginning Of A New Era
Windows 1.0 The Beginning Of A New EraWindows 1.0 The Beginning Of A New Era
Windows 1.0 The Beginning Of A New Era
Ken Wisnewski
 
Loaders
LoadersLoaders
xaml overview
xaml overviewxaml overview
xaml overview
Sanat Maharjan
 
Interpreter
InterpreterInterpreter
Interpreter
IGZ Software house
 
Mobile operating systems
Mobile operating systemsMobile operating systems
Mobile operating systems
Nicolas Demetriou
 

What's hot (20)

presentation on windows os
presentation on windows ospresentation on windows os
presentation on windows os
 
Microsoft Office 365
Microsoft Office 365Microsoft Office 365
Microsoft Office 365
 
Computer viruses
Computer virusesComputer viruses
Computer viruses
 
Introduction to java
Introduction to javaIntroduction to java
Introduction to java
 
windows vs linux
windows vs linuxwindows vs linux
windows vs linux
 
Web browsers
Web browsersWeb browsers
Web browsers
 
Whatsapp seminar-report
Whatsapp seminar-reportWhatsapp seminar-report
Whatsapp seminar-report
 
An Introduction to Google Chrome OS..........
An Introduction to Google Chrome OS..........An Introduction to Google Chrome OS..........
An Introduction to Google Chrome OS..........
 
Android - Application Framework
Android - Application FrameworkAndroid - Application Framework
Android - Application Framework
 
Android Platform
Android PlatformAndroid Platform
Android Platform
 
text in multimedia
text in multimediatext in multimedia
text in multimedia
 
Windows operating system
Windows operating systemWindows operating system
Windows operating system
 
Different types of operating systems
Different  types  of  operating  systems Different  types  of  operating  systems
Different types of operating systems
 
Chapter 2
Chapter 2Chapter 2
Chapter 2
 
android architecture
android architectureandroid architecture
android architecture
 
Windows 1.0 The Beginning Of A New Era
Windows 1.0 The Beginning Of A New EraWindows 1.0 The Beginning Of A New Era
Windows 1.0 The Beginning Of A New Era
 
Loaders
LoadersLoaders
Loaders
 
xaml overview
xaml overviewxaml overview
xaml overview
 
Interpreter
InterpreterInterpreter
Interpreter
 
Mobile operating systems
Mobile operating systemsMobile operating systems
Mobile operating systems
 

Similar to Windows 3.1 (WFW) on vintage and modern hardware

Gentoo on a 486
Gentoo on a 486Gentoo on a 486
Gentoo on a 486
yeokm1
 
Evolution of Microsoft windows operating systems
Evolution of Microsoft windows operating systemsEvolution of Microsoft windows operating systems
Evolution of Microsoft windows operating systems
Sai praveen Seva
 
IT Book of Knowledge
IT Book of KnowledgeIT Book of Knowledge
IT Book of Knowledge
Phil Primeau
 
File server-info
File server-infoFile server-info
File server-info
Rubén Orellana Flores
 
FreeBSD is not Linux
FreeBSD is not LinuxFreeBSD is not Linux
FreeBSD is not Linux
Muhammad Moinur Rahman
 
This one goes to 11!
This one goes to 11!This one goes to 11!
This one goes to 11!
APNIC
 
A Science Project: Building a sound card based on the Covox Speech Thing
A Science Project: Building a sound card based on the Covox Speech ThingA Science Project: Building a sound card based on the Covox Speech Thing
A Science Project: Building a sound card based on the Covox Speech Thing
yeokm1
 
Tracking the International Space Station with Commodore Computers
Tracking the International Space Station with Commodore ComputersTracking the International Space Station with Commodore Computers
Tracking the International Space Station with Commodore Computers
Leif Bloomquist
 
Internet of Things, Mobility & .Net Micro Framework SydMobNet March 2014
Internet of Things, Mobility & .Net Micro Framework SydMobNet March 2014Internet of Things, Mobility & .Net Micro Framework SydMobNet March 2014
Internet of Things, Mobility & .Net Micro Framework SydMobNet March 2014
Alec Tucker
 
TMS320DM8148 Embedded Linux
TMS320DM8148 Embedded LinuxTMS320DM8148 Embedded Linux
TMS320DM8148 Embedded Linux
NEEVEE Technologies
 
NXP IMX6 Processor - Embedded Linux
NXP IMX6 Processor - Embedded LinuxNXP IMX6 Processor - Embedded Linux
NXP IMX6 Processor - Embedded Linux
NEEVEE Technologies
 
uCluster
uClusteruCluster
Computer architecture
Computer architectureComputer architecture
Computer architecture
Rishabha Garg
 
A Science Project: Swift Serial Chat
A Science Project: Swift Serial ChatA Science Project: Swift Serial Chat
A Science Project: Swift Serial Chat
yeokm1
 
ITCamp 2013 - Tudor Damian - Running Linux on Microsoft Private and Public Cl...
ITCamp 2013 - Tudor Damian - Running Linux on Microsoft Private and Public Cl...ITCamp 2013 - Tudor Damian - Running Linux on Microsoft Private and Public Cl...
ITCamp 2013 - Tudor Damian - Running Linux on Microsoft Private and Public Cl...
ITCamp
 
December 2020 CIALUG: Local Kubernetes for Dummies-So you want to move on fro...
December 2020 CIALUG: Local Kubernetes for Dummies-So you want to move on fro...December 2020 CIALUG: Local Kubernetes for Dummies-So you want to move on fro...
December 2020 CIALUG: Local Kubernetes for Dummies-So you want to move on fro...
Andrew Denner
 
Platform-Technology.pdf
Platform-Technology.pdfPlatform-Technology.pdf
Platform-Technology.pdf
FranzLawrenzDeTorres1
 
Selecting and Installing Operating System
Selecting and Installing Operating SystemSelecting and Installing Operating System
Selecting and Installing Operating System
Amir Villas
 
Linux a free and open source operating system
Linux a free and open source operating systemLinux a free and open source operating system
Linux a free and open source operating system
banwait
 
Linux a free and open source operating system
Linux a free and open source operating systemLinux a free and open source operating system
Linux a free and open source operating system
banwait
 

Similar to Windows 3.1 (WFW) on vintage and modern hardware (20)

Gentoo on a 486
Gentoo on a 486Gentoo on a 486
Gentoo on a 486
 
Evolution of Microsoft windows operating systems
Evolution of Microsoft windows operating systemsEvolution of Microsoft windows operating systems
Evolution of Microsoft windows operating systems
 
IT Book of Knowledge
IT Book of KnowledgeIT Book of Knowledge
IT Book of Knowledge
 
File server-info
File server-infoFile server-info
File server-info
 
FreeBSD is not Linux
FreeBSD is not LinuxFreeBSD is not Linux
FreeBSD is not Linux
 
This one goes to 11!
This one goes to 11!This one goes to 11!
This one goes to 11!
 
A Science Project: Building a sound card based on the Covox Speech Thing
A Science Project: Building a sound card based on the Covox Speech ThingA Science Project: Building a sound card based on the Covox Speech Thing
A Science Project: Building a sound card based on the Covox Speech Thing
 
Tracking the International Space Station with Commodore Computers
Tracking the International Space Station with Commodore ComputersTracking the International Space Station with Commodore Computers
Tracking the International Space Station with Commodore Computers
 
Internet of Things, Mobility & .Net Micro Framework SydMobNet March 2014
Internet of Things, Mobility & .Net Micro Framework SydMobNet March 2014Internet of Things, Mobility & .Net Micro Framework SydMobNet March 2014
Internet of Things, Mobility & .Net Micro Framework SydMobNet March 2014
 
TMS320DM8148 Embedded Linux
TMS320DM8148 Embedded LinuxTMS320DM8148 Embedded Linux
TMS320DM8148 Embedded Linux
 
NXP IMX6 Processor - Embedded Linux
NXP IMX6 Processor - Embedded LinuxNXP IMX6 Processor - Embedded Linux
NXP IMX6 Processor - Embedded Linux
 
uCluster
uClusteruCluster
uCluster
 
Computer architecture
Computer architectureComputer architecture
Computer architecture
 
A Science Project: Swift Serial Chat
A Science Project: Swift Serial ChatA Science Project: Swift Serial Chat
A Science Project: Swift Serial Chat
 
ITCamp 2013 - Tudor Damian - Running Linux on Microsoft Private and Public Cl...
ITCamp 2013 - Tudor Damian - Running Linux on Microsoft Private and Public Cl...ITCamp 2013 - Tudor Damian - Running Linux on Microsoft Private and Public Cl...
ITCamp 2013 - Tudor Damian - Running Linux on Microsoft Private and Public Cl...
 
December 2020 CIALUG: Local Kubernetes for Dummies-So you want to move on fro...
December 2020 CIALUG: Local Kubernetes for Dummies-So you want to move on fro...December 2020 CIALUG: Local Kubernetes for Dummies-So you want to move on fro...
December 2020 CIALUG: Local Kubernetes for Dummies-So you want to move on fro...
 
Platform-Technology.pdf
Platform-Technology.pdfPlatform-Technology.pdf
Platform-Technology.pdf
 
Selecting and Installing Operating System
Selecting and Installing Operating SystemSelecting and Installing Operating System
Selecting and Installing Operating System
 
Linux a free and open source operating system
Linux a free and open source operating systemLinux a free and open source operating system
Linux a free and open source operating system
 
Linux a free and open source operating system
Linux a free and open source operating systemLinux a free and open source operating system
Linux a free and open source operating system
 

More from yeokm1

I became a Private Pilot and this is my story
I became a Private Pilot and this is my storyI became a Private Pilot and this is my story
I became a Private Pilot and this is my story
yeokm1
 
What's inside a Cessna 172 and flying a light plane
What's inside a Cessna 172 and flying a light planeWhat's inside a Cessna 172 and flying a light plane
What's inside a Cessna 172 and flying a light plane
yeokm1
 
Speaking at Tech meetups/conferences for Junior Devs
Speaking at Tech meetups/conferences for Junior DevsSpeaking at Tech meetups/conferences for Junior Devs
Speaking at Tech meetups/conferences for Junior Devs
yeokm1
 
Reflections on Trusting Trust for Go
Reflections on Trusting Trust for GoReflections on Trusting Trust for Go
Reflections on Trusting Trust for Go
yeokm1
 
Meltdown and Spectre
Meltdown and SpectreMeltdown and Spectre
Meltdown and Spectre
yeokm1
 
BLE Localiser (Full) for iOS Dev Scout
BLE Localiser (Full) for iOS Dev ScoutBLE Localiser (Full) for iOS Dev Scout
BLE Localiser (Full) for iOS Dev Scout
yeokm1
 
BLE Localiser for iOS Conf SG 2017
BLE Localiser for iOS Conf SG 2017BLE Localiser for iOS Conf SG 2017
BLE Localiser for iOS Conf SG 2017
yeokm1
 
Repair Kopitiam Specialty Tools (Part 2): Short Circuit Limiter
 Repair Kopitiam Specialty Tools (Part 2): Short Circuit Limiter Repair Kopitiam Specialty Tools (Part 2): Short Circuit Limiter
Repair Kopitiam Specialty Tools (Part 2): Short Circuit Limiter
yeokm1
 
PCB Business Card (Singapore Power)
PCB Business Card (Singapore Power)PCB Business Card (Singapore Power)
PCB Business Card (Singapore Power)
yeokm1
 
SP Auto Door Unlocker
SP Auto Door UnlockerSP Auto Door Unlocker
SP Auto Door Unlocker
yeokm1
 
SP IoT Doorbell
SP IoT DoorbellSP IoT Doorbell
SP IoT Doorbell
yeokm1
 
Distance Machine Locker
Distance Machine LockerDistance Machine Locker
Distance Machine Locker
yeokm1
 
The slide rule
The slide ruleThe slide rule
The slide rule
yeokm1
 
Repair Kopitiam Circuit Breaker Training
Repair Kopitiam Circuit Breaker TrainingRepair Kopitiam Circuit Breaker Training
Repair Kopitiam Circuit Breaker Training
yeokm1
 
A2: Analog Malicious Hardware
A2: Analog Malicious HardwareA2: Analog Malicious Hardware
A2: Analog Malicious Hardware
yeokm1
 
Getting Started with Raspberry Pi
Getting Started with Raspberry PiGetting Started with Raspberry Pi
Getting Started with Raspberry Pi
yeokm1
 
My Life as a Maker
My Life as a MakerMy Life as a Maker
My Life as a Maker
yeokm1
 
Talk on The Essential Guide to Electronics in Shenzhen by Andrew 'Bunnie' Huang
Talk on The Essential Guide to Electronics in Shenzhen by Andrew 'Bunnie' HuangTalk on The Essential Guide to Electronics in Shenzhen by Andrew 'Bunnie' Huang
Talk on The Essential Guide to Electronics in Shenzhen by Andrew 'Bunnie' Huang
yeokm1
 
Repair Kopitiam Specialty Electrical Equipment
Repair Kopitiam Specialty Electrical EquipmentRepair Kopitiam Specialty Electrical Equipment
Repair Kopitiam Specialty Electrical Equipment
yeokm1
 
Intel Edison: Beyond the Breadboard
Intel Edison: Beyond the BreadboardIntel Edison: Beyond the Breadboard
Intel Edison: Beyond the Breadboard
yeokm1
 

More from yeokm1 (20)

I became a Private Pilot and this is my story
I became a Private Pilot and this is my storyI became a Private Pilot and this is my story
I became a Private Pilot and this is my story
 
What's inside a Cessna 172 and flying a light plane
What's inside a Cessna 172 and flying a light planeWhat's inside a Cessna 172 and flying a light plane
What's inside a Cessna 172 and flying a light plane
 
Speaking at Tech meetups/conferences for Junior Devs
Speaking at Tech meetups/conferences for Junior DevsSpeaking at Tech meetups/conferences for Junior Devs
Speaking at Tech meetups/conferences for Junior Devs
 
Reflections on Trusting Trust for Go
Reflections on Trusting Trust for GoReflections on Trusting Trust for Go
Reflections on Trusting Trust for Go
 
Meltdown and Spectre
Meltdown and SpectreMeltdown and Spectre
Meltdown and Spectre
 
BLE Localiser (Full) for iOS Dev Scout
BLE Localiser (Full) for iOS Dev ScoutBLE Localiser (Full) for iOS Dev Scout
BLE Localiser (Full) for iOS Dev Scout
 
BLE Localiser for iOS Conf SG 2017
BLE Localiser for iOS Conf SG 2017BLE Localiser for iOS Conf SG 2017
BLE Localiser for iOS Conf SG 2017
 
Repair Kopitiam Specialty Tools (Part 2): Short Circuit Limiter
 Repair Kopitiam Specialty Tools (Part 2): Short Circuit Limiter Repair Kopitiam Specialty Tools (Part 2): Short Circuit Limiter
Repair Kopitiam Specialty Tools (Part 2): Short Circuit Limiter
 
PCB Business Card (Singapore Power)
PCB Business Card (Singapore Power)PCB Business Card (Singapore Power)
PCB Business Card (Singapore Power)
 
SP Auto Door Unlocker
SP Auto Door UnlockerSP Auto Door Unlocker
SP Auto Door Unlocker
 
SP IoT Doorbell
SP IoT DoorbellSP IoT Doorbell
SP IoT Doorbell
 
Distance Machine Locker
Distance Machine LockerDistance Machine Locker
Distance Machine Locker
 
The slide rule
The slide ruleThe slide rule
The slide rule
 
Repair Kopitiam Circuit Breaker Training
Repair Kopitiam Circuit Breaker TrainingRepair Kopitiam Circuit Breaker Training
Repair Kopitiam Circuit Breaker Training
 
A2: Analog Malicious Hardware
A2: Analog Malicious HardwareA2: Analog Malicious Hardware
A2: Analog Malicious Hardware
 
Getting Started with Raspberry Pi
Getting Started with Raspberry PiGetting Started with Raspberry Pi
Getting Started with Raspberry Pi
 
My Life as a Maker
My Life as a MakerMy Life as a Maker
My Life as a Maker
 
Talk on The Essential Guide to Electronics in Shenzhen by Andrew 'Bunnie' Huang
Talk on The Essential Guide to Electronics in Shenzhen by Andrew 'Bunnie' HuangTalk on The Essential Guide to Electronics in Shenzhen by Andrew 'Bunnie' Huang
Talk on The Essential Guide to Electronics in Shenzhen by Andrew 'Bunnie' Huang
 
Repair Kopitiam Specialty Electrical Equipment
Repair Kopitiam Specialty Electrical EquipmentRepair Kopitiam Specialty Electrical Equipment
Repair Kopitiam Specialty Electrical Equipment
 
Intel Edison: Beyond the Breadboard
Intel Edison: Beyond the BreadboardIntel Edison: Beyond the Breadboard
Intel Edison: Beyond the Breadboard
 

Recently uploaded

“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”
Claudio Di Ciccio
 
Mind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AIMind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AI
Kumud Singh
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
Aftab Hussain
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
Matthew Sinclair
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Aggregage
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
Octavian Nadolu
 
Building RAG with self-deployed Milvus vector database and Snowpark Container...
Building RAG with self-deployed Milvus vector database and Snowpark Container...Building RAG with self-deployed Milvus vector database and Snowpark Container...
Building RAG with self-deployed Milvus vector database and Snowpark Container...
Zilliz
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
SOFTTECHHUB
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
Neo4j
 
Large Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial ApplicationsLarge Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial Applications
Rohit Gautam
 
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
Edge AI and Vision Alliance
 
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
Neo4j
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
Alpen-Adria-Universität
 
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with SlackLet's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
shyamraj55
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Paige Cruz
 
UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
DianaGray10
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems S.M.S.A.
 
How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
danishmna97
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 

Recently uploaded (20)

“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”
 
Mind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AIMind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AI
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
 
Building RAG with self-deployed Milvus vector database and Snowpark Container...
Building RAG with self-deployed Milvus vector database and Snowpark Container...Building RAG with self-deployed Milvus vector database and Snowpark Container...
Building RAG with self-deployed Milvus vector database and Snowpark Container...
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
 
Large Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial ApplicationsLarge Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial Applications
 
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
 
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
 
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with SlackLet's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
 
UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
 
How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 

Windows 3.1 (WFW) on vintage and modern hardware

  • 1. A Science Project: Windows 3.1 (WFW) on vintage and modern hardware SP Digital Tech Talk (30 Mar 2017) Hackware v2.2 (7 Sept 2016) By: Yeo Kheng Meng (yeokm1@gmail.com) http://yeokhengmeng.com/2016/09/windows-for-workgroups-3-11-on-vintage-and-modern-hardware-in-2016/ 1
  • 2. So what is Windows 3.1x? • Windows 3.1x is a series of 16-bit operating systems by Microsoft • Windows 3.1 was released on April 6, 1992 • Windows for Workgroups 3.11 was released on August 11, 1993 • WFW first to have inbuilt networking facilities • All Windows 3.1x versions requires ≥MS-DOS 3.1 to be installed first • No Windows Update • https://en.wikipedia.org/wiki/Windows_3.1x 2
  • 3. Microsoft Timeline of DOS/Windows 3 • New Technology (NT) multi-user OS • DOS-based and Windows 9x single-user OS • PC-DOS (IBM Personal Computer Disk Operating System) • MS-DOS (Microsoft Disk Operating System) • Source 1: https://en.wikipedia.org/wiki/Timeline_of_Microsoft_Windows • Source 2: https://en.wikipedia.org/wiki/Timeline_of_DOS_operating_systems PC-DOS 1.0 (1981) PC-DOS 1.1 (1982) PC-DOS 2.0 (1983) PC-DOS 2.1 (1983) PC-DOS 3.0 (1984) PC-DOS 3.1 (1985) PC/MS- DOS 3.2 (1986) MS-DOS 3.3 (1987) MS-DOS 5.0 (1991) MS-DOS 6.0-6.2 (1993) MS-DOS 6.22 (1994) MS-DOS 4.0 (1988) MS-DOS 3.0-3.1 (1984)
  • 4. Quick demo • Win3.1 user interface • Minimise • Maximise • Restore • Desktop as taskbar • Clock is an external app Winclock • Graphics and Network Configuration • Play music with player • Internet access with IE5 4
  • 6. Installation Goals 1. No Virtual Machines 2. Proper Video support. No 640x480 3. Sound 4. Network for web surfing 6
  • 7. WFW3.11 system requirements • MS-DOS 3.1 or later • Intel 80386 12 – 40 Mhz (released 1985) • 5.25-inch (high density) or 3.5-inch floppy drive • EGA, VGA, SVGA, XGA, 8514/A, or Hercules video card or 100% compatible card, and monitor • 3 MiB RAM (4 MiB is recommended) • 640K Conventional memory • 2048K Extended memory • 6.2 MiB disk space (14.5 MiB recommended) • Mouse recommended • Source1: https://support.microsoft.com/en-us/kb/32905 • Source2: https://support.microsoft.com/en-us/kb/89333 7
  • 8. “640 kB ought to be enough for anybody” (1981) 8 (Denied by Bill Gates)
  • 9. Memory Layout of IBM DOS PC • Intel 8086 (released 1978) CPU has 20-bit address lines • Max 220 bytes = 1MiB addressable memory • Conventional memory (640KiB) • Executable code • Very precious • Upper Memory Area (384KiB) • System device addresses • Additional Expanded Memory (EMS) via bank-switching • Extended Memory (XMS) (Everything else) • Includes 64KiB High Memory Area (HMA) due to loophole • Can put DOS code in HMA to conserve conventional memory 9 Image Source: https://en.wikipedia.org/wiki/File:IBM_PC_Memory_areas.svg
  • 10. IBM Thinkpad 390e • Released in 1999 with Windows 98 • Win3.1 drivers provided by IBM • Specifications • Intel Mobile Pentium II 300Mhz • Intel 440BX chipset • NeoMagic Media256AV 2.5MB VRAM • 384MB SDRAM • ESS Solo-1 Audio • 13.1” 1024×768 • PATA hard drive (I used an SD card with SD-PATA converter) • CDROM + Floppy combo • Serial, Parallel, PS/2, USB 1.0, IrDA • 2x Cardbus slots • No Ethernet • 4.5cm thickness • 3.4kg weight • US$2700 in 1999 • US$3900 today • SG$5300 today 10
  • 11. Preparing the install media • 4x DOS 6.22 diskettes • 8x WFW 3.11 diskettes • Mac OS X El Capitan onwards does not support USB Floppy drives • Download links: • https://winworldpc.com/product/ms-dos/622 • https://winworldpc.com/product/windows-3/wfw-311 11
  • 12. Video and Audio drivers? 12 • Video and audio drivers provided by IBM works flawlessly • http://thinkpads.com/support/Thinkpad-Drivers/download.lenovo.com/lenovo/content/ddfm
  • 13. Network? 13 • First attempt: PCMCIA/Cardbus network adapter • Xircom Realport Cardbus Ethernet 10/100 • Intel hosts Xircom drivers till today • https://downloadcenter.intel.com/product/50588/Xircom-CardBus-Ethernet-10-100-Adapter-CBE-10-100BTX- • IBM’s Cardbus’s drivers DID NOT WORK!!! • Second attempt: Parallel Port network adapter • Xircom Pocket Ethernet PE3-10BT • Powered by PS/2 passthrough cable • DOS drivers from Intel’s website • https://downloadcenter.intel.com/product/50622/Xircom-Pocket-Ethernet- III-Adapter-PE3-10Bx- • Bonus attempt: Cisco Aironet 350 802.11b PCMCIA
  • 14. But where is the challenge? 14
  • 15. Modern Lenovo Thinkpad T400 15 • Released in 2009 with Windows 7 • Specifications • Intel® Core™2 Duo processor T9400, 2.53 Ghz • Intel GM45 chipset • Intel GMA 4500MHD • 8 GB DDR3 RAM • Conexant HD Audio • 14.1” LED matte display with 1440×900 • 240GB Samsung 850 Evo • SATA DVD-RW Multi • 3 USB2.0 ports, 1 IEEE1394, Gigabit Ethernet • Intel Wireless-AC 7260 2×2 dual-band with Bluetooth 4 via mini-PCIe • 1 Cardbus slot and 1 ExpressCard slot • Last to support Thinkpad Advanced Mini Dock • Thinkpad Advanced Mini Dock • 4x USB • PS/2 keyboard/mouse • LAN • Native Serial and Parallel • VGA, DVI
  • 16. Universal Video driver for VMs • Patched driver for VMware • 1024 x 768 with 256 colours (XGA) • Source: https://sites.google.com/site/chitchatvmback/misc 16
  • 17. Drivers for Intel HD Audio? 17
  • 18. My sound card • Designed and assembled by yours truly • Based on 1986 Covox Speech Thing, parallel port sound card • CPU-driven R-2R resistor-ladder 18 https://github.com/yeokm1/pcb-covox-amp-v2
  • 19. Network • Intel Gigabit Ethernet DOS drivers 19
  • 20. CONFIG.SYS and AUTOEXEC.BAT • Important DOS configuration files • CONFIG.SYS • Loads drivers on startup • HIMEM.SYS/HIMEX.EXE: Extended Memory Manager • DOS=HIGH: Load DOS to HMA to save conventional memory • CDROMDRV.SYS: Toshiba CD driver • POWER.EXE: Sends x86 HALT instruction to save CPU power when idle • AUTOEXEC.BAT • Stands for AUTOmatic EXECution • Batch file that starts at end of DOS boot process • MSCDEX.EXE/SHCDX33F.COM: Assign CD drive letter to driver • DOSKEY.COM: Terminal history, auto-completion • CTMOUSE: Modern DOS mouse driver for PS/2 mouse • devicehigh and loadhigh -> HMA 20
  • 21. HTTPS support • Obsolete: SSLv1 – SSLv3 • In use: TLSv1.0 – TLSv1.2 • Problems • IE5 only supports SSLv3 • Expired certificates • Possible Solutions? 1.Use a proxy to “upgrade” SSL connection 2.Use SSLStrip to replace HTTPS links as HTTP URLs • Both are man-in-the-middle (MITM) attacks 21
  • 22. HTTPS solution 1: SSL upgrade • Use Squid proxy’s SSL BUMP • Did not complete due to complications and lack of time 22 TLS 1.1 Typical MITMSSLv3 TLS 1.1 Client Web Server (s)
  • 23. HTTPS solution 2: SSLstrip • By Moxie Marlinspike • Announced at Black Hat DC 2009 • Modern browsers use HTTP Strict Transport Security (HSTS) • A website tells client must use HTTPS • Some servers enforce HTTPS-only connection 23 Client Web Server (s) MITM Raspberry Pi 3 Google “Wikipedia” Reply from Google: https://en.wikipedia.org/ https://www.wikipedia.org/ https://www.facebook.com/wikipedia/ Reply from Google: http://en.wikipedia.org/ http://www.wikipedia.org/ http://www.facebook.com/wikipedia/ http://en.wikipedia.org/ Google “Wikipedia” http://en.wikipedia.org/ Replaces HTTPS links as HTTP URLs
  • 24. 24 Physical Setup Thinkpad T400 •WFW 3.11 •Internet Explorer 5 •Gateway points to 192.168.2.200 Configuration scripts: https://github.com/yeokm1/start-sslstrip-on-boot Raspberry Pi 3 •Arch Linux •SSLStrip •192.168.2.200 Asus 4G-AC55U LTE Router
  • 25. Bonus section: Windows 1.0 • Oldest Windows version released in 1985 • Final updated version 1.04 released in 1987 • I could not run the programs, causes system hang 25
  • 26. What is a “Science Project”? • By Raymond Chen (Principal Software Engineer, Microsoft) • Runs a blog “Old New Thing” • Mar 2013 post: • https://blogs.msdn.microsoft.com/oldnewthing/20130319-00/?p=4913 26Raymond Chen image from: http://www.dailytech.com/Microsoft+Exec+Reveals+Steve+Ballmer+Created+Original+Blue+Screen+of+Death+Message/article36512.htm
  • 27. A Science Project by Raymond Chen 1. A feature that is really cool and challenging from a technological standpoint but is overkill for the user- scenario. 2. Requires hardware few people have. 3. Trying to solve a problem that nobody really considers to be a problem. You're doing it just for the Gee Whiz factor. 27Taken from: https://blogs.msdn.microsoft.com/oldnewthing/20130319-00/?p=4913
  • 28. My Science Projects 1. Windows For Workgroups 3.11 on vintage and modern hardware • Hackware v2.2, 7 Sept 2016 • https://engineers.sg/v/1053 • http://yeokhengmeng.com/2016/09/windows-for-workgroups-3-11-on-vintage-and-modern-hardware-in-2016/ 1. Swift Serial Chat • iOS Dev Scout, 23 Nov 2016 • https://engineers.sg/v/1275 • https://github.com/yeokm1/SwiftSerial 1. Sound Card based on Covox Speech Thing • Hackware v2.6, 4 Jan 2017 • https://engineers.sg/v/1339 • https://github.com/yeokm1/covox-music-player • https://github.com/yeokm1/pcb-covox-amp-v2 • http://yeokhengmeng.com/2017/01/a-science-project-bringing-the-covox-speech-thing-to-2017/ 28
  • 29. Conclusion • External comments • Massive waste of time • Money down the drain • Hugely impractical • My takeaways • Greater appreciation for modern computing • Backward compatibility efforts by Intel and Microsoft • See my blog post for more details • http://yeokhengmeng.com/2016/09/windows-for-workgroups-3-11-on- vintage-and-modern-hardware-in-2016/ 29
  • 30. How are the slides made? • Last 16-bit Powerpoint: PPT 4.0 • Official solution :( • Unofficial solution :) 30 Powerpoint 2016 (Win 10 x64) Save as PPT 97-2003 PowerPoint 97 to 4.0 translator addon (WFW 3.1) PowerPoint 4.0 with translator addon Powerpoint 97 (Win 10 x64) Save as PPT 95 (PPT 4.0 fails) Save as PPT 97-2003 Powerpoint 2016 (Win 10 x64)