Детский кряк

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

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

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

Ок, подумал я, и уже думал скормить экзешник отладчику, ну чего же для родных бухгалтерш не сделаешь, как обнаружил в директории программы (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

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

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

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

Файл фрагмента (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. Открыть фрагмент двойным кликом мыши.

ФАНФАРЫ!

Коды стран (ISO 3166-1), CSV, XLS

Искал готовые справочники в удобоваримых форматах, не нашел. А на сайте самой ISO за скачивание в CSV или XLS надо платить деньги (тут должна быть реплика известного сумасшедшего Вениамина, в стиле, » ну каковы же сволочи») В общем, хочешь сделать хорошо — сделай это сам.

Скачать справочники кодов стран ISO

Состав архива:

iso.csv — только двухбуквенные (Alpha-2) коды и наименования стран на английском, разделитель — точка с запятой (;). Отсортировано по коду.

Пример:

Andorra;AD
United Arab Emirates;AE
Afghanistan;AF
Antigua and Barbuda;AG
Anguilla;AI
Albania;AL

isofull.csv — Код Alpha-2 (двухбуквенный), Alpha-3 (трехбуквенный), числовой, название на английском, название на русском. Отсортировано по коду. Формат — UTF-8, разделитель — точка с запятой.

Пример:

AD;AND;20;Andorra;Андорра
AE;ARE;784;United Arab Emirates;Объединенные Арабские Эмираты
AF;AFG;4;Afghanistan;Афганистан
AG;ATG;28;Antigua and Barbuda;Антигуа и Барбуда
AI;AIA;660;Anguilla;Ангилья

isofull.xls — то же самое, только в формате Microsoft Excel 2003.

Скачать с mega.nz, RAR, 20 Кб

ЗЫ. Отдельный геморрой вышел с русскими названиями стран. На сайте ISO их бесплатно нету, только на французском (тьфу, буэ), ладно, полез в конторе в «Гарант» (это типа юридическая БД, конкурент «Консультанта+»). Оказалось, что у них, сцуко, коды не обновлялись с прошлого века — Югославия есть, а вот всяких Сербий и Черногорий нет. Пришлось сверять два списка по кодам и гуглить недостающие страны, штук семь.

Распаковка инсталлятора (на примере инсталлятора Foxit PDF Reader)

Преамбула

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

Пользователь спросил, а как, собственно, распаковать инсталлятор, что ж, постараюсь кратко пояснить.

Примечание: это не инструкция «как распаковать совсем вообще любой инсталлятор», ибо типов инсталляторов довольно много и появляются новые, а бывают вообще самописные со свистелками и вувузелами, так что покажу общий подход и совсем простой пример, на том же инсталляторе Foxit PDF Reader’а

Ссылки на все инструменты в конце заметки.

Определение типа инсталлятора

Как я сказал, типов инсталляторов очень много: Nullsoft Installer, WISE, Inno Setup, Microsoft Installer (MSI), InstallShield, и это те, которые я вспомнил просто так, не посещая гугль.

Соответственно, надо определить, с чем мы имеем дело. Как говорится, знай своего врага в лицо. И это не только первый принцип разведчика, но и первый принцип реверсера, т.е. того, кто занимается обратным инженерингом, или, говоря вульгарно, взломом, крякингом программ. За «крякиннг», котики, от настоящего реверсера можно получить кружкой пива по голове. Крякают утки, а мы будем исследовать. Но что-то я запизделся.

С виду тип инсталлятора определить довольно непросто (хотя гуру могут), так что воспользуемся специальной программой DiE (Detect it easy) 2.05, которая пришла на смену PEiD. Что это такое? Это специальная утилита, способная определять что за экзешник перед нами: тип инсталлятора (если это инсталлятор), тип компилятора, которым экзешник скомпилирован, EXE-упаковщик или т.н. «навесную защиту», если экзешник упакован или защищен от взлома специальной программой. Делает это он также, как антивирус определяет наличие вируса, по сигнатурам, т.е. определенным последовательностям байт, характерных для того или иного компилятора, упаковщика, инсталлятора и т.д.

Итак, запускаем DiE и скармливаем ей наш инсталлятор:

Как видим, инсталлятор создан в Inno Setup, осталось найти распаковщик, и в данном случае это просто (потому и взял, как простой пример). Распаковщик есть. Кладем инсталлятор в отдельную папку, копируем распаковщик в нее же, или же в папку, которая есть в переменной PATH и выполняем:

innounp -x FoxitReader806.909_prom_L10N_Setup.exe

Идет распаковка:

В результате образовалась структура каталогов, характерных для этого инсталлятора, где каталог {app}, то, что будет распаковано в каталог программы (например C:\Program Files\Foxit Reader), каталог {sd}ProgramData, а каталог {tmp}, то, что будет распаковано во временный каталог системы. К тому же есть и install_script.iss — скрипт установщика (в его формате, и оттуда можно почерпнуть информацию, как и что делает установщик, если знаете формат скрипта).

А еще его можно интегрировать в Far-manager, см. Readme.

Выводы

Ну вот, это был маленький урок реверсинга для комментатора, определили установщик и его распаковали.
Заодно, если вы хотите заняться реверсингом, рекомендую посетить сайт https://exelab.ru/

Скачать

DiE (Detect it easy):
На Exelab
C Mega.nz

innounp:
Официальный сайт
Мой пакет (innounp распаковывается в C:\Windows)

Отключение всплывающих уведомлений в Firefox.

А заодно и другой лишней ерунды вроде доступа к микрофону или запроса геолокации.

1. Заходим в Инструменты —> Настройки
2. Переходим на вкладку «Приватность и защита»
Или сразу пишем в строке адреса: about:preferences#privacy
3. Мотаем вниз до раздела Разрешения:

4. Жмем кнопку «Параметры» напротив уведомлений, очищаем список, если в нем что-то есть, и ставим галочку Блокировать новые запросы на отправку вам уведомлений

5. Жмем Сохранить изменения
6. ФАНФАРЫ!

Таким же образом можно поступить с местоположением, камерой и микрофоном.

EEE PC 2G SURF драйвера и программы

Принесли тут в починку (причем уже второй) такой вот недобук. Убил полдня на него, пришлось делать отдельный дистрибутив XP, из которого было выкинуто почти все лишнее, чтоб влез.

А вот архив для него с родными дровами, софтом и всем прочим. На всякий случай, мало ли кому надо будет.

Скачать с mega.nz

Коллекции значков. Флаги всех стран.

Коллекция #1

Коллекция флагов стран в двух исполнениях
Flat — обычные плоские значки и Shiny — слегка выпуклые, с отблеском

Разрешения:
-16×16
-24×24
-32×32
-48×48
-64×64

Форматы:
-PNG
-ICO
-ICNS

Наименования отдельно:
-По названию страны
-По коду ISO

Дополнительно:
Есть флаги некоторых непризнанных республик и международных организаций.

Скачать с Mega.nz
Скачать с Google.Drive

Коллекция #2

Иконки плоские

Разрешения:
-32×32
-128×128

Форматы:
-PNG

Наименования:
-По коду ISO

Скачать с Mega.nz
Скачать c Google.Drive

NodeJS для Slackware 14.2

Ох и запарился я ее собирать… Не, собралась автоматом, просто долго. А готовые пакеты у них на сайте почему-то только под Linux x64. Поэтому, чтоб не пролюбить пакеты:

node-v10.16.1-i486.txz

node-v12.7.0-i486-1.txz

На всякий случай еще и исходники сохраню.

node-v12.7.0.tar.gz

Смешно, из-за нее не так давно умудрился уронить 12 слакварь, точнее Absolute Linux, который был на ней основан, вертелся-крутился года три и никого не трогал, так и перешел на 14-ую.

Знаменитый визг свиньи Касперского.

Мне периодически задают вопрос, а где взять тот самый Визг Свиньи, которым визжал ранее Антивирус Касперского при обнаружении зловреда?

Вот, выдрал специально для вас из какой-то старой версии (еще под Win98) KAV’а.
Насколько я понимаю, сам по себе звук некопирайтный, ибо Евгений Валентинович его сам откуда-то сгайдарил и счубайсил. Так что смело качайте, ставьте на будильник, звонок или СМС.

https://youtu.be/esP4sg-JqOk

Файл в формате WAV

Как добавить картинку в readme на GitHub

Очередная заметка «от склероза». Товарищ [info]is3@ljr посоветовал добавить скриншоты в readme проекта ASCII-капчи, а я ж, как обычно, мануалы читаю в последнюю очередь, и даже не знал о такой возможности. А она есть.

1. Грузим картинки на GitHub, желательно в отдельный каталог, например screnshoots. Лучше грузить скрины в сам репозиторий, хотя GitHub позволяет вставку картинок и с других сайтов.

2. Добавляем следующий код в README.md:

![Описание](http(s)://адрес_картинки.png(jpg))

3. Пример:

# Screenshoots

ASCII captcha:

![ASCII captcha](https://raw.githubusercontent.com/tolik-punkoff/ascii-captcha/master/screnshoots/test01.png)

ASCII captcha on real HTML page:

![ASCII captcha on real HTML page](https://raw.githubusercontent.com/tolik-punkoff/ascii-captcha/master/screnshoots/on_page1.png)

User send wrong code:

![User send wrong code](https://raw.githubusercontent.com/tolik-punkoff/ascii-captcha/master/screnshoots/on_page2_wrong%20code.png)

Правда описание у меня нигде не всплыло, но наверное потому, что я использовал браузер в параноидальном режиме, без js.

Вывод на экран и сохранение в файл дерева каталогов в Linux

Вывести на экран дерево каталогов в Linux можно следующей командой:

tree -d -R

-d — выводит только каталоги
-R — выводить рекурсивно (т.е. до последнего вложенного каталога)

Если вместо -d использовать параметр -a, команда выведет и все файлы.

Команда начинает работу с текущего каталога.

Для записи в файл достаточно использовать стандартный метод перенаправления, например:

tree -d -R >/tmp/tree.txt

Если вы находитесь в каталоге, скажем /home/user, утилита запишет в файл /tmp/tree.txt все дерево каталогов, начиная с /home/user

Простой скрипт, добавляющий текущий каталог в архив.

Задача

1. Добавить текущий каталог в архив со всеми подкаталогами и файлами.
Т.е., если вы находитесь в каталоге /home/user/directory, то скрипт должен добавить в архив сам каталог, и все содержимое.
2. Добавить только содержимое (т.е. в архиве присутствует только содержимое каталога, но не сам каталог).
3. Вывод справки об использовании скрипта по ключу -h или --help

Ход мысли (описание алгоритма)

Чтобы заархивировать текущий каталог разными способами, надо добавить параметр. Пусть скрипт, запущенный без параметров, архивирует текущий каталог вместе с ним самим, а скрипт, запущенный с параметром -nc (no catalog), архивирует только содержимое. Еще надо вывести помощь, а если подсунули какой-то другой параметр, то отругаться и вывести помощь.
Уточнение. Архив, из-за алгоритма работы архиватора, не сможет находиться в текущем каталоге, вне зависимости от того, с самим каталогом создается архив, или без. Архив надо создать в каталоге уровнем выше, а соответственно, предусмотреть ситуацию, когда пользователь вызывает скрипт из корневого каталога (выше него нет ничего).
Уточнение #2. Поскольку, про имя архива ничего не сказано, имя архива будет текущий_каталог.tar.gz

Решение

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

print_help()
{
    echo "Add current directory and subdirectories to tar.gz archive"
    echo "Use "`basename $0`" [-nc]"
    echo "[-nc] - add only content current directory (and subdirectories)."
    echo
    echo "Archive name == current directory name."
    echo "Archive will be created to up-directory."
    exit 1
}

2. Проверяем вызов помощи пользователем (в параметрах скрипта задано -h или --help):

if [[ "$1" == "-h" || "$1" == "--help" ]]; then
    print_help
fi

3. Проверяем, не запущен ли скрипт в корневом каталоге (/):

CURDIR=`pwd`

if [ "$CURDIR" == "/" ]; then
    echo "Oh, no! It's root directory!"
    exit 1
fi

Пояснение: `` обратные кавычки — те, которые, на клавише Ё, отправляют вывод работы команды в переменную. pwd выводит текущую директорию

4. Формируем имя архива и путь к нему и получаем имя текущего каталога

DIRNAME=`basename $CURDIR`
ARHNAME="../"$DIRNAME".tar.gz"

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

5. Если скрипту не заданы аргументы:

if [ $# -ne 1 ]; then

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

tar -czvf $ARHNAME "../"$DIRNAME

Пояснение: tar сам обрежет символы ../ и добавит, что надо.

6. Если параметр #1 скрипта присутствует, то проверяется, равен ли он -nc.

else
    if [ "$1" == "-nc" ]; then

7. Если да, вызывается архиватор, архивирующий содержимое текущего каталога (без самого каталога):

tar -czvf $ARHNAME "."

8. Иначе, выводится сообщение о недопустимом значении параметра и помощь по использованию скрипта:

else
	echo "Wrong parameter(s)!"
	echo
	print_help

Итог

Скрипт целиком на GitHub
На PasteBin

Заодно нашел кучу утилит для подбора паролей в Windows.

Утилиты не первой свежести, но запускаются из WinPE (надо положить их в шару, если использовать PXE), некоторые умеют работать с ОС на диске.

Скачать

На некоторые ругаются антивирусы, так что архив запаролен. Пароль:111

Консольные Live-дистрибутивы Linux.

Искал тут себе маленькие консольные (чтоб без иксов при старте) дистрибутивы Линукс. Перелопатил весь гугль. Вот меня пока два устроили, старейший, из мне известных System Rescue CD и INX, на основе Ubuntu, но без X-сервера. Он так и называется INX (Is Not X).

А вы что посоветуете?

Отключаем SVG в Firefox

Зачем:

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

Как:

Способ для Firefox 53+

1. Набираем в адресной строке about:config
2. Устанавливаем опцию svg.enabled в false

Способ универсальный

Кроме Firefox и в Chrome работает, но тут инструкция для Firefox, для остального должно быть также.

1. Ставим блокировщик рекламы и прочей гадости uBlock Origin
2. Нажимаем на значок плагина (1 на картинке ниже) и входим в панель управления плагином (2 на картинке ниже)

Переключаемся на вкладку Мои фильтры и добавляем туда следующий код:

! block all svg
*.svg

Баста! Зловредный SVG вырезан с корнями!

Виртуальная сим-карта для регистрации на сервисах, требующих номер телефона.

Мои друзья делают замечательный проект, способствующий сохранению анонимности в Интернете — virtualsim.net. На этом сайте вам за небольшую сумму зарегистрируют номер телефона на год, на который можно будет регистрироваться на всяких сайтах и сервисах, требующих номер телефона (Telegram, Vkontakte, OK.RU и т.д.)

Мы вот таким образом обзавелись телеграм-каналом и страницей во Vkontakte.

У ребят огромная база данных (на несколько тысяч номеров), есть возможность выбрать страну. В настоящий момент доступны Украина, Россия, Казахстан, Латвия. При офигенно качественном и важном сервисе, избавляющем, наконец, от мобильного рабства, цены вполне демократичны: Минимальный тариф за номер — 5$ в год для некоммерческой деятельности, например, регистрации страницы в VK, для коммерческой деятельности подороже, но вполне терпимо. Если честно, дешевле я не нашел. Постоянным клиентам предоставляются скидки. Впрочем, дублировать весь прайс в данной заметке я не буду. Если вас заинтересовал сервис, пройдите по ссылке ниже

virtualsim.net

VIRTUALSIM.NET ОСТАВАЙСЯ АНОНИМНЫМ!

Проверка на утечку локального IP

Нашел интересный тест, позволяющий проверить, не «сливает» ли браузер локальный IP через WebRTC В принципе, в этой дыре ничего особо страшного нет. У меня браузер слил локальный IP, но это, как и ожидалось, был частный IP-адрес. Даже не частный IP-адрес локальной сети провайдера, а частный IP-адрес за роутером, сервером, и виртуальной машиной, т.е. что-то вида 172.16.5.100. Ничего, без глубокого анализа и совсем уж целенаправленной атаки не дающий. Нет, он может дать злоумышленнику ваш реальный IP, если у вас «белый» IP, сетевой кабель от провайдера воткнут прямо в сетевую карту, и у провайдера кривые настройки его локальной сети. Но, как говорится, ложечки целы, а осадочек остался. Так что если кому попараноить — тому сюда. Там и инструкция есть, как задушить гадину, если кому надо.

Да, без включенного жабаскрипта оно не работает, так что NoScript наш первый друг, товарищ и самый человечный человек!

И главное — лучше перебдеть, чем недобдеть! (L) КГБ/ВЧК/МГБ/ФСБ/ЦРУ/SCP/НЛО

С уважением, Курильщик, специально для Tolik-punkoff.com

Шрифты поддерживающие весь Unicode-диапазон

Или, во всяком случае, большинство символов.

TWBh: шрифт, поддерживающий большинство символов Unicode
Дополнительно:
Композитный шрифт для BabelMap (TWBhBabelCompositeFont.xml)
Композитный шрифт для WPF (TWBh.CompositeFont)
Композитный шрифт для примера простой Charmap для Unicode и однобайтных кодировок (babel.cf)

Universalia самый распространенный максимально поддерживающий Unicode набор шрифтов Ссылка Magnet

Набор шрифтов с почти полной поддержкой Unicode, собранный неизвестным пользователем интернета Что и как поддердживает каждый файл шрифта, есть описание в тектовом файле. Плюс есть композитный шрифт для тестовой программы.

Программа BabelMap Копия
Самый совершенный Charmap для Unicode, поддерживает композитные шрифты и все диапазоны Unicode