Форум программистов, компьютерный форум, киберфорум
Наши страницы
Batch (CMD/BAT)
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.62/29: Рейтинг темы: голосов - 29, средняя оценка - 4.62
NewTech
30 / 30 / 1
Регистрация: 06.11.2012
Сообщений: 175
#1

Вытаскивание файлов из альтернативного потока

09.06.2013, 23:10. Просмотров 5224. Ответов 21
Метки нет (Все метки)

Собственно столкнулся с трудностью, к сожалению мало кому известно о альтернативных потоках, и еще меньше, кто с ними знает как обращаться.
Собственно допустим есть файл archiv.hhh и альт. поток backup - архив самого себя, полный путь файла получается:
C:\archiv.hhh:backup, а известно что с потоками дружат мало программ.

От чего напрашивается вопрос, как извлечь обратно файлы из потока, помещенные туда, к примеру, через TYPE ?

7z не открывает вовсе, WinRaR открывает только в графическом интерфейс (Ибо нужно обойтись без помощи юзера), а через его утилиту лишь ошибка в пути.

Также попутно интересует, есть ли способы напрямую запустить из потока файл ?
(В идеале было бы: explorer archiv.hhh:b, где поток = I_do_it.jpg, в результате бы открылась картинка)
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.06.2013, 23:10
Ответы с готовыми решениями:

Как запустить исполняемый файл из альтернативного потока в Windows 7?
Создаю альт. поток: type C:\Windows\notepad.exe>example.txt:h.exe Создается,...

Вытаскивание названий файлов
Доброго всем времени суток!:) помогите пожалуйста с написанием кода для...

FTP: получение списка файлов из потока. Как вывести список файлов из директории?
доброго времени суток. пытаюсь написать свой FTP-клиент. отправил серверу...

Нет Альтернативного Имени
Здравствуйте! При регистрации пользователя в системе, есть возможность указать...

Считывание строк из потока файлов
люди плз помогите разобраться. в конце компиляции выдает сообщение "error...

21
Smitis
1629 / 338 / 39
Регистрация: 15.10.2012
Сообщений: 529
10.06.2013, 00:03 #2
Цитата Сообщение от NewTech Посмотреть сообщение
От чего напрашивается вопрос, как извлечь обратно файлы из потока, помещенные туда, к примеру, через TYPE ?
TCC (TakeCommand) умеет (copy, del, etc.)
У rar-а есть ключ /os, архивирующий файлы вместе с потоками. Отдельно потоки, к сожалению, не архивирует.
Цитата Сообщение от NewTech Посмотреть сообщение
Также попутно интересует, есть ли способы напрямую запустить из потока файл ?
TCC запускает через start (в отличие от него CMD - нет). psexec умеет, но всегда в другом окне (даже консольные).
Но "запустить" мало, надо ещё чтобы программа умела окрывать. Например, xnview, сейчас попробовал, картинку из потока не открыл.
2
Dragokas
Эксперт WindowsАвтор FAQ
16969 / 7054 / 856
Регистрация: 25.12.2011
Сообщений: 10,862
Записей в блоге: 16
10.06.2013, 00:20 #3
Цитата Сообщение от NewTech Посмотреть сообщение
а известно что с потоками дружат мало программ.
Зато консолька умеет

Почитайте эти темы:
Файловые потоки
Секретные технологии Windows
0
NewTech
30 / 30 / 1
Регистрация: 06.11.2012
Сообщений: 175
10.06.2013, 00:54  [ТС] #4
Цитата Сообщение от Smitis Посмотреть сообщение
TCC (TakeCommand) умеет (copy, del, etc.)

TCC запускает через start (в отличие от него CMD - нет).
Установил и попробовал, пока что писалось в cmd то и пишется и в TTC Le,
для Start: TCC: (Sys) Не удается найти указанный файл.

А где там функции с работой над потоками ? Английский не моя часть.

