Толик Панков
hex_laden
............ .................. ................
Page Summary

December 2025
  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31

Back Viewing 0 - 20  
CMD/BAT, содержит ли переменная число.

Преамбула


В BAT-файлах нет типа переменных, тип разрешается в каждом конкретном случае. Впрочем, это так в большинстве командных языков, в линуксовом bash тоже нельзя явно задать тип переменной.

При этом, процессор cmd не считает числом:

- Числа в системах счисления отличных от десятичной.
- Числа с плавающей точкой (действительные, дробные).
- Если есть лидирующие нули, например 00150 не распознается как число. Хотя с этим мы поборемся.

Числами считаются только целые числа в диапазоне -2147483648..2147483647.

Так как же проверить, число в переменной BAT/CMD-файла или нет? Будем разбираться.

Оставим числа в системах счисления, отличных от десятичной, а также дробные числа. Нормальных механизмов работы в BAT/CMD с ними нет, так что и не будем усложнять.

Решение


1. Включаем расширенный режим (копия) обработки команд. В Windows, начиная с XP SP2 он включен по умолчанию, но лучше явно прописывать для совместимости:

SetLocal EnableExtensions

2. Проверка на пустую переменную. Процессор BAT/CMD считает неинициализированную или пустую переменную пустой, и не задает ей значение 0, если она используется в качестве численной переменной. Так что изначально надо проверять, не пуста ли переменная.
В тестовом примере значение передается в параметре командной строки, его и проверим, а потом запишем значение во внутреннюю переменную скрипта:

rem test if no or void parameter (variable)
if "%~1" == "" (
	echo No arguments. Use  "%~n0%~x0  <test pattern>"
	exit /b 1
)

set INP=%~1


%~n0%~x0 - при расширенной обработке команд %~n достает из переменной, в данном случае переменной %0 имя файла, %~x расширение с точкой. %0 - переменная, содержащая путь к BAT/CMD-файлу

3. Боремся с лидирующими нолями. Данная команда их удалит:

for /f "tokens=* delims=0" %%a in ("%INP%") do set INP=%%a

4. Эта команда сохранит, например 000100, превратив его в 100, но удалит 0 или 000..., так что если переменная после операции оказалась пустой, значит она содержала 0, надо его восстановить, дабы далее избежать ошибок:

if "%INP%" == "" (
set INP=0
)


5. Число или строка. Теперь можно определить, число или строка в переменной, произведя над ней арифметическое действие не изменяющее значение, например, умножение на 1. Сделать это можно с помощью команды set /a. Остается сравнить полученный результат с оригиналом. Если результат операции не равен оригиналу, то в переменной не число, а строка, т.к. результат арифметической операции над строкой всегда будет равен 0:

rem number or not number
set /a "TINP=INP*1"
if NOT %TINP% == %INP% (
	echo Not number!
	exit /b 2
)


6. Положительное или отрицательное число. Далее остается только сравнить числа с 0 с помощью оператора IF и операций сравнения:

Операнд сравненияОписание
EQUРавно
NEQНе равно
LSSМеньше
LEQМеньше или равно
GTRБольше
GEQБольше или равно


rem number type
if %INP% GEQ 0 (
	echo Positive integer
	exit /b 0
)
if %INP% LSS 0 (
	echo Negative integer
	exit /b 0
)


Скрипт целиком


На GitHub

Это репост с сайта http://tolik-punkoff.com
Оригинал: http://tolik-punkoff.com/2021/08/17/cmd-bat-soderzhit-li-peremennaya-chislo/

Браузеры для Pentium II и Pentium III (под Windows XP)



В комментарии принесли проблему. Оказывается, более-менее современные браузеры, даже поддерживающие Windows XP не могут запускаться на Pentium II/III и аналогах, т.к. не могут работать без инструкций SSE2. Впрочем, там же в комментариях и решение нашлось:

Версия для Pentium II и Windows XP


Palemoon Firefox 26.5.0 IA-32 Portable

Версия для Pentium III/AthlonXP


Palemoon Firefox 26.5.0 SSE Portable

В общем, пусть тут лежит. Мало ли пригодится.

Это репост с сайта http://tolik-punkoff.com
Оригинал: http://tolik-punkoff.com/2021/08/15/brauzery-dlya-pentium-ii-i-pentium-iii-pod-windows-xp/

Pinball Space Cadet, легендарный Пинболл из Windows XP.

Как установить в Windows 7-10.

Преамбула


Пинболл в старых версиях винды действительно был прикольной залипалкой, но в Windows 7 он пропал, причем по довольно смешной причине. Игрушку для M$ писали какие-то сторонние инди-разработчики, и в их исходниках хренженеры M$ не смогли разобраться, во всяком случае, так гласит сетевая легенда. Но позалипать хочется, а нету.

Ну хуй с ним, посоны, я создал, точнее, выдрал из Windows XP.

Работает как в Windows 7 x86 и x64,так и в Windows 10



Скачать инсталлятор с Mega.NZ
Исходный код инсталлятора на NSIS

Это репост с сайта http://tolik-punkoff.com
Оригинал: http://tolik-punkoff.com/2021/08/12/pinball-space-cadet-legendarnyj-pinboll-iz-windows-xp/

SetLocal и расширенная обработка команд в Windows Batch (с Киберфорума)

Опять заметка от склероза, и чтоб не пролюбить инфу.

Ссылка
Копия в PDF

Это репост с сайта http://tolik-punkoff.com
Оригинал: http://tolik-punkoff.com/2021/08/04/setlocal-i-rasshirennaya-obrabotka-komand-v-windows-batch-s-kiberforuma/

