Прежде всего, извините за мой английский, это не мой родной язык, но я буду стараться изо всех сил. Это будет довольно долго и довольно подробно, потому что я уже провел много исследований, но в настоящее время застрял.

Я поручил себе написать небольшой скрипт на Python + интерфейс, который дает мне полезную информацию о подключенном (Huawei)UMTS-Stick, информация, которую я хотел получить, включает:

  1. Предустановленное ПО на UMTS-Stick (в основном это Мобильный партнер)
  2. Издатель указанного программного обеспечения
  3. Версия программного обеспечения
  4. Серийный номер
  5. IMEI
  6. Модель устройства
  7. Используемые данные (ежемесячно)

Я нашел большинство необходимых данных на самом диске UMTS в файле с именем SysConfig.dat

Образец:

[Install]
DefDir=Mobile Partner
AppTitle=Mobile Partner
AppName=Mobile Partner.exe
Publisher=Huawei Technologies Co.,Ltd
URLInfoAbout=http://www.huawei.com
HelpLink=http://mobile.huawei.com
RealName=Mobile Partner.app

Это решает 1 и 2

дальше я решаю 3:

[EHIDS_PRODUCT_VERSION]
COMMENT=
RUN_INSTALL_APP=YES
RUN_CLIENT_APP=YES
L_REG_PATH=SOFTWARE\Huawei technologies\Mobile Partner
APP_FILE_NAME=Mobile Partner.exe
APP_INSTALL_PATH=Mobile Partner
VALUE=23.009.05.00.69

После некоторого использования procmon я нашел больше файлов в C:\ProgramData\Mobile Partner например:

в localdeviceinfo.xml:

<?xml version="1.0" encoding="UTF-8" ?>
<localdevice>
    <item name="e3276" id="E3276" port="6">1</item>
</localdevice>

в NetInfo.dat:

<?xml version="1.0" encoding="UTF-8" ?>
<xml>
    <transfer type="Dial-up">
        <today uploaded="0" downloaded="0" todaytime="3844" time="1521277552" Lastcntime="3844" />
        <since time="1509352688" uploaded="414576283" downloaded="127569449" sincetime="4479" />
        <this_week uploaded="0" downloaded="0" weektime="3979" time="1520722800" />
        <this_month uploaded="411381490" downloaded="124249810" monthtime="3979" time="1519858800" />
        <this_year uploaded="412161638" downloaded="125141695" time="1516272281" yeartime="4080" />
    </transfer>

Это решает 6 и 7, но я не мог найти что-нибудь о IMEI & S/N. Дело в том, что у Mobile Partner, например, есть плагин диагностики, который выдает такую информацию:

Диагностический вывод

Я узнал об этой функции довольно поздно, и она делает мою работу несколько бесполезной, но, тем не менее, я хотел закончить то, что уже стоило мне довольно много времени.

Таким образом, программа «Мобильный партнер» каким-то образом получает информацию.

Мои вопросы:

  1. Как Мобильный партнер Программы получает S/N & IMEI?
  2. Как моя программа может получить S/N & IMEI?

Я знаю, что это довольно специфический вопрос, но спрашивать не вредно, верно?

0