Добавлено через 8 минут
Так, тут уже работает TYPE в обратном направлении, то есть, можно из потока записать в файл без инвалидности, в отличии от MORE
0
Dragokas
Эксперт WindowsАвтор FAQ
16969 / 7054 / 856
Регистрация: 25.12.2011
Сообщений: 10,862
Записей в блоге: 16
10.06.2013, 01:10 #5
NewTech, пользуйтесь find.
Type не умеет вытаскивать из файлового потока.
0
NewTech
30 / 30 / 1
Регистрация: 06.11.2012
Сообщений: 175
10.06.2013, 01:19  [ТС] #6
Цитата Сообщение от Dragokas Посмотреть сообщение
NewTech, пользуйтесь find.
Type не умеет вытаскивать из файлового потока.
По видимому вы немного не поняли, в TTC, что мне посоветовали скачать, TYPE нормально обрабатывает и на запись и на вывод альт. потоки, мне удалось успешно записать в поток файл, и вернуть обратно, но проблема в другом теперь:
Сам TTC слишком громоздкий, 1 исполняемый + 5 обязательных библиотек, так что если вы знаете какие либо еще альтернативы,буду очень рад.

PS. В TTC последней версии нашел один баг и один крупный недостаток.
0
Dragokas
Эксперт WindowsАвтор FAQ
16969 / 7054 / 856
Регистрация: 25.12.2011
Сообщений: 10,862
Записей в блоге: 16
10.06.2013, 01:30 #7
NewTech, думаю, Вы меня не понимаете.
Зачем Вам альтернативные интерпретаторы, если обычная консоль умеет это делать.
Ссылки на код чтения/записи я Вам привел.
Хотя читать/записывать бинарную информацию не пробовал. Только текстовую. Если нужно, поэкспериментирую.
0
NewTech
30 / 30 / 1
Регистрация: 06.11.2012
Сообщений: 175
10.06.2013, 01:57  [ТС] #8
Цитата Сообщение от Dragokas Посмотреть сообщение
NewTech, думаю, Вы меня не понимаете.
Зачем Вам альтернативные интерпретаторы, если обычная консоль умеет это делать.
Ссылки на код чтения/записи я Вам привел.
Хотя читать/записывать бинарную информацию не пробовал. Только текстовую. Если нужно, поэкспериментирую.
Вот как раз с бинарной то и проблема, сейчас как я знаю единственный способ чтения потока без использования внешних программ, это MORE, но бинарные файлы он искажает.
Потому я и начал искать альтернативу MORE.

Добавлено через 6 минут
Вот пока что получилось, http://109.173.96.55:81/TEMP/TEST.rar
В потоке 2 файла:
Поток r - rar.exe утилита от winrar
Поток a - архив с картинкой (Моя аватарка)

Хотя можно и без архирвации, просто изначально в архиве было много файлов.

Добавлено через 1 минуту
Редирект cyberforum'a на ip не работает Т_Т

Добавлено через 13 минут
Так, я одного сообщения своего тут не вижу, повторю:
То что FIND, тоже как и MORE искажает бинарные файлы.
0
Dragokas
Эксперт WindowsАвтор FAQ
16969 / 7054 / 856
Регистрация: 25.12.2011
Сообщений: 10,862
Записей в блоге: 16
10.06.2013, 02:46 #9
Попробовал поместить поток вовнуть цикла - облом.
copy не работает.
С TCC все хорошо, но не фриварная это штука.

Вот так попробуем? Чтение из stdin и запись в stdout бинарной информации
0
NewTech
30 / 30 / 1
Регистрация: 06.11.2012
Сообщений: 175
10.06.2013, 03:03  [ТС] #10
Цитата Сообщение от Dragokas Посмотреть сообщение
С TCC все хорошо, но не фриварная это штука.
TCC Le версия по видимому бесплатная, по крайней мере, на меня программа жалобу не катала за свободное использование.
0
Smitis
1629 / 338 / 39
Регистрация: 15.10.2012
Сообщений: 529
10.06.2013, 08:18 #11
Да, TCCLE бесплатная, просто не все расширенные функции доступны. Сейчас использую из под ФАРа. Несовместимость с CMD есть, иногда серьёзная несовместимость, но багов нет. Попробовал из-под TCC помучить AkelPad (под руку попался):
Bash
1
2
3
copy AkelPad.exe 1.txt:AkelPad.exe
ren AkelPad.exe AkelPad_.exe
start 1.txt:AkelPad.exe
Запустился!
0
NewTech
30 / 30 / 1
Регистрация: 06.11.2012
Сообщений: 175
10.06.2013, 12:18  [ТС] #12
Цитата Сообщение от Smitis Посмотреть сообщение
Да, TCCLE бесплатная, просто не все расширенные функции доступны. Сейчас использую из под ФАРа. Несовместимость с CMD есть, иногда серьёзная несовместимость, но багов нет. Попробовал из-под TCC помучить AkelPad (под руку попался):
Запустился!
Странно, у мя теперь тоже заработало. Магия, а еще вчера ругался на путь.
0
Charles Kludge
Клюг
7641 / 3156 / 382
Регистрация: 03.05.2011
Сообщений: 8,382
20.08.2013, 22:26 #13
Лучший ответ Сообщение было отмечено vavun как решение

