LINUX.ORG.RU

Си, skype

 ,


0

2

Доброго!

Есть простая программа на Си: проверка пароля, если правильно, запустить скайп с заданным логином-паролем.

Как в программу на Си вставить такой shell-код:

echo login password | skype --pipelogin --secondary &

Смысл в том, чтобы не держать в скрипте пароль в открытом виде.


man pipe, fork, exec*, wait, sigaction.

anonymous ()

Он у тебя в бинарнике все равно виден будет.

Можешь обфускацию на баше написать.

anonymous ()
Ответ на: комментарий от anonymous

Я так понял он его в рантайме получает fgets'ом и хочет пульнуть по пайпу в скайп.ехе, чтобы argv не светился в ps. Хотя формулировка у него та еще, да.

anonymous ()

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

anonymous ()
FILE *skype=popen("skype --pipelogin --secondary", "w");
fprintf(skype, "%s %s", login, password);
pclose(skype);
Pythagoras ★★ ()

shell код
C

За такое убивать надо, медленно. Как и за вставку паролей в бинарик.

cherry-pick ()
Ответ на: комментарий от anonymous

rot13

Шифрование уровня lor. Если ОПу пароль защитить надо - пусть у пользователя спрашивает - в остальных случаях пароль должен где-то быть записан всеравно.

cherry-pick ()
Ответ на: комментарий от tensai_cirno

Чтобы strings-ом нельзя было ничего прочитать, владельцем бинарника должен быть другой специальный пользователь, и права на бинарник должны быть такими, чтобы его нельзя было читать и писать в него, а можно было только запускать на выполнение. И надо еще выставить там suid бит, чтобы запущеный процесс нельзя было обычным пользователем через отладчик изучить и вытащить пароль, и чтобы скайп тоже от этого пользователя запускался(и из процесса скайпа тоже нельзя было отладчиком выдрать пароль)

Но в скайпе вполне могут быть дыры какие-нибудь

SZT ★★★★★ ()

Пароль даже в бинарнике хранить не надо. Но можно проверять не сам пароль, а его хэш. И тогда никакая сишка не нужно, можно написать на баше.

Psych218 ★★★★★ ()

А если написать простую программу на Си так, чтобы она выводила логин и пароль, если мастер-пароль правильный, а потом сделать

./program | skype --pipelogin --secondary & 

alix ★★★★ ()

Предлагаю записывать в TPM девайсе, при этом со связанным регистром в котором лежит хеш выполняющей программы.

qnikst ★★★★★ ()
Ответ на: комментарий от anonymous

KeePassX

А ему можно доверять?

По сабжу:

cat my_skype_account.txt | skype --pipelogin --secondary &
- и никому прав на чтение my_skype_account.txt кроме себя не даёшь.. А если ты себе не можешь доверять, то, наверное, и скайпом в таких условиях лучше не пользоваться.

anonymous ()

Есть простая программа на Си: проверка пароля, если правильно, запустить скайп с заданным логином-паролем.

Не представляю, зачем это нужно, но храни тогда мд5 хэш пароля.

nikolnik ★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.