Files
BinaryObjectScanner/BinaryObjectScanner.Protection/SVKP.cs

29 lines
1.2 KiB
C#
Raw Normal View History

using BinaryObjectScanner.Interfaces;
2023-03-07 16:59:14 -05:00
using BinaryObjectScanner.Wrappers;
2021-09-05 23:31:10 -07:00
namespace BinaryObjectScanner.Protection
2021-09-05 23:31:10 -07:00
{
// TODO: Figure out how versions/version ranges work for this protection
2022-07-13 12:46:17 -07:00
// https://raw.githubusercontent.com/wolfram77web/app-peid/master/userdb.txt
// The official website (https://web.archive.org/web/20010301183549/http://www.anticracking.sk/) contains installations for demo versions of SVKP, which themselves are also protected with SVKP.
// The site also contains useful information about various other copy protections from the era.
// Additional info: https://www.cdmediaworld.com/hardware/cdrom/cd_protections_svkp.shtml
2022-05-01 17:17:15 -07:00
public class SVKProtector : IPortableExecutableCheck
2021-09-05 23:31:10 -07:00
{
/// <inheritdoc/>
2022-05-01 17:17:15 -07:00
public string CheckPortableExecutable(string file, PortableExecutable pex, bool includeDebug)
2021-09-05 23:31:10 -07:00
{
2022-12-05 10:47:17 -08:00
// Get the sections from the executable, if possible
var sections = pex?.SectionTable;
if (sections == null)
2021-09-05 23:31:10 -07:00
return null;
2022-12-05 10:47:17 -08:00
2021-09-05 23:31:10 -07:00
// 0x504B5653 is "SVKP"
if (pex.PointerToSymbolTable == 0x504B5653)
2021-09-05 23:31:10 -07:00
return "SVKP (Slovak Protector)";
return null;
}
}
}