Tags: ,
BAT/CMD. Задержка (тайм-аут), пауза, аналог команды sleep Linux в DOS/Windows

Преамбула


Почему-то Вовчик Воротов еще со времен DOS не мог в командный процессор добавить встроенную команду sleep <секунд>, которая обеспечивает паузу в скрипте BAT/CMD, как это делается в том же bash. Но есть насколько решений.

Использование утилиты CHOICE.


Совместимость: командные процессоры, начиная с DOS 6.00, включая все версии Windows.

Утилита CHOICE.EXE изначально предназначена для запроса ответа пользователя (Да/нет), например, вызов команды

choice /M "Request Text"

где,
"Request Text" - текст вопроса

отобразит в консоли следующее:

Request Text [Y,N]?

Пользователь должен будет нажать клавишу Y или N, код возврата можно будет отследить в BAT-скрипте в переменной %ERRORLEVEL%, Y - 1 N - 2.

Однако, можно сделать из команды CHOICE задержку в скрипте, используя следующий синтаксис:

choice /T [секунд] /D [любой_символ] >nul

где,
/T [секунд] - включить задержку на [секунд] секунд.
/D [любой_символ] - ответ по умолчанию (без него не будет работать параметр /T).
>nul - отправить вывод сообщения команды в >nul, дабы не загрязнять вывод скрипта.

Например:

choice /T 1 /D y >nul

установит задержку в одну секунду.

+ Максимально совместимая команда, начиная с DOS 6.00.
- Не является встроенной командой, может отсутствовать в сборках Windows/DOS или образах Windows PE/загрузочных образах DOS
- Команда может спровоцировать зависание скрипта на неопределенный срок, если скрипт был вызван в определенных условиях, когда командный процессор cmd.exe был вызван иным приложением Windows, выполняющим перехват STDOUT консоли.

Справка по команде

Команда TIMEOUT


Совместимость: Windows 7 и выше.

Синтаксис:

timeout /T [секунд]
или
timeout [секунд]

где,
[секунд] - время в секундах.

+ К Windows 7 Вовчик Воротов таки озаботился командой, позволяющей делать стандартную задержку в BAT-скриптах.
- Нет в более ранних версиях Windows и DOS
- Если BAT-файл запущен в приложении, перехватывающем STDOUT (консольный вывод), могут случиться необоснованные глюки.
- Не является встроенной командой, может отсутствовать в сборках Windows или образах Windows PE

Пример:

timeout /T 1 >nul

Справка по команде

Команда WAITFOR


Совместимость: Windows 7 Professional и выше.

Вообще эта команда предназначена для другого, она отправляет или ожидает системного сообщения. Примерно того же, чем являются системные сообщения в Linux, например SIGTERM и SIGKILL, хотя и весьма условно - в Windows они устроены несколько по-другому. Если программе указать заведомо несуществующее системное сообщение и время ожидания - программа сработает как пауза в BAT/CMD скрипте:

waitfor /T [время] [сообщение(строка)] 1>nul 2>nul

где,

/T [время] - [время] время ожидания, секунд.
[сообщение(строка)] - можно использовать любую случайную строку, не совпадающую с известными системными сообщениями.
1>nul - перенаправление стандартного потока вывода (STDOUT) в устройство nul.
2>nul - перенаправление стандартного потока ошибок (STDERR) в устройство nul.
Два последних переопределения используются для того, чтобы не замусоривать вывод скрипта.

Пример (скрипт будет ожидать 1 секунду):

waitfor /T 1 zhzhz 1>nul 2>nul

+ Не вызывает зависаний при перехвате консольного вывода скрипта внешним приложением
- Нет в более ранних версиях Windows/DOS
- Не является встроенной командой, может отсутствовать в сборках Windows или образах Windows PE

Справка по команде

Нестандартное использование команды ping


Совместимость:
DOS, с установленными программами поддержки сети, все версии Windows

ping на locallhost можно использовать, как команду для задержки в BAT-файле. Хотя, этот способ не рекомендуется использовать, т.к. время задержки может отличаться в зависимости от количества отправленных пакетов, "железа" компьютера или версии ОС.

Пример:

ping -n 3 127.0.0.1 >nul

127.0.0.1 - IP-адрес localhost

-n 3, т.е. 3 пакета отправленные на localhost дают примерное время ожидания в 1 секунду на Windows 7, на ноутбуке HP Pavilion

+ Есть во всех версиях Windows/DOS где есть стандартная поддержка сети от MS
+ При перехвате STDOUT не глючит
- Время задержки определяется весьма приблизительно.

Внешние утилиты


Самостоятельных реализаций sleep/timeout написана вагон и маленькая тележка. Например, одну из них можно скачать на GitHub:

sleep (console application)

Запуск:

sleep <секунд>

Пример:

sleep 1 >nul

+ Сбоев не обнаружено
+ Совместимость: Все версии Windows x86/x64
+ Имеются исходники, можно пересобрать под DOS при наличии компилятора Freepascal.
- Внешняя нестандартная утилита, придется таскать вместе с BAT/CMD файлом.

Впрочем, таких утилит много, все имеют свои плюсы и минусы. Выбирайте под конкретную задачу нужный вам способ.

Это репост с сайта http://tolik-punkoff.com
Оригинал: http://tolik-punkoff.com/2021/08/02/bat-cmd-zaderzhka-tajm-aut-pauza-analog-komandy-sleep-linux-v-dos-windows/

Tags: , ,
CMD/BAT, генерация случайных чисел.

Применимо к линейке ОС Windows NT, начиная, как минимум с Windows 2000, x86 и x64 версий[прим. ред.]

