Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » PowerShell - [решено] Расшифровка коротких ссылок

Ответить
Настройки темы
PowerShell - [решено] Расшифровка коротких ссылок

Старожил


Сообщения: 216
Благодарности: 15

Профиль | Отправить PM | Цитировать


Всем доброго времени суток!
Может кто подскажет, есть ли возможность посредством Powershell расшифровать короткие ссылки ?
Например, такие:
Код: Выделить весь код
http://tinyurl.com/yytmg75x/239.195.57.14:1234
В браузере то это без проблем, но нужно расшифровать несколько десятков ссылок.
Можно это сделать через curl.exe (прописана в системной Path)
Код: Выделить весь код
Get-Content J:\Download\123.m3u | ForEach {
(curl.exe -sL --head $_ | Select-String -Pattern 'Location: ([^"]+)' -AllMatches).Matches| 
ForEach-Object {"$($_.Groups[1].Value)"}
}
Но так получаем только ссылки, которые есть в заголовке. На других ошибка.

С помощью чистого Powershell не получится решить такую задачу ?

Отправлено: 15:14, 13-09-2020

 

Аватара для Fors1k

Старожил


Сообщения: 193
Благодарности: 112

Профиль | Отправить PM | Цитировать


Код: Выделить весь код
$link = 'http://zigfreed.ru/Sv2/62.m3u8'
"$((Iwr -me h $link).BaseResponse.ResponseUri)"

Последний раз редактировалось Fors1k, 14-09-2020 в 15:54.

Это сообщение посчитали полезным следующие участники:

Отправлено: 21:00, 13-09-2020 | #11



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

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


Старожил


Сообщения: 216
Благодарности: 15

Профиль | Отправить PM | Цитировать


Fors1k, да, вроде нормально, проверю ещё на других ссылках...
Спасибо!

Отправлено: 22:16, 13-09-2020 | #12


Аватара для Fors1k

Старожил


Сообщения: 193
Благодарности: 112

Профиль | Отправить PM | Цитировать


Цитата Foreigner:
Антивирус взбунтовался против любых коротких ссылок ))) »
Код: Выделить весь код
function Get-TargetLink($url){
    add-MpPreference -ExclusionProcess ($p=(ps -id $Pid).path)
    $r = (Iwr $url).BaseResponse.ResponseUri
    Remove-MpPreference -ExclusionProcess $p
    return "$r"
}cls

Get-TargetLink 'tinyurl.com/anf54v'

Последний раз редактировалось Fors1k, 14-09-2020 в 16:11.

Это сообщение посчитали полезным следующие участники:

Отправлено: 15:31, 14-09-2020 | #13


Ветеран


Сообщения: 1754
Благодарности: 965

Профиль | Цитировать


Fors1k, Ну я не знаю, какие-то ссылки открывает, какие-то ни в какую, наверное зависит от провайдера ссылок. Под линукс вообще без проблем, под виндой такой вот stderr, Зависит наверное от многого, от винды, от настроек, от хостинга коротких ссылок -- причем странно все, видимо у дефендера особый алгоритм, какие-то ссылки обрабатываются, потом, при повторе выскакивает ошибка, потом снова отрабатывается. Я вот попытался загнать в переменную, чтобы уже локально просмотреть все дерево методов и свойств, но как-то не сложилось. Ну и времени, если честно, вникать не было.

Отправлено: 16:28, 14-09-2020 | #14


Забанен


Сообщения: 793
Благодарности: 260

Профиль | Цитировать


Foreigner, все же Windows Defender, угу. В десятке реализуется "общий" интерфейс, используемый приложениями и службами для перенаправления потока байтов поставщику антивирусного обеспечения (сам интерфейс реализован в amsi.dll, а подсмотреть его реализацию можно в amsi.(lib|h) из SDK пакета). Так вот, amsi "лапает" PowerShell для анализа выполняемого содержимого, при этом последнее перехватывается и отправляется в Defender до непосредственного исполнения. Это - в целом. В чём прикол? А прикол в отсутствии прикола, ибо зная "устройство" amsi можно "тушить" Defender прямо из PowerShell по необходимости, меняя первые три байта, скажем, AmsiScanBuffer на нечто вроде ксора 32-битного аккумулятора с последующим ретом или просто перехватив инициализируемую amsi сессию, - техник обхода много. Да и тема по сути внефорумная.

