mirror of
https://github.com/SabreTools/BinaryObjectScanner.git
synced 2026-07-09 02:16:46 +00:00
Split some contributing info into a README
This commit is contained in:
35
BinaryObjectScanner/README.md
Normal file
35
BinaryObjectScanner/README.md
Normal file
@@ -0,0 +1,35 @@
|
||||
# BinaryObjectScanner
|
||||
|
||||
This library contains all of the logic for protection and file type scanning.
|
||||
|
||||
## Project and Class Organization
|
||||
|
||||
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.
|
||||
|
||||
| Project | Description |
|
||||
| --- | --- |
|
||||
| `BinaryObjectScanner` | One file per class. See below for details on subdirectories. |
|
||||
| `BinaryObjectScanner/FileType` | One file per file type. |
|
||||
| `BinaryObjectScanner/GameEngine` | At least one file per game engine. Partial classes allowed. |
|
||||
| `BinaryObjectScanner/Interfaces` | One file per interface. |
|
||||
| `BinaryObjectScanner/Packer` | At least one file per packer type. Partial classes allowed. |
|
||||
| `BinaryObjectScanner/Protection` | At least one file per protection type. Partial classes allowed. |
|
||||
|
||||
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.
|
||||
|
||||
## Code Organization
|
||||
|
||||
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.
|
||||
|
||||
Typed checks, such as `IExecutableCheck<T>` should always follow this order: `MSDOS`, `LinearExecutable`, `NewExecutable`, `PortableExecutable`.
|
||||
|
||||
| Project | Description |
|
||||
| --- | --- |
|
||||
| `BinaryObjectScanner` | Varies from file to file. |
|
||||
| `BinaryObjectScanner/FileType` | `IDetectable` implementations, helper methods. |
|
||||
| `BinaryObjectScanner/GameEngine` | `IContentCheck` implementations, `IExecutableCheck<T>` implementations, `IPathCheck` implementations, helper methods. |
|
||||
| `BinaryObjectScanner/Interfaces` | Methods ordered alphabetically. |
|
||||
| `BinaryObjectScanner/Packer` | `IContentCheck` implementations, `IExecutableCheck<T>` implementations, `IPathCheck` implementations, helper methods. |
|
||||
| `BinaryObjectScanner/Protection` | `IContentCheck` implementations, `IExecutableCheck<T>` implementations, `IPathCheck` implementations, helper methods. |
|
||||
|
||||
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.
|
||||
@@ -1,6 +1,6 @@
|
||||
# Coding Guide
|
||||
|
||||
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.
|
||||
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.
|
||||
|
||||
## General Code Guidelines
|
||||
|
||||
@@ -350,37 +350,3 @@ This section contains information on code standards regardless of which part of
|
||||
// But here the statements are logically linked but
|
||||
// needed additional formatting
|
||||
```
|
||||
|
||||
## Project and Class Organization
|
||||
|
||||
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.
|
||||
|
||||
| Project | Description |
|
||||
| --- | --- |
|
||||
| `BinaryObjectScanner` | One file per class. See below for details on subdirectories. |
|
||||
| `BinaryObjectScanner/FileType` | One file per file type. |
|
||||
| `BinaryObjectScanner/GameEngine` | At least one file per game engine. Partial classes allowed. |
|
||||
| `BinaryObjectScanner/Interfaces` | One file per interface. |
|
||||
| `BinaryObjectScanner/Packer` | At least one file per packer type. Partial classes allowed. |
|
||||
| `BinaryObjectScanner/Protection` | At least one file per protection type. Partial classes allowed. |
|
||||
| `ProtectionScan` | All functionality lives in `Program.cs`. |
|
||||
|
||||
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.
|
||||
|
||||
## Code Organization
|
||||
|
||||
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.
|
||||
|
||||
Typed checks, such as `IExecutableCheck<T>` should always follow this order: `MSDOS`, `LinearExecutable`, `NewExecutable`, `PortableExecutable`.
|
||||
|
||||
| Project | Description |
|
||||
| --- | --- |
|
||||
| `BinaryObjectScanner` | Varies from file to file. |
|
||||
| `BinaryObjectScanner/FileType` | `IDetectable` implementations, helper methods. |
|
||||
| `BinaryObjectScanner/GameEngine` | `IContentCheck` implementations, `IExecutableCheck<T>` implementations, `IPathCheck` implementations, helper methods. |
|
||||
| `BinaryObjectScanner/Interfaces` | Methods ordered alphabetically. |
|
||||
| `BinaryObjectScanner/Packer` | `IContentCheck` implementations, `IExecutableCheck<T>` implementations, `IPathCheck` implementations, helper methods. |
|
||||
| `BinaryObjectScanner/Protection` | `IContentCheck` implementations, `IExecutableCheck<T>` implementations, `IPathCheck` implementations, helper methods. |
|
||||
| `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). |
|
||||
|
||||
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.
|
||||
|
||||
Reference in New Issue
Block a user