Командный процессор Windows (CMD) содержит встроенную переменную %RANDOM%, которую можно использовать для генерации случайных чисел.

%RANDOM% генерирует случайное целое число от 0 до 32767 (включительно).

echo %RANDOM%

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

Например, можно сгенерировать случайные числа в диапазоне от 1 до 500:

@ECHO OFF
SET /a _rand=(%RANDOM%*500/32768)+1
ECHO Random number: %_rand%


Если попытаться сгенерировать случайные числа больше чем 32767, то это приведет к проблемам, хотя с виду все будет работать. Например, если в вышеприведенном коде заменить 500 на 65536, то это приведет к генерации последовательности "случайных" чисел, которая будет состоять только из нечетных чисел.

Распределение возвращаемых чисел определяется, как диапазоном, так и количеством итераций генерации случайных чисел.

Например, если вы генерируете числа в диапазоне от 1 до 100 то в среднем:

- При генерации 10 чисел, примерно 6% будут дублироваться
- При генерации 100 чисел, этот процент вырастет до 63, т.е. 63% сгенерированных чисел будут дубликатами, т.е. совпадать с одним или несколькими из остальных 99 чисел.
- Если сгенерировать 1000 чисел, почти все будут дублироваться, т.к. есть только 100 возможных значений.

Случайные и псевдослучайные числа


Псевдослучайная последовательность не является истинно случайной и определяется небольшим набором начальных условий.

В случае %RANDOM%, начальное значение зависит от текущего времени (системного таймера), когда произошел запуск экземпляра командного процессора. Это может создать проблему, когда проходит примерно одно и то же время перед обращением к переменной %RANDOM% и запуском самого скрипта, одновременно со стартом экземпляра командного процессора. Возвращаемое число будет находиться в небольшом предсказуемом диапазоне.

В качестве примера создайте файл numbers.cmd, содержащий следующий код:

@Echo off
Echo %RANDOM%


И запустите его следующим образом:

cmd /c numbers.cmd
cmd /c numbers.cmd
cmd /c numbers.cmd
...


Раймонд Чен из MSFT подробно описывает, почему %RANDOM% в cmd.exe не такой уж случайный.

Йоханнес Баагё опубликовал сравнение лучших алгоритмов генерации случайных чисел на javascript. Самый быстрый из них - Alea(), копия которого представлена по ссылкам ниже или в источнике.

Эта реализация имеет ряд преимуществ: можно генерировать числа большие, чем позволяет %RANDOM%, можно быстро сгенерировать много чисел, можно создавать псевдослучайные последовательности, т.е., результаты станут повторяемы, если вы вызовете скрипт с указанием одного и того же начального числа, т.е сами зададите начальные условия.

Впрочем, не стоит использовать эти "случайные числа" для чего-то серьезного, в винде так и нет нормального штатного генератора случайных чисел, и изначально не было. В худшем случае стоит пользоваться библиотеками криптопровайдера, в лучшем - аппаратным генератором. (прим. ред.)

Скрипт random.js на PasteBin
Источник

Перевел Серёга "PTZSnake jr." Неклюев
Специально для Tolik-punkoff.com
Редактор: Leha Silent

Все права идут нахуй.

Это репост с сайта http://tolik-punkoff.com
Оригинал: http://tolik-punkoff.com/2021/07/31/cmd-bat-generatsiya-sluchajnyh-chisel/

CMD/BAT Переопределение (redirect) STDERR (стандартного потока вывода ошибок) куда-нибудь.

Ну, например, в файл или в nul.

Не знал, что в Windows работает линуксовый синтаксис:

someprogramm.exe parameters 1>nul 2>nul

Или так:

someprogramm.exe parameters >nul 2>nul

1> или > - стандартный поток вывода (STDOUT)
2> - стандартный поток вывода ошибок (STDERR)

Причем, если бы в грозу не вырубило интернет, хрен бы узнал. Никогда не надо было, а тут понадобилось. Психанул и написал как в Линуксе, ВНЕЗАПНО, сработало.

Вовчик Воротов даже куски синтаксиса у никсоидов тырил?

Это репост с сайта http://tolik-punkoff.com
Оригинал: http://tolik-punkoff.com/2021/07/30/cmd-bat-pereopredelenie-redirect-stderr-standartnogo-potoka-vyvoda-oshibok-kuda-nibud/

Tags: , ,
Включение, отключение и настройка режима гибернации в Windows 7 и выше.

Сон, гибернация, ждущий режим и все все все. Немного терминов и определений.


Сон (Windows Vista и выше) или Ждущий режим (Windows XP) - временное завершение работы ОС без выгрузки оперативной памяти в файл и закрытия приложений, т.е. ОС приостанавливает активную работу, снижает нагрузку на процессор, "гасит" ненужную периферию (монитор, жесткие диски, и даже останавливает вентиляторы, один фиг нагрузка на процессор минимальна). Выход из этого режима и возвращение к работе происходит по нажатию клавиш клавиатуры или кнопки питания на системном блоке ATX (они все сейчас ATX), или по прерыванию от мыши (можно изменить в настройках) или модема (у кого есть аналоговый модем? :)) .

Минусы этого режима:
- При отключении питания все несохраненные данные пропадут, т.к. фактически произойдет отключение питания у работающей машины, просто со сниженным до минимума энергопотреблением.
- При использовании внешних средств полного шифрования ОС, например, таких, как VeraCrypt и TrueCrypt, компьютер останется незащищенным до конца.

Плюсы:
+ Быстрый переход и выход из данного режима
+ Экономия места на системном диске, т.к. ОС не нужно держать на диске файл, размер которого равен размеру оперативной памяти, собственно, для выгрузки в него содержимого оперативной памяти.