Решение

http://www.bleepingcomputer.com/download/ads-spy/ GUI - просмотр/поиск/удаление
http://technet.microsoft.com/ru-ru/sysinternals/bb897440.aspx консоль - просмотр/поиск/удаление
Ещё утиль, в т.ч. с приблудами к ихплореру.
2
MihaniX
135 / 45 / 2
Регистрация: 06.08.2013
Сообщений: 292
Записей в блоге: 4
21.08.2013, 11:47 #14
Bash
1
2
3
4
C:\>type nul > C:\Windows\System32\cmd.exe:data
Отказано в доступе.
C:\>type nul > C:\Windows\System32\svchost.exe:data
Отказано в доступе.
Ооооу...
Причем я АД-министратор. Я слышал о таком пользователе SYSTEM. Может с его правами это возможно?

Добавлено через 8 минут
И еще одна фишка
Bash
1
C:\>type C:\:stream
0
Charles Kludge
Клюг
7641 / 3156 / 382
Регистрация: 03.05.2011
Сообщений: 8,382
21.08.2013, 11:48 #15
Цитата Сообщение от MihaniX Посмотреть сообщение
Причем я АД-министратор.
Правильно, cmd залочен, ибо запущен.
0
MihaniX
135 / 45 / 2
Регистрация: 06.08.2013
Сообщений: 292
Записей в блоге: 4
21.08.2013, 11:50 #16
Не понял. Я cmd запустил от имени админа. Ничего не понял.
0
Charles Kludge
Клюг
7641 / 3156 / 382
Регистрация: 03.05.2011
Сообщений: 8,382
21.08.2013, 11:57 #17
Емнип, любой загруженый в память исполняемый файл блокируется на запись, ADS тоже. Это сделано для того, чтобы при свопе приложения не писать исполняемый код в своп-файл, а просто дропать его и перечитывать при надобности из образа. Если бы запись была разрешена, то встроить туда вирь - плёвое дело.
0
MihaniX
135 / 45 / 2
Регистрация: 06.08.2013
Сообщений: 292
Записей в блоге: 4
21.08.2013, 12:02 #18
Цитата Сообщение от Charles Kludge Посмотреть сообщение
любой загруженый в память исполняемый файл блокируется на запись, ADS тоже
Там другую фразу cmd выдает. Типа что файл используется. А тут в доступе отказывают.
А то можно было бы еще до запуска системы (когда svchost еще не запустился) приписать к нему какой-то поток? Или я чего-то не понимаю?
0
Charles Kludge
Клюг
7641 / 3156 / 382
Регистрация: 03.05.2011
Сообщений: 8,382
21.08.2013, 12:12 #19
Цитата Сообщение от MihaniX Посмотреть сообщение
(когда svchost еще не запустился) приписать к нему какой-то поток?
Конечно. С другой системы, например с флешки или скопировать svchost, дописать к нему ADS, потом скопировать взад с помощью inuse и перегрузиться.
1
Dragokas
Эксперт WindowsАвтор FAQ
16969 / 7054 / 856
Регистрация: 25.12.2011
Сообщений: 10,862
Записей в блоге: 16
21.08.2013, 20:23 #20
Цитата Сообщение от MihaniX Посмотреть сообщение
Я слышал о таком пользователе SYSTEM.
не помогает. Запустить консоль с System можно так:
Bash
1
psexec -i -s cmd.exe
Все равно пишет "В доступе отказано", когда копируешь в альтернативные поток EXE, который находится в %windir%\system32

А если, например, в корне диска C, то даже при запущенном ЕХЕ нормально копирует в поток.
Интересно, что его так защищает.
1
21.08.2013, 20:23
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.08.2013, 20:23

Параллельное копирование файлов в два потока
Помогите разобраться с потоками, а конкретно с использованием backgroundworker...

Изменение альтернативного dns на удаленных компьютерах
Всем привет! Треба vbs-помощь. Поставлена задача - прописать альтернативный dns...

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


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru