Я работаю над обфускацией epub 2.0. Наши требования состоят в том, чтобы пользователь мог просматривать наши epubs, но они не должны использовать наши шрифты в своей системе, распаковывая и распаковывая из них шрифты. Мы должны ограничить установку встроенных шрифтов в пользовательской системе, но пользователь может просматривать epubs без каких-либо ошибок. Кроме того, мы не хотим подмножество шрифтов.
Я использовал Sigil
, чтобы сделать шрифты epub запутанными, но проблема с Sigil заключается в том, что любой может удалить обфускацию из шрифтов, редактируя наши epubs в Sigil, просто щелкните правой кнопкой мыши на шрифте и сделайте обфускацию шрифта none.
Sigil вносит два изменения для обфускации. Идентификатор Giud вставляется в content.opf и шифрование. xml файл создается.
Я изменил идентификатор guid
<dc:identifier opf:scheme="UUID">urn:uuid:4cfee596-5bf8-48db-a68c-2ddfa2c328b3</dc:identifier>
, чтобы отключить деобфускацию, но шрифты все еще deobfuscate.
Затем я использовал следующий код c# для обфускации шрифтов, но после обфускации шрифта и добавления идентификатора guid в файл content.opf
и создания шифрования. xml, шрифт не применяется в epub.
public static void Obfuscate_Deobfuscate_Font(string inputFontFilePath, string obfuscationKey, string outputFontName)
{
try
{
using (FileStream stm = new FileStream(inputFontFilePath, FileMode.Open))
using (FileStream fs = new FileStream(outputFontName, FileMode.Create))
{
byte[] dta = new byte[stm.Length];
stm.Read(dta, 0, dta.Length);
string guid = new Guid(obfuscationKey).ToString("N");
byte[] guidBytes = new byte[16];
for (int i = 0; i < guidBytes.Length; i++)
{
guidBytes[i] = Convert.ToByte(guid.Substring(i * 2, 2), 16);
}
for (int i = 0; i < 32; i++)
{
int gi = guidBytes.Length - (i % guidBytes.Length) - 1;
dta[i] ^= guidBytes[gi];
}
fs.Write(dta, 0, dta.Length);
}
}
catch (Exception ex)
{
}
}
Как сделать так, чтобы шрифт epub деинсталлировался у пользователей p c?
Есть ли какое-либо коммерческое программное обеспечение для этой цели?
Любая помощь будет принята с благодарностью.