Гибернация (Windows Vista и выше) или Сон (Windows XP) - завершение работы ОС и компьютера с предварительной выгрузкой оперативной памяти в файл hiberfil.sys с последующим полным отключением питания ПК. При повторном включении, ОС загружает содержимое файла hiberfil.sys обратно в оперативную память и продолжает работу.

Минусы:
- Требуется дополнительное место на диске.
- Если злоумышленнику удастся получить доступ к hiberfil.sys, то возможна атака даже на систему, защищенную TrueCrypt и VeraCrypt (вроде как не всех версий). Пример атаки (копия)
- Более долгое время для перехода в рабочее состояние, по сравнению с режимом сна.

Плюсы:
+ В случае отключения электропитания в режиме гибернации, данные не потеряются.
+ Если системный диск зашифрован TrueCrypt/VeraCrypt потребуется ввод пароля

Гибридный спящий режим (присутствует, начиная с Windows Vista, включен по умолчанию) - сочетание первого и второго режима, электропитание компьютера не отключается полностью, а "гасится" только ненужная периферия, при этом оперативная память сбрасывается в hiberfil.sys. Восстанавливает информацию из оперативной памяти, если во время спящего режима возник сбой питания (да, работает, я проверил). Сочетает плюсы и минусы предыдущих режимов.

Включение режима гибернации.


Если "Сон" по умолчанию присутствует в меню "Завершение работы", то пункт "Гибернация" приходится включать вручную.

1. Проверяем, включен ли режим гибернации (или гибридный спящий режим), для этого открываем диск C: и смотрим, присутствует ли в корне диска файл hiberfil.sys. Файл является скрытым, потому включаем отображение скрытых файлов (ну или смотрим через Far Manager, например).



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

2. Запускаем командную строку от имени администратора (Пуск --> Все программы --> Стандартные)



3. Выполняем команду:

powercfg /h on

4. Перезагружаем компьютер.

Файл hiberfil.sys появился.



Далее под катом... )

Полное отключение режима гибернации и гибридного спящего режима.


Если необходимо полностью отключить режим гибернации и гибридный спящий режим, а также удалить файл hiberfil.sys:

1. Нужно запустить командную строку в режиме администратора.
2. В командной строке ввести команду:

powercfg /h off

3. Параноики могут после этого запустить очистку свободного места на диске в любой программе безопасного удаления файлов, например, в Eraser'е.

Почему не происходит переход в спящий режим/режим гибернации


Наиболее частая причина состоит в том, что этому может мешать какая-то программа:

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

Это репост с сайта http://tolik-punkoff.com
Оригинал: http://tolik-punkoff.com/2021/07/14/vklyuchenie-otklyuchenie-i-nastrojka-rezhima-gibernatsii-v-windows-7-i-vyshe/

Сброс пароля Windows 7 при наличии доступа к системе.

Иными словами, как можно сбросить пароль Windows 7, если доступ к рабочему столу есть, а старый пароль неизвестен. Это можно в каком-нибудь зловредном скрипте использовать, но у меня цели были мирные - товарищ купил ноутбук б/у, который ему отдали, не сообщив пароль от учетной записи пользователя, а я ВНЕЗАПНО, зашел в Панель управления и увидел, что на учетку установлен пароль. По-хорошему бы вообще винду надо было переустановить, но сделал пока так. Повезло, что машина не ушла в гибернацию или в сон, и не выключилась, иначе пришлось бы ебаться с загрузочной флэшкой, выкачивать какой-нибудь ломатель паролей.

Внимание! Способ не сработает, если доступа к десктопу нет, и если запись Администратора тоже запаролена, и вы не знаете пароля и от нее.

1. Запускаем командную строку от имени Администратора (Пуск --> Все программы --> Командная строка, кликаем по ярлыку правой кнопкой мыши и выбираем Запуск от имени администратора)



2. В командной строке вводим:

net user <username> <new_password>,

где:
<username> - имя пользователя
<new_password> - новый пароль

Например:

net user paulzovatel 666999

Имя пользователя не чувствительно к регистру символов, а пароль чувствителен.

Это репост с сайта http://tolik-punkoff.com
Оригинал: http://tolik-punkoff.com/2021/07/02/sbros-parolya-windows-7-pri-nalichii-dostupa-k-sisteme/

Tags: ,
Flash умер, да здравствует Flash!

Преамбула


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

Немного истории. Flash в свое время был практически революционной технологией - на маленькой (даже модемной) скорости прямо в браузере можно было смотреть 2D-мультфильмы или играть в мини-игры. Впрочем, на Flash писались и весьма неплохие проекты типа Punk's Not Dead (копия), которые работали и в оффлайне. Вообще для простой мини-игры или мультика достаточно было скачать SWF-файл и запускать его в оффлайне с помощью специального плеера от Adobe, разработчика Flash.

Были даже целые сайты и полутекстовые онлайн-RPG, основанные на Flash. Например, когда я учился в универе, то залипал в Бойцовский Клуб

Сама технология Flash сочетала векторную графику, которая не зависит от разрешения, т.е. она может масштабироваться, и простой C-подобный язык программирования Actionscript, который позволял управлять объектами в мультфильме или игре. Порог вхождения во Flash был очень низким, что позволяло рисовать мультики или писать приложения кому угодно. К сожалению, формат был закрытым, и никто не сделал опенсорсную реализацию.

31 декабря индусско-ниггерские обезьяны из компании Adobeblya полностью прекратили мало того, что обновления, так еще и стерли последнюю версию кодека/плеера со своих официальных сайтов. Но все (пока) можно исправить, сейчас расскажу как.

Как исправить?


