посдкажите
в кодировании есть такая строка при создании ключа
$rest = $p->bits / 8 - $content_size;
if ($rest < 0)
die("Content is too big to fit in key: “.$content_size.”, maximal allowed is: ".($p->bits / );
в поле userdata записывается последвоательность байт
Массив ( [0] => 16390 [1] => 32000 [2] => 16394 [3] => 32000 [4] => 16395 [5] => 32000 [6] => 16396 [7] => 32000 [8] => 16397 [9] => 32000 [10] => 16399 [11] => 32000 [12] => 17400 [13] => 32000 [14] => 17401 [15] => 32000 [16] => 17402 [17] => 32000 [18] => 17403 [19] => 32000 [20] => 17405 [21] => 32000 [22] => 17407 [23] => 32000 [24] => 17408 [25] => 32000 [26] => 17409 [27] => 32000 [28] => 17410 [29] => 32000 [30] => 17411 [31] => 32000 [32] => 17412 [33] => 32000 [34] => 17413 [35] => 32000 [36] => 17414 [37] => 32000 [38] => 17415 [39] => 32000 [40] => 17416 [41] => 32000 [42] => 17417 [43] => 32000 [44] => 17418 [45] => 32000 [46] => 17419 [47] => 32000 [48] => 17420 [49] => 32000 [50] => 17421 [51] => 32000 [52] => 17422 [53] => 32000 [54] => 17423 [55] => 32000 [56] => 17424 [57] => 32000 [58] => 17425 [59] => 32000 [60] => 17426 [61] => 32000 [62] => 17428 [63] => 32000 [64] => 17429 [65] => 32000 [66] => 17430 [67] => 32000 [68] => 17431 [69] => 32000 [70] => 17432 [71] => 32000 [72] => 17433 [73] => 32000 [74] => 17434 [75] => 32000 [76] => 17427 [77] => 32000 [78] => 17436 [79] => 32000 [80] => 17438 [81] => 32000 [82] => 17437 [83] => 32000 [84] => 17439 [85] => 32000 [86] => 17442 [87] => 32000 [88] => 17440 [89] => 32000 [90] => 17441 [91] => 32000
массив byte
06000a000b000c000d000f00f800f900fa00fb00fd00ff0000000100020003000400050006000700080009000a000b000c000d000e000f001000110012001400150016001700180019001a0013001c001e001d001f00220020002100
вот пример преобразования кода (массив word → массив byte)
print_r($a);
echo '<br>';
$packed =
array_reduce($a, function($carry, $item) {
return $carry .= pack('C*', $item);
});
echo bin2hex ($packed);
по идее объем не более 46 байт
но выдается сообщение: Content is too big to fit in key: 326, maximal allowed is: 256
при уменьшении размера массива - все работает нормально
в чем я ошибаюсь? уже всю голову сломал
Admin
March 27, 2018, 5:58am
2
Вы являетесь зарегистрированным пользователем VMProtect?
конечно
в личном сообщении указал данные
Admin
March 27, 2018, 7:41am
4
Размер данных внутри лицензии (включая ваш массив) не может быть больше размера RSA ключа.
возвращая к вопросу о размере userdata
передается массив 256 байт
но система упорно считает его размером в 768
вот в этой проверке
$userdata = DecodeChars($data["data"]);
$len = bin_strlen($userdata);
if ($len > 255)
die("User data is too long: ".$len);
подскажите как же мне записать массив в 256 байт в поле если в weblm используется фукнции
function EncodeChars($str)
и
function DecodeChars($str)
передаю массив
02 00 01 00 00 04 7B 00 00 10 02 00 04 00 04 00 00 01 01 00 20 00 05 00 00 02 04 00 00 40 03 00 80 00 05 00 40 00 05 00 01 40 02 00 09 40 57 04 69 42 2B 00 FE 43 DF 00 5C 44 02 00 5D 44 02 00 5E 44 02 00 5F 44 06 00 60 44 05 00 61 44 02 00 63 44 56 01 64 44 02 00 65 44 05 00 66 44 05 00 67 44 05 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
это 256 байт
но система упорно считает что это 768
почему она считает пробелы и каждое число как отдельный символ? ведь это 256 байт - как и согласно описанию
подскажите как решить данную проблему
я т.е. понимаю вопрос в том что запишется в базу
какая строка примером должна записаться
такая? или как то иначе она должна выглядеть?
{“hardwareid”:“fromurl”,“data”:“\x06\x40\x6F\x00\x0A\x40\x6F\x00\x0B\x40\x0B\x00\x0C\x40\x0B\x00\x0D\x40\x01\x00\x0F\x40\xDE\x00\x10\xC0\x40\x3E\x50\xC5\x80\x3E\x90\xF7\x80\x34\x30\x20\x0F\xD4\x30\x20\x0F\xF4\x34\xD0\x10\x04\x44\xD0\x10\x14\x42\x10\x00\x24\x42\x10\x00\x34\x4B\xC0\x10\x44\x40\x30\x00\x54\x40\x30\x00\x64\x4B\xC0\x10\x74\x42\xC0\x00\x84\x41\x60\x00\x94\x42\xB0\x20\xA4\x42\xB0\x20\xB4\x43\x70\x00\xC4\x43\x70\x00\xD4\x40\x50\x00\xE4\x40\x50\x00\xF4\x40\x50\x01\x04\x40\x60\x01\x14\x40\x60\x01\x24\x40\x60\x01\x44\x44\x20\x01\x54\x44\x20\x01\x64\x49\xA0\x21\x74\x49\xA0\x21\x84\x40\x70\x01\x94\x40\x70\x01\xA4\x44\xD0\x01\x34\x44\xD0\x01\xC4\x40\x90\x31\xE4\x40\x90\x31\xD4\x40\x40\x01\xF4\x40\x90\x32\x24\x40\x40\x02\x04\x47\x80\x32\x14\x40\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00”}
Admin
September 29, 2018, 6:35am
7
Если вы хотите передавать строку в HEX, то формат должен быть такой: \xYY, где YY - это код символа, и это все без пробелов.