Skip to content

Commit 0f63f79

Browse files
committed
Split some contributing info into a README
1 parent 7bf1200 commit 0f63f79

2 files changed

Lines changed: 36 additions & 35 deletions

File tree

BinaryObjectScanner/README.md

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
# BinaryObjectScanner
2+
3+
This library contains all of the logic for protection and file type scanning.
4+
5+
## Project and Class Organization
6+
7+
This section contains information on project and class organization principles that depend on the part of the project you are working in. See the following table for details.
8+
9+
| Project | Description |
10+
| --- | --- |
11+
| `BinaryObjectScanner` | One file per class. See below for details on subdirectories. |
12+
| `BinaryObjectScanner/FileType` | One file per file type. |
13+
| `BinaryObjectScanner/GameEngine` | At least one file per game engine. Partial classes allowed. |
14+
| `BinaryObjectScanner/Interfaces` | One file per interface. |
15+
| `BinaryObjectScanner/Packer` | At least one file per packer type. Partial classes allowed. |
16+
| `BinaryObjectScanner/Protection` | At least one file per protection type. Partial classes allowed. |
17+
18+
If the project or directory you are looking for is not included in the above, please consider it to be outside the context of this document.
19+
20+
## Code Organization
21+
22+
This section contains information on in-code organization principles that depend on the part of the project you are working in. See the following table for details.
23+
24+
Typed checks, such as `IExecutableCheck<T>` should always follow this order: `MSDOS`, `LinearExecutable`, `NewExecutable`, `PortableExecutable`.
25+
26+
| Project | Description |
27+
| --- | --- |
28+
| `BinaryObjectScanner` | Varies from file to file. |
29+
| `BinaryObjectScanner/FileType` | `IDetectable` implementations, helper methods. |
30+
| `BinaryObjectScanner/GameEngine` | `IContentCheck` implementations, `IExecutableCheck<T>` implementations, `IPathCheck` implementations, helper methods. |
31+
| `BinaryObjectScanner/Interfaces` | Methods ordered alphabetically. |
32+
| `BinaryObjectScanner/Packer` | `IContentCheck` implementations, `IExecutableCheck<T>` implementations, `IPathCheck` implementations, helper methods. |
33+
| `BinaryObjectScanner/Protection` | `IContentCheck` implementations, `IExecutableCheck<T>` implementations, `IPathCheck` implementations, helper methods. |
34+
35+
If the project or directory you are looking for is not included in the above, please consider it to be outside the context of this document.

CONTRIBUTING.md

Lines changed: 1 addition & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Coding Guide
22

3-
This document serves as the official code standards guide for `BinaryObjectScanner` internal development. Please note that this is a work in progress and may not encapsulate all standards expected of new or existing code. The included `.editorconfig` file can help enforce some of the standards mentioned below.
3+
This document serves as the official code standards guide development. Please note that this is a work in progress and may not encapsulate all standards expected of new or existing code. The included `.editorconfig` file can help enforce some of the standards mentioned below.
44

55
## General Code Guidelines
66

@@ -350,37 +350,3 @@ This section contains information on code standards regardless of which part of
350350
// But here the statements are logically linked but
351351
// needed additional formatting
352352
```
353-
354-
## Project and Class Organization
355-
356-
This section contains information on project and class organization principles that depend on the part of the project you are working in. See the following table for details.
357-
358-
| Project | Description |
359-
| --- | --- |
360-
| `BinaryObjectScanner` | One file per class. See below for details on subdirectories. |
361-
| `BinaryObjectScanner/FileType` | One file per file type. |
362-
| `BinaryObjectScanner/GameEngine` | At least one file per game engine. Partial classes allowed. |
363-
| `BinaryObjectScanner/Interfaces` | One file per interface. |
364-
| `BinaryObjectScanner/Packer` | At least one file per packer type. Partial classes allowed. |
365-
| `BinaryObjectScanner/Protection` | At least one file per protection type. Partial classes allowed. |
366-
| `ProtectionScan` | All functionality lives in `Program.cs`. |
367-
368-
If the project or directory you are looking for is not included in the above, please consider it to be outside the context of this document.
369-
370-
## Code Organization
371-
372-
This section contains information on in-code organization principles that depend on the part of the project you are working in. See the following table for details.
373-
374-
Typed checks, such as `IExecutableCheck<T>` should always follow this order: `MSDOS`, `LinearExecutable`, `NewExecutable`, `PortableExecutable`.
375-
376-
| Project | Description |
377-
| --- | --- |
378-
| `BinaryObjectScanner` | Varies from file to file. |
379-
| `BinaryObjectScanner/FileType` | `IDetectable` implementations, helper methods. |
380-
| `BinaryObjectScanner/GameEngine` | `IContentCheck` implementations, `IExecutableCheck<T>` implementations, `IPathCheck` implementations, helper methods. |
381-
| `BinaryObjectScanner/Interfaces` | Methods ordered alphabetically. |
382-
| `BinaryObjectScanner/Packer` | `IContentCheck` implementations, `IExecutableCheck<T>` implementations, `IPathCheck` implementations, helper methods. |
383-
| `BinaryObjectScanner/Protection` | `IContentCheck` implementations, `IExecutableCheck<T>` implementations, `IPathCheck` implementations, helper methods. |
384-
| `ProtectionScan` | New functionality should be added as a combination of a flag with a long and a short form, a new line in the help text, and a new method (if necessary). |
385-
386-
If the project or directory you are looking for is not included in the above, please consider it to be outside the context of this document.

0 commit comments

Comments
 (0)