Дело в том, что можно было объединить файл SWF с самим плеером, т.е. к файлу SWF прикреплялся модуль EXE и его можно было запускать без плеера, как приложение Windows, плеер был встроен, примерно как самораспаковывающийся архив. Этим и воспользуемся.
Это, кстати, даже имелось как возможность при разработке во Flash, как опция, предоставленная Adobe, собрать ролик в SWF или EXE.

1. Нам понадобится программа Flash Builder (ссылки в конце заметки). Скачиваем, распаковываем, устанавливаем, запускаем.



2. В верхней части окна напротив поля SWF file нажимаем кнопку Browse (1) и выбираем нужный SWF-файл.

3. Остальные опции (Icon File и Splash Screen File) можно пропустить.

4. В нижнем списке (3) выбираем режим окна Flash-приложения:
- Полный экран (Full Screen)



- Окно без заголовка (Window without title bar)



- Окно с заголовком (Window with title bar)



- Окно с заголовком и кнопкой масштабирования окна (Window with title bar and Maximize Button)



- Окно без рамки (Window without Border). Выглядит также, как и на полный экран, только в окне, так что без картинки :)

Рекомендую выбирать режим "Окно с заголовком и кнопкой масштабирования окна (Window with title bar and Maximize Button)", т.к. он самый удобный. На полный экран ролик может стать незакрываемым, а с кнопкой масштабирования у пользователя останется возможность развернуть ролик на весь экран.

Также рекомендую изменить фон ролика (2) c Transparent Background (прозрачный фон) или Transparent Background with text fix (прозрачный фон с исправлением текста) на Solid Background (непрозрачный фон) и выбрать кнопкой рядом с выпадающим списком (2) цвет из палитры.

Прозрачный фон не дает возможность изменить вид окна (доступен только Full Screen), да и выглядит эта прозрачность довольно противно.

Обычно для роликов следует выбирать черный или белый фон, но иногда приходится экспериментировать. Например, для Padonki in da flash (копия) лучше всего подошел серый фон.

Скачать


Flash Builder 1.40 с официального сайта
Flash Builder 1.40, копия на Mega.NZ

Это репост с сайта http://tolik-punkoff.com
Оригинал: http://tolik-punkoff.com/2021/03/24/flash-umer-da-zdravstvuet-flash/

Tags: , ,
Шпионский ярлык, небольшая заметка с экспериментом.

Преамбула


Заметка началась с небольшой просьбы, найти сигнатуру ярлыка (shortcut) Windows, т.е. LNK-файла, а вылезло несколько интересных вещей, которые стоит оставить, как зарубку на память.

Сигнатура ярлыка (shortcut signature)


Отвечаю на поставленный вопрос. Любой файл LNK начинается с четырех байт (hex):

4C 00 00 00

Ярлык шпиона


Так вот, почему ярлык шпиона? Да потому что ярлык, кроме указания пути к файлу, на который он ссылается, рабочего каталога и типа окна открытого файла (программы) сохраняет странные и непонятно для чего нужные метаданные:

- исходный путь файла и его временные метки (полный путь, время доступа к целевому файлу (UTC), время создания целевого файла (UTC), время изменения целевого файла (UTC)).
- тип тома, с которого файл был открыт (съемный носитель, обычный том, виртуальный том)
- серийный номер тома (серийный номер привода)
- метка тома
- NetBIOS-имя устройства (сетевое имя компьютера)
- MAC-адрес устройства. Впрочем, MAC-адрес устанавливается по какому-то странному алгоритму, на машине с несколькими сетевыми картами оно получается несколько рандомно. Не совсем понял, как это устроено, кто знает - напишите в комментариях.
- размер целевого файла (байт) — размер файла, с которым ассоциирован ярлык

Зачем это делается, не совсем понятно.

Почитать подробнее можно по следующим ссылкам:
- Токсичные ярлыки в Windows: старый артефакт, не забытый хакерами, но частично забытый криминалистами (копия в PDF)
- Какую информацию можно получить из ярлыка? (копия в PDF)

Программа для просмотра метаданных ярлыка


В первой статье анализ проводился платными программами для расследования инцидентов кибербезопасности, но кое-что можно посмотреть и бесплатно, программой Windows File Analyzer, описана во второй статье, не буду повторяться, оставлю ссылки на скачивание:
- С сайта разработчика
- Копия на Mega.nz

Небольшой эксперимент, или старые имена файлов, сохраняющиеся в ярлыках


Известно, что Office и некоторые другие программы хранят ярлыки последних сохраненных документов в специальных каталогах для того, чтобы потом показывать пользователю список открытых документов. Так вот, решил провести эксперимент - создать файл с каким-нибудь красноречивым компрометирующим именем, а потом изменить свойства ярлыка и посмотреть, что получится.
Итак, создаем пустой файл с именем, например, PutinBombaVzryvChechency.doc и создаем ярлык. Смотрим содержимое ярлыка в шестнадцатеричном редакторе (красным выделил сигнатуру файла LNK):



Создаем файл kotik.doc и пытаемся поменять ярлык через "Свойства ярлыка", на несуществующий файл ссылку стандартным способом сделать нельзя, потому делаем на существующий файл:



Проверяем, открывая измененный ярлык в HEX-редакторе.



Пробуем изменить ярлык программно, с помощью класса vbAccelerator.Components.Shell, через WinAPI (копия заметки):

string lnkname = @"C:\Temp\PutinBombaVzryvChechency.doc - Ярлык.lnk";
ShellLink lnk = new ShellLink();

lnk.Open(lnkname);
lnk.Target = "X:\\NoFile.doc";
lnk.WorkingDirectory = "X:\\";
lnk.Save();




