65wat e-zine, выпуск ноль

Идеи программ\игр, которые ждут воплщения.

Модераторы: test, Vh180477, 1961uvg

Аватара пользователя
test
Сообщения: 280
Зарегистрирован: 16 ноя 2015, 19:03
Контактная информация:

65wat e-zine, выпуск ноль

Сообщение test » 31 авг 2016, 11:23

Изображение

Здрасьте )

Материал размещаю здесь, т.к. просмотрщика/верстки еще не подготовил.

Этот выпуск будет состоять из 1 исходника, т.к. материал также еще не готов, но ведь его ждут (запаслись попкорном)

--------------

Изучая разные штуки с BAT-файлами, я неожиданно обнаружил, что не существует утилиты, позволяющей отлаживать их в пошаговом режиме (как в DOS, если выбрать step by step confirmation)

Поэтому решил исправить эту несправедливость.

Встречаем, BATya, пошаговый исполнятор батников.

Предупреждение: использовать на свой риск. Совсем уж глупых багов нет, но и интеллектуальным утилиту не назовешь - она тупо отдает на исполнение операционной системе скармливаемый утилите батник (файл! не проверяет содержимое, т.е. можно указать нетекствовы файл), построчно, без каких-либо проверок. Со своей непосредственной задачей, для которой тулза писалась, она справляется.

Во вложении EXE, для тех у кого нет PureBasic 4.51

(c) Ewoke.lj.ru

Код: Выделить всё

ImportC "msvcrt.lib"
  system(str.p-ascii)
EndImport


InitKeyboard()
OpenConsole()


arg_num=CountProgramParameters()

If arg_num<>1
  PrintN("Execute a batch file, step-by-step")
  PrintN("Usage: batya batfile.bat")
    Delay(5000)
  End
  EndIf
 
 
  If ReadFile(0, ProgramParameter(0))
    PrintN("Now hit 'Y' to pass commands, Esc to skip")
   
    While Eof(0) = 0         
     
      k.s=ReadString(0)
      PrintN("")
      Print(k)
      Print(" <- Exec?")
     
       
      Repeat
        Delay(1);
        ExamineKeyboard()
       
        If KeyboardReleased(#PB_Key_Y)
          PrintN("Y")
          System (k) 
          Break
        EndIf 
       
     Until KeyboardReleased(#PB_Key_Escape)
     
     
    Wend
    CloseFile(0)             
   
  Else
    PrintN("Failed to open specified file")
    Delay(5000)
    End
  EndIf
 
  PrintN("")
  PrintN("Done!")
  Delay(5000)
Вложения
batya_001.zip
(9.83 КБ) 40 скачиваний

Аватара пользователя
test
Сообщения: 280
Зарегистрирован: 16 ноя 2015, 19:03
Контактная информация:

Re: 65wat e-zine, выпуск ноль

Сообщение test » 31 авг 2016, 12:09

И как бонус - маленькая заметка про UAC

Информация только в образовательных целях!

------------


Я уже упоминал, что установщики драйверов имеют пускалки, подписанные доверенными издателями, Asus, Gigabyte, .. , и что можно подменив файл, который запускается самой пускалкой, работать с повышенными привелегиями.

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

Сегодня наткнулся на Accelerometer driver, состоящий из 20кб пускалки, и второго большого файла, который она запускает. ЧХ, сам родной setup.exe не подписан, подписана только пускалка install.exe, при запуске пускалки дается табличка UAC с указанием проверенного издателя STMicroelectronics.

Взял cmd.exe и заменил им setup.exe. Работает ) Сообщения об ошибках - cmd.exe из install'а передается параметр в командной строке, а еще cmd.exe не пережил пеерезда из родной папки - не смог найти свой файл текстовых сообщений.

OC Win7 64
Вложения
cmd.png
cmd.png (91.49 КБ) 524 просмотра


Вернуться в «Ваши идеи»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 0 гостей