Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 7 additions & 7 deletions .github/ISSUE_TEMPLATE/vuln.yml
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
name: Free95 Security Vulnerability Report
description: Report a security vulnerability in Free95.
name: LibreWin Security Vulnerability Report
description: Report a security vulnerability in LibreWin.
title: "[Vuln]: "
labels: ["security", "vulnerability", "triage"]
assignees: []
body:
- type: markdown
attributes:
value: |
Thank you for reporting a security vulnerability in Free95.
Your contribution helps enhance the security and reliability of Free95.
Thank you for reporting a security vulnerability in LibreWin.
Your contribution helps enhance the security and reliability of LibreWin.
- type: input
id: contact
attributes:
Expand Down Expand Up @@ -58,7 +58,7 @@ body:
id: affected-components
attributes:
label: Affected Components
description: Identify which parts of Free95 are affected by this vulnerability.
description: Identify which parts of LibreWin are affected by this vulnerability.
multiple: true
options:
- Kernel
Expand All @@ -78,8 +78,8 @@ body:
id: responsible-disclosure
attributes:
label: Security Policy
description: By submitting this vulnerability report, you agree to follow Free95's security policy.
description: By submitting this vulnerability report, you agree to follow LibreWin's security policy.
options:
- label: I agree to follow Free95's Security Policy
- label: I agree to follow LibreWin's Security Policy
required: true