Проверяем в HEX-редакторе:



Все еще хуже.

Подробной гипотезы о том, почему оно так работает, у меня нет, но к определенным мыслям это приводит. Например, при удалении ярлыков последних документов их лучше всего удалять безопасным удалением (т.е. с полной перезаписью содержимого файла LNK). Конечно, можно разобраться в формате файла (тем более, он опубликован), но мало ли что MS добавит туда в будущем. А в целом, ситуация дискомфортная, даже если и ложечки найдутся, осадок останется, т.к. обычно мало кто обращает внимание на такую незначительную мелочь, как ярлык, а восстанавливаются (если они были удалены стандартным образом) они достаточно просто, сигнатурным поиском по диску.

Это репост с сайта http://tolik-punkoff.com
Оригинал: http://tolik-punkoff.com/2021/02/12/shpionskij-yarlyk-nebolshaya-zametka-s-eksperimentom/

Tags: ,
Sony Vaio, поставить Windows 7 с ноля, проблемы с драйверами и видео (Intel HD Graphics 4000)

Преамбула


Заметка по мотивам онлайн-консультации и больше от склероза, так что скринов будет мало, а кое-где могу что-то забыть, если что - пишите в комментарии. Задача - вернуть на Sony Vaio (SVT1111Z9RS) Windows 7, которая там стояла изначально, вместо Windows 10, которую туда кто-то зачем-то запихал.

Что понадобится


Переустановка несколько нетривиальная, так что лучше перед началом все необходимое скачать заранее.

- Дистрибутив Windows 7
- Driver Pack Solution (у товарища была полная оффлайн-версия), как минимум нужна Driver Pack Offline Network
- Кумулятивное обновление Windows 7 от Simplix
- NET Framework 4.0
- Драйвера для видеокарты (Intel HD Graphics 4000)
Копия (драйвера Intel HD Graphics 4000 + .NET Framework 4)

Установка Windows


Поделить диск можно как угодно, сработают и Arconis и, например, System Rescue CD.
Но первый сюрприз поджидает уже тут, на машине USB 3.0, потому если устанавливать оригинальный дистрибутив с флешки, то установщик перестанет ее видеть. Потому нужно или искать дистрибутив Windows 7 с поддержкой USB 3.0, или если лень искать, то можно установить Windows 7 через установочное окружение Windows 8 (копия), товарищ сделал все еще проще, загрузился с System Rescue CD и скачал все перечисленное выше с сервера на заранее подготовленный раздел жесткого диска, и запустил установку Windows с жесткого диска из Windows PE на базе Windows 7, например, такой или такой. Естественно, на HDD копируем распакованный из ISO-образа дистрибутив, а не сам ISO.

Установка драйверов


Секунда ненависти и ворчания. Sony - откровенные гондоны, пидары и козлы. Теперь все фильмы, произведенные этими мудоебищами, буду смотреть исключительно ворованные, т.к. эти уроды убрали с официального сайта все драйвера для старых ноутбуков:

Обращаем ваше внимание, что с 1 января 2021 г. Sony больше не будет предоставлять драйверы и программное обеспечение для компьютеров Sony VAIO, поставлявшихся со следующими предустановленными операционными системами Microsoft Windows и перечислены все ОС, в т.ч. и Windows 7.

Но у нас есть Driver Pack Solution, так что:

1. Запускаем Driver Pack Solution, переключаемся в режим эксперта, убираем все, кроме драйверов для LAN и устанавливаем их.
2. Перезагружаем компьютер.
3. После перезагрузки опять запускаем Driver Pack Solution, опять переключаемся в режим эксперта и устанавливаем все остальные драйвера, кроме драйвера видеокарты. С ним лучше повременить, объясню ниже.
4. Перезагружаем компьютер.

Установка драйвера видеокарты Intel HD Graphics 4000 и проблема с цифровой подписью драйвера.


Если прямо сейчас попытаться установить драйвер видеоадаптера, то Windows начнет ругаться на отсутствие цифровой подписи, видеодрайвер не заработает, а в диспетчере устройств у видеодрайвера будет отображаться восклицательный знак, в свойствах указана ошибка 52 "Не удается проверить цифровую подпись драйверов".


Вот так, только с видеоадаптером


Не знаю, с чем точно это связано, но подозреваю с тем, что в чистой Windows 7 SP1 нет нужного нового сертификата Intel, а оригинальный драйвер с сайта Sony был или более старым, чем теперешний, или с драйвером поставлялось обновление сертификата (и ведь не проверишь, горите в аду пиздоглазые анальные проушины из Sony). Вот тут и пригодится кумулятивное обновление от Simplix.

Итак, решаем проблему:
1. Устанавливаем обновление от Simplix:
1.1 В каталоге со скачанным пакетом (на момент написания заметки, файл называется UpdatePack7R2-21.1.15.exe) создаем BAT-файл update.bat со следующим содержимым:

UpdatePack7R2-21.1.15.exe /IE11

1.2 Запускаем update.bat
1.3 Следуем инструкциям на экране, в процессе установщик предложит перезагрузиться, перезагружаемся, дожидаемся окончания установки.
2. Устанавливаем .NET Framework 4
3. Устанавливаем видеодрайвер (с сайта Intel)

Родная ОС возвращена.

ФАНФАРЫ!

Это репост с сайта http://tolik-punkoff.com
Оригинал: http://tolik-punkoff.com/2021/02/12/sony-vaio-postavit-windows-7-s-nolya-problemy-s-drajverami-i-video-intel-hd-graphics-4000/

Детский кряк

Наверное, это самый смешной реверсинг во всей вселенной и даже в куче параллельных.