Отправлено: 10:10, 15-09-2020 | #15


Старожил


Сообщения: 216
Благодарности: 15

Профиль | Отправить PM | Цитировать


Цитата Uragan66:
проверю ещё на других ссылках... »
Всё-таки Invoke-WebRequest с параметрами -me h не работает корректно со всеми ссылками, к примеру, по ссылке
Код: Выделить весь код
http://rebrand.ly/deo_oleg/467
в ответ получаем ошибку 404, тогда, как просто:
Код: Выделить весь код
$link = 'http://rebrand.ly/deo_oleg/467'
"$((Invoke-WebRequest $link).BaseResponse.ResponseUri)"
отдаёт нормальную расшифрованную ссылку:
Код: Выделить весь код
http://clients.apsny.camera/tv_gal_tv_hd_online/playlist.m3u8
Но этот код не подойдёт для укороченных ссылок, по которым идёт скачивание потока.
Код: Выделить весь код
http://rebrand.ly/d_e_o_0_l_e_g/2
И условие здесь на ошибку не поставишь, так как идёт просто бесконечное скачивание потока, без ошибки...

Отправлено: 10:34, 15-09-2020 | #16


Ветеран


Сообщения: 1754
Благодарности: 965

Профиль | Цитировать


greg zakharov, Ну и бог с ним, с дефендером, да и с короткими ссылками тоже.

Отправлено: 10:35, 15-09-2020 | #17


Аватара для Fors1k

Старожил


Сообщения: 193
Благодарности: 112

Профиль | Отправить PM | Цитировать


Код: Выделить весь код
$link = 'http://rebrand.ly/d_e_o_0_l_e_g/2',
        'http://rebrand.ly/deo_oleg/467'
cls
function Get-TargetLink($url){
    $ErrorActionPreference="stop"
    try{
        $webRequest = [net.WebRequest]::Create($url)
        $webRequest.Timeout = 4096
        $res = $webRequest.GetResponse().ResponseUri
    }catch{ $res = $Error[0] } ; $webRequest.Abort()

    return "$res"
}
$link|%{Get-TargetLink $_}
Цитата:
http://iptv.rubintele.com:8552/play/a001
http://clients.apsny.camera/tv_gal_tv_hd_online/playlist.m3u8

Последний раз редактировалось Fors1k, 15-09-2020 в 16:40.

Это сообщение посчитали полезным следующие участники:

Отправлено: 11:19, 15-09-2020 | #18


Старожил


Сообщения: 208
Благодарности: 51

Профиль | Отправить PM | Цитировать


greg zakharov, Простите за нескромный вопрос, а что у Вас случилось с "Археология Windows\UNIX, хаконавтика"? Если ничего не случилось, то можете не отвечать :) Просто раньше ссылка была доступна в Вашей подписи. Не то чтобы я уж так все читала, но некоторые посты были интересны

Отправлено: 12:55, 15-09-2020 | #19


Ветеран


Сообщения: 1754
Благодарности: 965

Профиль | Цитировать


К вопросу об антивирусе. Можно временно отключить блокировку антивирусом скрипта, выполнив с повышенными привилегиями:

Код: Выделить весь код
Set-MpPreference -DisableRealtimeMonitoring $true

Отправлено: 15:39, 15-09-2020 | #20



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » PowerShell - [решено] Расшифровка коротких ссылок

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Расшифровка символа Latinyanin Хочу все знать 3 19-03-2017 11:53
Прочее - [решено] Не корректное или тяжкое открытие ссылок и переходов внутри ссылок в браузерах Илья_Рудоманенко@vk Сетевые технологии 10 16-12-2015 08:05
Разное - Расшифровка Cian2000 Программирование и базы данных 0 18-09-2013 11:27
[решено] Где посмотреть список свойств ссылок (обычных ссылок интернета)? evg64 AutoIt 4 13-09-2009 13:41
Расшифровка clop1000 Хочу все знать 4 27-11-2008 09:38




 
Переход