2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
.vscode
free95/*.exe
librewin/*.exe
22 changes: 11 additions & 11 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
# Free95
![GitHub License](https://img.shields.io/github/license/Versoft-Software/Free95) ![GitHub Release Date](https://img.shields.io/github/release-date/Versoft-Software/Free95) ![GitHub Downloads (all assets, all releases)](https://img.shields.io/github/downloads/Versoft-Software/Free95/total) ![GitHub contributors](https://img.shields.io/github/contributors/Versoft-Software/Free95) ![GitHub language count](https://img.shields.io/github/languages/count/Versoft-Software/Free95) ![GitHub top language](https://img.shields.io/github/languages/top/Versoft-Software/Free95)
# LibreWin
![GitHub License](https://img.shields.io/github/license/thurchito/LibreWin) ![GitHub Release Date](https://img.shields.io/github/release-date/thurchito/LibreWin) ![GitHub Downloads (all assets, all releases)](https://img.shields.io/github/downloads/thurchito/LibreWin/total) ![GitHub contributors](https://img.shields.io/github/contributors/thurchito/LibreWin) ![GitHub language count](https://img.shields.io/github/languages/count/thurchito/LibreWin) ![GitHub top language](https://img.shields.io/github/languages/top/thurchito/LibreWin)



**[Free95](https://versoft-software.github.io/)** is an open-source windows-compatible operating system.
**[LibreWin](https://thurchito.github.io/)** is an open source Windows compatible operating system.

>[!WARNING]
>This is free software and comes with ABSOLUTELY NO WARRANTY!
Expand All @@ -25,32 +25,32 @@ We are currently forking a pre-existing kernel called ["Uinxed"](https://github.
- added the ```print.h``` library to make it easier to use ```NtDisplayString``` in apps

# What it is
**[Free95](https://versoft-software.github.io/)** combines the familiar Windows environment with the reliability and transparency of open-source software. It aims to provide full compatibility with Windows applications, ensuring your favorite games and programs run seamlessly.
Originally, Free95 aimed to develop a custom-built kernel. However, we have now decided to fork the existing [Uinxed Kernel](https://github.com/ViudiraTech/Uinxed-Kernel) due to its stability and rich feature set. We are actively **integrating our NT Executive Layer** into this kernel, ensuring **seamless Windows application support**.
**[LibreWin](https://thurchito.github.io/)** combines the familiar Windows environment with the reliability and transparency of open-source software. It aims to provide full compatibility with Windows applications, ensuring your favorite games and programs run seamlessly.
Originally, LibreWin aimed to develop a custom-built kernel. However, we have now decided to fork the existing [Uinxed Kernel](https://github.com/ViudiraTech/Uinxed-Kernel) due to its stability and rich feature set. We are actively **integrating our NT Executive Layer** into this kernel, ensuring **seamless Windows application support**.

>[!NOTE]
> Free95 is NOT a recreation or clone of the Microsoft Windows NT kernel. Instead, we enhance an existing kernel by implementing our own NT executive layer, allowing Windows applications to run smoothly.
> LibreWin is NOT a recreation or clone of the Microsoft Windows NT kernel. Instead, we enhance an existing kernel by implementing our own NT executive layer, allowing Windows applications to run smoothly.

# What it is NOT
- An NT Clone
- A Windows 95 Clone (NT 4.0! Not 95, althought NT 4 is the NT version of 95.)

# Project Purpose
Dependence on a large corporation for an operating system is profoundly disturbing. The goal of Free95 is to eliminate Windows' bloatware and privacy issues while maintaining full software compatibility. With the adoption of the [Uinxed Kernel](https://github.com/ViudiraTech/Uinxed-Kernel), we can accelerate development while focusing on **refining the NT executive layer for optimal Windows application support**.
Dependence on a large corporation for an operating system is profoundly disturbing. The goal of LibreWin is to eliminate Windows' bloatware and privacy issues while maintaining full software compatibility. With the adoption of the [Uinxed Kernel](https://github.com/ViudiraTech/Uinxed-Kernel), we can accelerate development while focusing on **refining the NT executive layer for optimal Windows application support**.

# How to join the project?
You can join this project by simply doing so, literally. Anyone is welcome to contribute! You can:
You can join this project by simply doing so, literally. Anyone is welcome to contribute! You can:
- Submit a **pull request** with your contributions.
- Join the development discussion on **[Discord](https://discord.com/)**: DM ```dripkap_19416``` or ```kappetrov```, if unable to do so, please open a github issue including your discord id so we can contact you.

# Running releases
To try Free95, you can either:
To try LibreWin, you can either:
1. **Compile from source** by running:

```
make
```

inside the ```free95/``` directory.
inside the ```librewin/``` directory.

2. **Download a prebuilt binary** from the [Releases](https://github.com/versoft-software/free95/releases) section.
2. **Download a prebuilt binary** from the [Releases](https://github.com/thurchito/librewin/releases) section.
10 changes: 5 additions & 5 deletions SECURITY.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,12 @@

## Supported Versions

**Only the newest version of [Free95](https://github.com/Versoft-Software/Free95) will be supported** for vulnerability issues or bugs because they may have been patched out.
**Only the newest version of [LibreWin](https://github.com/thurchito/LibreWin) will be supported** for vulnerability issues or bugs because they may have been patched out.

After a new version of Free95 releases, your **previous version will be supported only for a week**. It is up to you to switch or not, after a week it will reach it's End Of Support. That means we will no further patch issues or bugs in that version.
After a new version of LibreWin releases, your **previous version will be supported only for a week**. It is up to you to switch or not, after a week it will reach it's End Of Support. That means we will no further patch issues or bugs in that version.

## Reporting a Vulnerability

If you discover a vulnerability **Create an issue**:
[Create an issue](https://github.com/Versoft-Software/Free95/issues) describing the possible vulnerability you may have found and **go into as many details as possible**. If you are willing to help make a PR that would patch the exploit that would be greatly appreciated.
Thank you for improving the security of [Free95](https://github.com/Versoft-Software/Free95)!
If you discover a vulnerability **Create an issue**:
[Create an issue](https://github.com/thurchito/LibreWin/issues) describing the possible vulnerability you may have found and **go into as many details as possible**. If you are willing to help make a PR that would patch the exploit that would be greatly appreciated.
Thank you for improving the security of [LibreWin](https://github.com/thurchito/LibreWin)!
7 changes: 4 additions & 3 deletions SYSCALLS.md
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
# Free95 Syscall Table
# LibreWin Syscall Table

A table of all current system calls for NT 4.0 implemented in Free95.
A table of all current system calls for NT 4.0 implemented in LibreWin.

*SYSCALL.md template by blobii*

## How to use

Look up the syscall in the table you want to use and follow it like this:

```
```
mov eax, {eax} : 1st parameter (eax)
mov ebx, {ebx} ; 2nd parameter (ebx)
mov ecx, {ecx} ; 3rd parameter (ecx)
Expand All @@ -23,3 +23,4 @@ Look up the syscall in the table you want to use and follow it like this:
|NtDisplayString|Displays string {ebx} in text mode. (Typically crash screen) |0x2e |PUNICODE_STRING |null |null |null |null |null|
|NtOpenFile |Opens {ebx} file with {ecx} access, {edx} object attributes, {esi} I/O Status Block, {edi} sharing access, and {ebp} Open Options|0x4f|PHANDLE|INT|POBJECT_ATTRIBUTES|PVOID|ULONG|ULONG|
|NtShutdownSystem|Shuts down system with SHUTDOWN_ACTION {ebx} |0x00b4 |SHUTDOWN_ACTION |null |null |null |null |null|
|NtQuerySystemInformation|Displays requested system information. Outputs result through SystemInformation variable. |0xB |PUNICODE_STRING |0x0 |0x10000000 |null |null |null|
75 changes: 0 additions & 75 deletions free95/ntdll.c

This file was deleted.

2 changes: 1 addition & 1 deletion free95/Makefile → librewin/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ all: ./bin/boot.bin ./bin/kernel.bin
sudo cp ./open.exe /mnt/z
sudo cp ./hello.exe /mnt/z
sudo cp ./stop.exe /mnt/z
sudo cp ./freever.exe /mnt/z
sudo cp ./librever.exe /mnt/z
sudo cp ./reboot.exe /mnt/z
sudo cp ./test.bat /mnt/z
sudo cp ./bsod.exe /mnt/z
Expand Down
File renamed without changes.
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
/*++

Free95
LibreWin

You may only use this code if you agree to the terms of the Free95 Source Code License agreement (GNU GPL v3) (see LICENSE).
You may only use this code if you agree to the terms of the LibreWin Source Code License agreement (GNU GPL v3) (see LICENSE).
If you do not agree to the terms, do not use the code.


PROJECT: Free95 Userspace Components
PROJECT: LibreWin Userspace Components
FILE: print.c
DESCRIPTION: Simple library to abstract NT Syscalls
AUTHORS: @KapTheGuy, @realblobii
Expand Down
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
/*++

Free95
LibreWin

You may only use this code if you agree to the terms of the Free95 Source Code License agreement (GNU GPL v3) (see LICENSE).
You may only use this code if you agree to the terms of the LibreWin Source Code License agreement (GNU GPL v3) (see LICENSE).
If you do not agree to the terms, do not use the code.


PROJECT: Free95 Userspace Components
PROJECT: LibreWin Userspace Components
FILE: print.h
DESCRIPTION: Simple library to abstract NT Syscalls
AUTHORS: @KapTheGuy, @realblobii
Expand Down
6 changes: 3 additions & 3 deletions free95/applications/bsod.c → librewin/applications/bsod.c
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
/*++

Free95
LibreWin

You may only use this code if you agree to the terms of the Free95 Source Code License agreement (GNU GPL v3) (see LICENSE).
You may only use this code if you agree to the terms of the LibreWin Source Code License agreement (GNU GPL v3) (see LICENSE).
If you do not agree to the terms, do not use the code.


PROJECT: Free95 Userspace Components
PROJECT: LibreWin Userspace Components
FILE: bsod.c
DESCRIPTION: A Native NT Application To Trigger A BSoD.
AUTHOR: @KapTheGuy
Expand Down
6 changes: 3 additions & 3 deletions free95/applications/hello.c → librewin/applications/hello.c
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
/*++

Free95
LibreWin

You may only use this code if you agree to the terms of the Free95 Source Code License agreement (GNU GPL v3) (see LICENSE).
You may only use this code if you agree to the terms of the LibreWin Source Code License agreement (GNU GPL v3) (see LICENSE).
If you do not agree to the terms, do not use the code.


PROJECT: Free95 Userspace Components
PROJECT: LibreWin Userspace Components
FILE: hello.c
DESCRIPTION: A Hello World Native NT Application.
AUTHOR: @KapTheGuy
Expand Down
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
/*++

Free95
LibreWin

You may only use this code if you agree to the terms of the Free95 Source Code License agreement (GNU GPL v3) (see LICENSE).
You may only use this code if you agree to the terms of the LibreWin Source Code License agreement (GNU GPL v3) (see LICENSE).
If you do not agree to the terms, do not use the code.


PROJECT: Free95 Userspace Components
PROJECT: LibreWin Userspace Components
FILE: buildno.c
DESCRIPTION: A Version Displayer Native NT Application.
AUTHOR: @KapTheGuy
Expand Down Expand Up @@ -35,7 +35,7 @@ void _start()
RtlCreateStringFromUint(nBeta, szBeta);
RtlCreateStringFromUint(nBuild, szBuild);

RtlCliDisplayString("Versoft Free95\nVersion ");
RtlCliDisplayString("thurchito LibreWin\nVersion ");
RtlCliDisplayString(szMajorVersion);
RtlCliDisplayString(".");
RtlCliDisplayString(szMiddleVersion);
Expand Down
12 changes: 6 additions & 6 deletions free95/applications/lsbin.c → librewin/applications/lsbin.c
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
/*++

Free95
LibreWin

You may only use this code if you agree to the terms of the Free95 Source Code License agreement (GNU GPL v3) (see LICENSE).
You may only use this code if you agree to the terms of the LibreWin Source Code License agreement (GNU GPL v3) (see LICENSE).
If you do not agree to the terms, do not use the code.


PROJECT: Free95 Userspace Components
PROJECT: LibreWin Userspace Components
FILE: lsbin.c
DESCRIPTION: Lists all programs available from a (hardcoded) list. Will update ot be dynamic in future.
AUTHOR: @realblobii, @KapTheGuy
Expand All @@ -17,15 +17,15 @@ If you do not agree to the terms, do not use the code.

const char* apps[] =
{
"reboot.exe", "stop.exe", "hello.exe",
"open.exe", "lsbin.exe", "freever.exe", "bsod.exe"
"reboot.exe", "stop.exe", "hello.exe",
"open.exe", "lsbin.exe", "librever.exe", "bsod.exe"
};

void _start()
{
for (int i = 0; i < sizeof(apps) / sizeof(apps[0]); i++)
{
RtlCliDisplayString(apps[i]);
RtlCliDisplayString(apps[i]);
RtlCliDisplayString("\n");
}
}
8 changes: 4 additions & 4 deletions free95/applications/open.c → librewin/applications/open.c
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
/*++

Free95
LibreWin

You may only use this code if you agree to the terms of the Free95 Source Code License agreement (GNU GPL v3) (see LICENSE).
You may only use this code if you agree to the terms of the LibreWin Source Code License agreement (GNU GPL v3) (see LICENSE).
If you do not agree to the terms, do not use the code.


PROJECT: Free95 Userspace Components
PROJECT: LibreWin Userspace Components
FILE: program.c
DESCRIPTION: A simple Native NT Application to determine if a file exists or not.
AUTHOR: @KapTheGuy
Expand Down Expand Up @@ -39,7 +39,7 @@ void _start()
char fnamebuf[] = "0:/boot.ini";

PUNICODE_STRING fname = 0;

RtlCreateUnicodeStringFromAsciiz(fname, fnamebuf);

POBJECT_ATTRIBUTES objAttrs;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
/*++

Free95
LibreWin

You may only use this code if you agree to the terms of the Free95 Source Code License agreement (GNU GPL v3) (see LICENSE).
You may only use this code if you agree to the terms of the LibreWin Source Code License agreement (GNU GPL v3) (see LICENSE).
If you do not agree to the terms, do not use the code.


PROJECT: Free95 Userspace Components
PROJECT: LibreWin Userspace Components
FILE: reboot.c
DESCRIPTION: A Native NT Application To Reboot The System.
AUTHOR: @KapTheGuy
Expand Down
Loading