Closed
Description
I'm going to make a PR for this, but I'm opening this issue because I need to know a few things before I do. I'm specifically referring to this section:
public class CDDVDCops : IContentCheck, IExecutableCheck<NewExecutable>, IExecutableCheck<PortableExecutable>, IPathCheck
{
// TODO: Investigate reference to "CD32COPS.DLL" in "WETFLIPP.QZ_" in IA item "[redacted]".
/// <inheritdoc/>
public string? CheckContents(string file, byte[] fileContent, bool includeDebug)
{
// TODO: Obtain a sample to find where this string is in a typical executable
var contentMatchSets = new List<ContentMatchSet>
{
// TODO: Remove from here once it's confirmed that no PE executables contain this string
// CD-Cops, ver.
new(new byte?[]
{
0x43, 0x44, 0x2D, 0x43, 0x6F, 0x70, 0x73, 0x2C,
0x20, 0x20, 0x76, 0x65, 0x72, 0x2E, 0x20
}, GetVersion, "CD-Cops (Unconfirmed - Please report to us on Github)"),
// // DVD-Cops, ver.
new(new byte?[]
{
0x44, 0x56, 0x44, 0x2D, 0x43, 0x6F, 0x70, 0x73,
0x2C, 0x20, 0x20, 0x76, 0x65, 0x72, 0x2E, 0x20
}, GetVersion, "DVD-Cops (Unconfirmed - Please report to us on Github)"),
};
return MatchUtil.GetFirstMatch(file, fileContent, contentMatchSets, includeDebug);
}
Where it performs an NE/PE content check for CD-Cops, ver.
or DVD-Cops, ver.
.
The questions I have:
- Is there any way this check would ever be handleable for NE? NE doesn't have sections, so I'm not sure how you avoid a content check
- Why is that WETFLIPP.QZ_ sample mentioned here? It (or any other files in that sample) doesn't match either byte array.
- Are there any known samples for this? I have some, but not enough for me to be super confident.
- Two of my 3 samples are NE DVD-Cops samples. Even with --debug, the second string doesn't match. The issue is that, at least in the samples I have, there's only one space between "," and "ver" and not two. That said, I wouldn't be surprised if there are samples out there that do have two spaces. What's the best way to handle "some arbitrary number of spaces (up to a certain amount?)" for these byte arrays?
Samples, if necessary:
CD-Cops, PE
https://archive.org/details/cover_202501
https://archive.org/download/cover_202501/BTBXXXXX300.iso/setup32%2Fbib.dll
DVD-Cops, NE
https://archive.org/details/der-brockhaus-multimedial-2002-premium
https://archive.org/download/der-brockhaus-multimedial-2002-premium/BMM2002PDVD.iso/Bmm%2FBMM.exe
https://archive.org/details/der-brockhaus-multimedial-2003-premium
https://archive.org/download/der-brockhaus-multimedial-2003-premium/BMM2003PDVD.iso/Bmm%2Fbmm.exe
Metadata
Metadata
Assignees
Labels
No labels