Что нового

Настройки из зашифрованного INI файла

reset86

Чайник
Сообщения
47
Репутация
0
Сделал конфигуратор, который сохраняет настройки в зашифрованном виде (формат INI файла), теперь пытаюсь их оттуда получить, вот что придумал, но наработает. Уже голову сломал.

Код:
#include <Crypt.au3>

$vData2 = FileRead("test.dll")
$jjtt2 = BinaryToString(_Crypt_DecryptData($vData2, '94542414', $CALG_AES_256))
$sRead = IniRead($jjtt2, "RazdelX1", "ParametrX1", "")

ConsoleWrite($jjtt2 & @CRLF) ; для теста, выводит расшифрованный INI
ConsoleWrite($sRead & @CRLF) ; для теста, параметр, вот его нет



Содержание в файле test.dll

Код:
0x4DF266CBA38AD2C50064E6FD68EAB7F889EEE0F1FD387045F5FAE9E9B592E775FFF50BD5DF529542C1E633B46E0CB922D9CBCE1476B9F4E3782BE9FE80FC4FF26DC655137F662FB8AE99B5581F4F34C55B63DB2A9D5FED5C7C30C37265A5090265A2B25E7985DE3661DFCEBDF921247F4D4842B03996DF45CA9355C4FC0E7E8FAAC5177B40E82865527D9B232F1ECC2E09D554B86ADC90A1122579D9DD72BCC8CD3FF2368ACBB55A7B41457909BA934FA218F94BB9A9D31A8DC5B4BA36E17F7BF87E38B049796E735E604C4488435605
 

InnI

AutoIT Гуру
Сообщения
4 158
Репутация
1 100
reset86
Функция IniRead работает с файлом, путь к которому передаётся в первом параметре. А вы пытаетесь передать ей содержимое файла. Нужно сохранить это содержимое в файл и читать из него
Код:
#include <Crypt.au3>

$vData2 = FileRead("test.dll")
$jjtt2 = BinaryToString(_Crypt_DecryptData($vData2, '94542414', $CALG_AES_256))

FileWrite("test.ini", $jjtt2)
$sRead = IniRead("test.ini", "RazdelX1", "ParametrX1", "")

; ConsoleWrite($jjtt2 & @CRLF)
ConsoleWrite($sRead & @CRLF)
 
АТ
reset86

reset86

Чайник
Сообщения
47
Репутация
0
Я думал над этим, потому что скрипт кодирование у меня таким образом и сделан, сначала создается ini файл, кодируется в новый файл, ini удаляется.
Но при раскодировании, я не хочу что бы создавался файл с открытыми настройками, так как весь смысл теряется.
Возможно ли это делать как то в память?
Так же у меня была мысль, ракодированный файл кидать в папку temp, после получения настроек с него, файл удалять, но мне это не нравится.
 
A

Alofa

Гость
reset86 сказал(а):
... Возможно ли это делать как то в память?
[url=http://autoit-script.ru/autoit3_docs/userfunctions/IniVirtual%20Management.htm]Описание пользовательских функций раздела "IniVirtual"[/url]
 
A

Alofa

Гость
А если честно, то не понимаю зачем вам вообще .INI, с его структурой?
INI как раз создан для того чтобы любой юзер, без предварительной подготовки, мог всегда изменить его параметры.
Если вы хотите скрыть настройки, то используйте обычный текст (к примеру) каждая строка которого отдельный параметр.
И читаете его через:
Код:
StringSplit()

Вы же разработчик и сами знаете где какой параметр стоит и за что отвечает.
 
АТ
reset86

reset86

Чайник
Сообщения
47
Репутация
0
Да, на StringSplit() лучше.

Код:
#include <Array.au3>
$vData2 = FileRead("123.txt")
$aArray = StringSplit($vData2, @CRLF, 1)
ConsoleWrite($aArray[1] & @CRLF); для теста
ConsoleWrite($aArray[2] & @CRLF); для теста
ConsoleWrite($aArray[3] & @CRLF); для теста
ConsoleWrite($aArray[4] & @CRLF); для теста
ConsoleWrite($aArray[5] & @CRLF); для теста
; и тд.
 
Верх