Альтернативный способ подключение шаблонов и плагинов на c# в Zennoposter/Zennodroid

lutic

Client
Регистрация
20.01.2024
Сообщения
67
Благодарностей
54
Баллы
18
Добрый день.
Есть много вариантов подключения шаблонов внутри проекта, но данный вариант нигде на форуме не проскакивал, и не был раннее, кроме моих тем о многофункциональном кубике.
Много раз создавая темы мы имеет возможность видеть что например плагин или чужой шаблон куда то ушли, так как по ошибке мы удалили эти фаилы или переместили в другую папку
1731758814777.png
И как видим, плагин надо снова искать.
С помощью использования временного хранилища данных чтобы загрузить файл мы преобразуем наш шаблон/плагин в код base64

В данном случаем мы конвертирует и шаблон, и плагин с именем test_c_plugin

Конвертировать можно с помощью php
PHP:
<?php

$f = file_get_contents("test_c_plugin.zpg");
file_put_contents(__DIR__."/2.txt", base64_encode($f));
?>
Код самого плагина:
C#:
void info(string word){  project.SendInfoToLog(word.ToString(), "[Guru][VX]", true);  }

foreach(string name in project.Context.Keys){
    info(name+": "+project.Context[name]); //Вывод всех возможных переменных
}

Далее получаем текст в base64 и вставляем в нашу заготовку
C#:
project.Context["test"] = "Test1";  //данные что передаются в плагин для работы
project.Context["test1"] = "test2";  //данные что передаются в плагин для работы

byte[] fileBytes = Convert.FromBase64String(getplugin());
string tempFilePath = Path.Combine(Path.GetTempPath(), "test_plugin.zp");
File.WriteAllBytes(tempFilePath, fileBytes);
bool res = project.ExecuteProject(tempFilePath, null, true, true, true);
if(File.Exists(tempFilePath)){ File.Delete(tempFilePath); }

if(!res){ throw new Exception("Что то пошло не так!"); }


string getplugin(){
    return "Код base64";
}
До 1731759701817.png после 1731760024706.png


Теперь плагин или вложенный шаблон/проект часть единого/основного проекта

Результат выполнения
1731761076400.png


UDP: с зашифрованными плагинами такой трюк не сработает

Работает как с Zennoposter и Zennodroid


Спасибо за внимание
 

Вложения

Последнее редактирование:

lutic

Client
Регистрация
20.01.2024
Сообщения
67
Благодарностей
54
Баллы
18

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)