Итак, попросили меня бухгалтерши найти им "шарики", чтоб на обеде было во что на обеде поиграть. Нашел им бесплатный Снукер (копия), но Снукер оказался с подвохом, бесплатный-то он бесплатный, но до загрузки игры показывал рекламу, а после закрытия, отправлял на сайт, где предлагалось скачать очередной Яндекс.Спам.



"Ну ты же хакер", взмолились бухгалтерши. "Сделай так, чтоб оно никуда не ходило и ничего не просило!" А я не хакер, и даже не реверсер. Сисадмин я. Администрирую грудь.

Ок, подумал я, и уже думал скормить экзешник отладчику, ну чего же для родных бухгалтерш не сделаешь, как обнаружил в директории программы (C:\Program Files (x86)\Бесплатные игры Atarata\Снукер) два экзешника - game.exe и game.wrp.exe. game.exe - это фигня, отвечающая за показ рекламы (а чтоб не крякали, за таблицу рекордов и рестарт игры сначала), а game.wrp.exe - сама игра. Т.е. достаточно game.exe удалить или переименовать в game.exe.bak, а потом game.wrp.exe переименовать в game.exe.

crack.bat
:

ren game.exe game.bak
ren game.wrp.exe game.exe


ФАНФАРЫ! Даже ярлыки не надо менять.

- Игра начинается с сохраненной до выхода.
- Нет таблицы рекордов

+ Такой кряк не нарушает лицензионное соглашение - "законы Матрицы, это законы компьютерной системы - одни можно обойти, другие поломать".

Это репост с сайта http://tolik-punkoff.com
Оригинал: http://tolik-punkoff.com/2020/11/22/detskij-kryak/

Удаление кривого "активатора" для Windows 7 Odin возвращается

Преамбула


К сожалению, не во всех компаниях есть сисадмин и даже эникейщик, который способен свою винду проверить на лицензионность, и, если что - запустить последовательно два экзешника. Ще, пришлось делать один экзешник, который можно запустить и он удалит кривой активатор Odin, ответить надо только Да и один раз. Даже перезагружается оно само.

Kill Odin v 0.01


+ Удаляет драйвер SLIC, восстанавливает Реестр и загрузку.
+ Достаточно скачать единственный файл (и запустить его).
+ Проверка на наличие драйвера Odin
+ Перед вносимыми изменениями в систему будет создана точка восстановления.

Исходники


Репозиторий на GitHub

Скачать


OdinKill.exe

Скриншоты


Скриншоты )

Это репост с сайта http://tolik-punkoff.com
Оригинал: http://tolik-punkoff.com/2020/11/14/udalenie-krivogo-aktivatora-dlya-windows-7-odin-vozvrashhaetsya/

Файл фрагмента (SHS), что это, чем и как открывать.

Файл SHS - это файл Windows Shell Scrap Object, т.е. файл обмена, позволяющий обмениваться данными между программами, или временно сохранять содержимое буфера обмена на диск. Служба Windows Shell Scrap Object была удалена из Windows версий, начиная с Vista, так что открыть его в другой ОС, кроме Windows XP не получится.

Поскольку SHS - файл обмена, т.е. фактически файл-контейнер, то внутренний формат файла может быть любым, однако, некоторые способы открыть его есть.

scrap2rtf


Если в файле SHS сохранен формат текста Word или TXT, то можно применить утилиту scrap2rtf. Есть версии под Windows и Linux, как с графическим интерфейсом, так и для командной строки.

Скачать из архива Google.Code

Копии:

- Версии для Windows
- Версии для Linux

Восстановление работы Windows Shell Scrap Object в Windows 7


Если первый способ не помог, можно попробовать установить службу Windows Shell Scrap Object в Windows 7 из Windows XP. AfiX написал для этого утилиту.

SHSSupportW7.exe
Исходники

Простой, но долгий способ


1. Установить Windows XP на виртуальную машину.
2. Перенести на виртуальную машину файл SHS.
3. Установить нужный (или предполагаемый) софт, данные которого были в файле фрагмента.
4. Открыть фрагмент двойным кликом мыши.
...
ФАНФАРЫ!

Это репост с сайта http://tolik-punkoff.com
Оригинал: http://tolik-punkoff.com/2020/11/05/fajl-fragmenta-shs-chto-eto-chem-i-kak-otkryvat/

Преобразование REG-файла в код скрипта инсталлятора NSIS

Понадобилось тут добавить ключи из REG-файла в код своего инсталлятора на NSIS. Оказывается, все придумано до нас. Имеется утилита Reg2Nsis, которая этим и занимается.

Использование


reg2nsis REG-файл [ПАРАМЕТРЫ]
или
reg2nsis ключ_реестра [ПАРАМЕТРЫ]

Т.е. утилита может преобразовать в код NSIS, как содержимое REG-файла, так и данные непосредственно из реестра.

Параметры:
-r - обработать ключ реестра со всеми подключами, начиная с указанного. Срабатывает только если в качестве источника указан путь в реестре.
-o <файл> - код будет сохранен в указанный файл
Если вместо -o <файл> указать ключ -O, то код будет сохранен в файл с именем, аналогичным указанному REG-файлу, но с расширением .nsh

Без дополнительных параметров, код NSIS будет выведен на консоль (stdout)

Программа смотрит в настройки системы и автоматически преобразует стандартные системные пути в стандартные переменные NSIS. Например, встретившийся путь C:\Windows\ будет преобразован в $WINDIR\.

Это можно отключить, добавив в командной строке ключ -s.

При анализе REG-файла, программа распознает как добавление ключа/значения, что понятно, так и команду на его удаление.
Т.е. запись в REG-файле:

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\oem-drv64]

