Я вчера сидел и разбирался с Sentinel на примере одной программы. Ключа к этой программе нет, но есть ключик этого же производителя ПО с тем же VendorId, но там поддержка этой проги отключенна. В теле проги я наткнулся на процедуру sproWrite. Добился того чтобы эта функция вызвалась. И вот, что я увидел в стеке перед sproWrite: 0012F88C 00001C38 ASCII "Br" 0012F890 00003FA8 Это я не знаю что??????? 0012F894 00000034 Это номер ячейки куда писать 0012F898 00005C48 Это данные которые надо писать 0012F89C 00001C01 Это я тоже не знаю????????? Первый вопрос - что это за данные где я поставил вопросы, т.е. 1 и 4 аргументы sproWrite, неужели это Write1 и write2 passwords? Процедура sproWrite выполнилась с ответом в EAX=0. После этого я опять снял дамп с ключа: Вот что было до Cell 0x34: 0000 (0/0) А вот после записи Cell 0x34: 5C48 (1/0) (Read Only Data) Второй вопрос Почему ячейка стала ReadOnly (нельзя ли записывать так чтобы этого небыло)? Третий вопрос Чем отличается sproWrite от sproOverWrite?
вот цитата из sdk: unsigned short int RNBOsproWrite( RB_SPRO_APIPACKET packet, unsigned short int writePassword, unsigned short int address, unsigned short int data, unsigned char accessCode ); Write: This function is used to write a word and its associated access code to a specified address. OverWrite: This function allows the application to change the value and access code of any word of in the SentinelSuperPro key.