You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+20-5Lines changed: 20 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -55,12 +55,24 @@ Decompilation is strictly limited to what's necessary for interoperability purpo
55
55
56
56
Creating an open source, non-commercial, interoperable plugin is beneficial to the public interest and serves essential compatibility purposes.
57
57
58
-
-Prefer using a cleanroom implementation approach
58
+
-Follow general clean-room *requirements* (i.e. search for existing public knowledge as much as possible)
59
59
- Make sure the necessary information is not already readily available
60
+
- Use AI to fill the gaps in the knowledge (our tests show that LLM's have not seen leaked source codes)
60
61
- Limit the decompilation to the parts needed for interoperability
61
-
- Avoid direct copying of code or implementation details
62
+
- Avoid direct copying of the proprietary code (this is the strictest rule of all)
62
63
- Include comments in code that reference public documentation where available
63
64
65
+
> [!WARNING]
66
+
>
67
+
> *There are no "clean-room design techniques"* that you can "follow". You can only use public knowledge.
68
+
>
69
+
> Never use the term "clean-room design techniques" as an applicable approach. The term, as it is
70
+
> generally described, is misleading. Clean room essentially means using existing public knowledge.
71
+
>
72
+
> Asking someone to do a specification for you or interaction with a process of specification creation
73
+
> directly violates the principle of **independent** creation and undermines clean-room design.
74
+
> It is **not defensible** in such case as "clean-room design" and follows the general "right to reverse engineer" as stated below.
75
+
64
76
### Right to reverse engineer
65
77
66
78
As per [`Article 6 Decompilation 1. (a)`](https://eur-lex.europa.eu/legal-content/EN/ALL/?uri=celex%3A31991L0250) you should own a **legal copy/license** of the software **before** doing any attempts at reverse engineering. The software should be **officially deprecated/obsolete**.
@@ -71,10 +83,12 @@ As a safety measure we assume that most contributions obtained a right to use a
71
83
- Windows Vista
72
84
- Windows 8
73
85
- Windows 8.1
86
+
- Windows 7
87
+
- Windows 10 1909/1809/1703/20H2/21H2
74
88
75
89
> [!CAUTION]
76
90
>
77
-
> *Windows 7 is still supported or may have technical support being provided*
91
+
> *Windows 10 22H2 support will cease in October 2025*
78
92
79
93
We assume that **none** of the contributors had the right to utilize *any* of the "server", "beta" or other editions beyond the desktop ones.
80
94
@@ -84,7 +98,7 @@ We assume that **none** of the contributors had the right to utilize *any* of th
84
98
85
99
### Companion programs
86
100
87
-
> `Original` - legaly obtained (partially or fully) copy of a computer program
101
+
> `Original` - legally obtained (partially or fully) copy of a computer program
88
102
89
103
Some programs are *required* to be reimplemented to provide the interoperability environment (like `cmd.exe`).
90
104
@@ -107,4 +121,5 @@ All code should be under this one or compatible license.
107
121
108
122
## Usage
109
123
110
-
Requires executive capable of the Tofita API set. Load PE and attach Caramel `.dll` files into the address space of the process. Remember to run every entry point. FS/GS registers should contain thread-local data and initialization structures.
124
+
Requires executive capable of the Tofita API set. Load PE and attach Caramel `.dll` files into the address space of the process.
125
+
Remember to run every entry point. FS/GS registers should contain thread-local data and initialization structures.
0 commit comments