Как загрузить файл DLL в Linux, используя моно и pythonnet - PullRequest
0 голосов
/ 23 октября 2019

Я пытаюсь перенести код Windows Посещаемость машины на Linux в Python. Я проверил репо pyzk от fananimi, который поддерживает ZK-устройства. В конечном итоге я декомпилировал исходный код, используя точку взгляда (и бог знает, что), чтобы построить то же самое (симулировать те же сетевые запросы) в python.

Я пытался отслеживать пакеты с помощью wireshark, и он работал частично, потому что он ждетуникальный код (временная метка - моя лучшая догадка) в каждом запросе перед отправкой данных запрашивающей машине. Кроме того, даже если я получаю данные, я пока не знаю, как декодировать байты.

Что касается вопроса, то при очистке слоя за слоем проекта .net мне удалось найти SBXPCDLL.dll / SBCCOMM. Файл .dll, который делает запрос.

При дальнейшем поиске я узнал, что многие люди пытаются использовать одну и ту же библиотеку для подключения к другим системам мониторинга посещаемости по отпечаткам пальцев / RFID.

Я установил pythonnet на моей машине с Windows и запустил хакерский скрипт, который может открыть дверь, получить логи и получить текущую информацию и т. Д.

Я попытался перенести то же самое в linux, используя mono и pythonnet, но этоне удалось. Я проверил dllmap resources и обнаружил, что мне нужно включить скомпилированный linux двоичный файл SBXPCDLL / SBCCOMM для запуска того же кода на моей машине linux. И я не могу этого сделать, потому что все, что у меня есть, это последний файл DLL.

Есть ли способ запустить загрузку предварительно скомпилированного файла DLL в Windows в Linux, используя mono, wine или winelib, которые могут бытьдоступ через оболочку Python или C?

Или мне нужно декомпилировать исходный файл SBXPCDLL / SBCCOMM.dll (который я уже сделал и работает над ним) и создать библиотеку C / python с нуля?

Я нашел это изображение , которое показывает архитектуру библиотеки dll.

Спасибо.

...