будет преобразована в:

WriteRegStr HKEY_LOCAL_MACHINE "SYSTEM\CurrentControlSet\services\oem-drv64" "" ""
А запись:

[-HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\oem-drv64]

преобразуется в следующий код:

DeleteRegKey HKEY_LOCAL_MACHINE "SYSTEM\CurrentControlSet\services\oem-drv64"

Скачать


С официальной NSIS-wiki
Копия на mega.nz

Это репост с сайта http://tolik-punkoff.com
Оригинал: http://tolik-punkoff.com/2020/11/04/preobrazovanie-reg-fajla-v-kod-skripta-installyatora-nsis/

Tags: , ,
Grep и awk для Windows

Понадобилось тут на винде работать с некоторыми логами. И Линукса под рукой не было, нашел, в общем grep и awk под винды, вроде, из официального SourceForge GNU.

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

В общем, я все это дело перепаковал, в обычный RAR SFX архив, который распаковывается в %WINDIR% (обычно C:\Windows), никакого инсталлятора/анинсталлера не приделывал, и вообще это для себя и стаи товарищей. Хотите качайте, хотите нет.

Содержимое архива:

awk.exe
egrep.exe
fgrep.exe
gawk-3.1.6.exe
gawk.exe
grep.exe
libiconv2.dll
libintl3.dll
pcre3.dll
pgawk-3.1.6.exe
pgawk.exe
regex2.dll


Работает в Windows 7 x86, Windows 7 x64 и в Windows XP. В десятке, наверное, работает, но я не проверял.

Скачать grep+awk для Windows


GNU grep 2.5.4
GNU Awk 3.1.6

C mega.nz

В любом случае, прикольно, что эти утилиты под винду есть. Иногда в винде их не хватает.

Это репост с сайта http://tolik-punkoff.com
Оригинал: http://tolik-punkoff.com/2020/09/11/grep-i-awk-dlya-windows/

Tags: , ,
Конверсия (пережатие) DVD в MKV без потери качества

Преамбула


Понадобилось вот в процессе восстановления древнего DVD (это отдельная история) перегнать формат DVD во что-то более удобоваримое, перелопатил кучу конвертеров, то кривые, то косые, то платные, то с невменяемыми пресетами и настройками - например оригинальное DVD-разрешение 720x576, а у конвертера или 1920x1080 или, блин, 320x240. Были еще уродливо пережимающие звук или невменяемо долго работающие.

Наконец, нашел.

MakeMKV


Все опции формата программа берет из самого DVD:

Видео:



Данные оригинального DVD:

Format                : MPEG Video
Format version        : Version 2
Width                 : 720 pixels
Height                : 576 pixels
Display aspect ratio  : 4:3
Frame rate            : 25.000 FPS


Аудио:



Данные оригинального DVD:

Format            : AC-3
Format/Info       : Audio Coding 3
Commercial name   : Dolby Digital
Bit rate          : 256 kb/s
Channel(s)        : 2 channels
Channel layout    : L R
Sampling rate     : 48.0 kHz


Программа маленькая (13 Мб) и абсолютно бесплатная. Работает, начиная с Windows XP (и выше), под x86 и x64 архитектуры

Скачать


Официальный сайт: https://www.makemkv.com/
Копия

Это репост с сайта http://tolik-punkoff.com
Оригинал: http://tolik-punkoff.com/2020/08/11/konversiya-perezhatie-dvd-v-mkv-bez-poteri-kachestva/

Отключить "Недавние документы" ("Последние файлы", "Recent Docs") в Windows 7

1. Жмем по пустому месту в панели задач, идем в Свойства



2. Переключаемся на вкладку Меню "Пуск" и снимаем галочку Хранить и отображать список недавно открывшихся элементов в меню "Пуск" и на панели задач



3. Можно также добавить в Реестр следующий параметр (сохранить следующий код в файл с расширением .reg и запустить):

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer]
"NoRecentDocsMenu"=dword:00000001


NoRecentDocs.reg на GitHub

Это отключит меню "Последние файлы" и заблокирует вышеупомянутую галочку



4. Можно еще сходить в C:\Users\<имя пользователя>\Recent\ и подчистить там лишние ярлыки.

Это репост с сайта http://tolik-punkoff.com
Оригинал: http://tolik-punkoff.com/2020/08/06/otklyuchit-nedavnie-dokumenty-poslednie-fajly-recent-docs-v-windows-7/

Tags: ,
Пропал PDF-принтер и Foxit PDF Creator от Foxit

Но мы запасливые.

Преамбула



Сегодня переустанавливал клиентам винды, ставил бесплатный Foxit PDF Reader, и с удивлением обнаружил, что в новых версиях из комплекта софтины пропала возможность создавать PDF плагинами для Word и Excel, также пропал и PDF-принтер.

Видимо их профессиональная программа Phantom хреново продавалась. И Foxit на этой почве скурвился.

Со злости я даже хотел расковырять инсталлятор и выдернуть оттуда принтер. Но решил лицензионное соглашение не поломать, а перепрыгнуть.

Лицензионное соглашение не мешает распространять старые версии, с принтером, креатором и прочими свистелками. Тем более, что программа работает на XP, и, скорее всего, я выпущу небольшой ролик для развития темы (PDF, DJVU и FB в Windows XP).

А пока нате вам.

Скачать


Foxit Reader v. 8.3.2.25013

Это репост с сайта http://tolik-punkoff.com
Оригинал: http://tolik-punkoff.com/2020/08/04/propal-pdf-printer-i-foxit-pdf-creator-ot-foxit/

Back Viewing 0 - 20