Как программно получить список выбора пользователя базы 1С, куда нет доступа? #725561


#0 by TormozIT
Есть произвольная база 1С. У меня нет информации о ее пользователях и соответственно учетной записи для подключения к ней. Требуется программно получить ее список пользователей. Само клиентское приложение это умеет делать. Значит программно это можно сделать. Теперь осталось понять как.
#1 by Wobland
наверное, ты имеешь в виду только тех, у кого есть галка про показывать в списке
#2 by TormozIT
Хотя бы их. Но возможно есть способ и всех получить.
#3 by Сниф
Первое, что пришло в голову - глянуть в таблицы SQL, нет ли среди них такой с юзерами.
#4 by TormozIT
SQL - лишь один из возможных типов СУБД. Нужно универсальное решение.
#5 by Сниф
для начала глянуть SQL и Если такая таблица есть, То думать как выцепить ее из файловой версии.
#6 by herfis
+1
#7 by Otkr
Ага, пользователь в 1С не известен, зато полный доступ к скулю?
#8 by herfis
Такое бывает. Подозреваю, ТС ваяет какую-то хитрую утилиту.
#9 by TormozIT
Доступа к скулю естественно нет. Нужно получить фичу при минимальном доступе.
#10 by TormozIT
Я не утилиту ваяю, а прорубаю окно в том числе для утилит )
#11 by Ник080808
через менеджер ком соединений получить можно список рабочих сеансов и оттуда выдрать но только рабочих. а так, штатно нельзя
#12 by tridog
Это только зная логин и пароль на кластер
#13 by Ник080808
или если он установлен)
#14 by Сниф
так и сказал бы - пишу вирус для 1С. а то окно для утилит он прорубает.
#15 by TormozIT
Ну где же спецы по внутренностям?
#16 by FIXXXL
получает то при запуске весь список Можно же зайти под скрытым пользователем, напечатав имя руками Может где в темповых файлах есть список?
#17 by TormozIT
Про временные файлы было бы слишком легко. Я искал, но не нашел. Если они там и есть, то закодированы. Но здравый смысл подсказывает, что не зачем их во временный файл помещать.
#18 by TormozIT
Нужно из памяти процесса достать это список. Кто поможет?
#19 by Torquader
Ну а в чём проблема ? Запускаешь 1С на невидимом декстопе. Подключаешься к нему и из ComboBox-а читаешь список строк. Подозреваю, что придётся dll в адресное пространство 1С внедрить или запустить exe-файл в режиме отладки.
#20 by Torquader
Далее, подозреваю, что и ссылку на подключение к Sql можно "перехватить", чтобы один запросик к пользователям сделать.
#21 by GreyK
Ужас, так какую версию 1С здесь так плотно обсуждают?
#22 by FIXXXL
а где теоритически может лежать список выбора пользователей, который выпадающий список?
#23 by hhhh
вообще-то последний пользователь запоминается. В кэше. Когда кэш чистим, выходит окошко без пользователя.
#24 by TormozIT
Ну последний то да =) Я же про список писал.
#25 by hhhh
ну одного хотя бы достал?
#26 by TormozIT
Ради одного имени кодить поиск для всех версий платформы ломает.
#27 by PaulBC
Список пользователей хранится в базе данных, в таблице v8users.
#28 by Escander
дайте доступ к тому, к чему нет доступа... решение должно быть универсальным... Это фантастика. Если база файловая можно её тупо прочитать, а вот если нет доступа к базоводу - тут только если этот доступ украсть или если воспользоваться  какими-то не закрытыми дырами - но это не универсально
#29 by TormozIT
Никакой фантастики. В описан в общем виде путь решения. Осталось дождаться того, кто уже ходил теми дорожками.
#30 by FarFar
@vde делал подобное дл 7.7
#31 by ice777
Был у нас один принципиальный противник 1С, правда и программист он был так себе, ваял по 2-3 утилитки для считывания данных с датчиков на производственной линии (а что там ваять было- если исходники с датчиками шли). Потом запросил прямой доступ к базе 1С (к серверу). Слушали. Постановили- ввиду низкой квалификации в выдаче пароля на БД- отказать. Хез что он кривыми руками там натворит. И правильно.
#32 by User_Agronom
Не. Темповые можно удалить и список все равно получается. Запрос к таблице в привилегированном режиме при старте. Не?
#33 by Обработка
По ОЛЕ стучись к базе...
#34 by an-korot
хакеры вы недоделанные, автор ты прикалываешься или действительно такой глупый? таких тем в инете как зайти в базу забыли пароль и ющку  тыщи, если не больше. не знаю как щас во времена 8.1 100% можно было как и  в 7.7  получить список пользователей и паролей подменой файла. кстати а где пятница?
#35 by TormozIT
Я не хакер. В данном случае я не прикалываюсь. Ломать базу мне не надо. Пароли мне не нужны. Нужны только имена пользователей.
#36 by pessok
не сочтите за рекламу, но я бы посмотрел в сторону Снегопата. Ну или на худой конец обратился к
#37 by TormozIT
Orefkov че то пропал куда то. Снегопат у меня есть.
#38 by МишельЛагранж
>>Ну где же спецы по внутренностям? - где такие есть? >>Я не хакер. В данном случае я не прикалываюсь. Ломать базу мне не надо. Пароли мне не нужны >>делал подобное дл 7.7 - вот причем тут хакет-не хакер? Причем тут 7.7? В 1С8 используются хэши для паролей. Для пользователей - таблица SQL. Получай доступ к таблице - найдешь список пользюков. А вот войти не зная пароля не получится - минимум, должен знать хэш. И то тлько хитрым способом войдешь.
#39 by МишельЛагранж
и причем тут Орефков, который со входами в стандартные длл-ки майкрософта и файлами ресурсов 1С работает?
#40 by МишельЛагранж
>>не знаю как щас во времена 8.1 100% можно было как и  в 7.7  получить список пользователей и паролей подменой файла. - давно ли в 8.х пользюки отдельным файлом лежат?
#41 by МишельЛагранж
>>По ОЛЕ стучись к базе... - да хоть сто лет стучись - 1CD по OLE не работает и не работал, а SQL - к нему доступ без всякого ОЛЕ организуется.
#42 by Господин ПЖ
сниферить... в клюшках явки/пароли передавались в открытом виде, снеговик вроде не особо дальше ушел
#43 by МишельЛагранж
>>Нужно из памяти процесса достать это список. Кто поможет? а что, уже кто-то 1С-процесс rphost'а дизассемблировал? Вот уж не думал, что ТАКИЕ 1сники будут ТАКИЕ вопросы ставить...
#44 by МишельЛагранж
>>в клюшках явки/пароли передавались в открытом виде, снеговик вроде не особо дальше ушел - вы давно интересовались, как пользюки и пароли хранятся в 1С8? ))
#45 by Mt111
дело говорит 1) преименовываешь файл Usrdefusers.usr в users1.usr 2) заходишь в конфигуратор без пароля 3) преименовываешь файл Usrdefusers1.usr в users.usr 4) открываешь список пользователей и делаешь с ними что хош P.S. в 7.7 работает на ура
#46 by Господин ПЖ
как они хранятся - пофих... главное -как и в каком виде они передаются
#47 by МишельЛагранж
>>Первое, что пришло в голову - глянуть в таблицы SQL, нет ли среди них такой с юзерами. - есть, и в 27 сказали, какая. В 1CD то же самое, только нужен чтец 1CD (там модель DBF). >>как и в каком виде они передаются - примерно как пароли Windows - в зашифрованном. В хэше.
#48 by МишельЛагранж
>>P.S. в 7.7 работает на ура - к Windows админситратору тоже подойдет способ?
#49 by orefkov
Сейчас пользователи хранятся в таблице v8users. Если надо вытащить список, не запуская 1С - надо реализовывать чтение этой таблицы для разных форматов баз - файловая, ms-sql, postgress и т.д. Если делать универсально, через сам движок 1С - надо извращаться, чтобы в него попасть и вызвать пару методов. Могу попробовать в снегопате реализовать, подключение к другой базе и вытаскивание списка юзеров.
#50 by Господин ПЖ
>- примерно как пароли Windows - в зашифрованном. В хэше. у меня из какой-то статьи отложилось что получить и разобрать сие хозяйство - "ху есть кто" не особо сложно из того что падает на сервер из клиента
#51 by orefkov
+ Мой сосед по кабинету, DmitrO, делал частный случай, для mssql, еще для прошлых версий 1С, когда список хранился не отдельной табличкой, а бинарным файлом в виде записи в таблице. Вытаскивал и парсил.
#52 by МишельЛагранж
>>Могу попробовать в снегопате реализовать, подключение к другой базе и вытаскивание списка юзеров. - и?? Что мешает список вытащить из самой 1С? А если мешает (нет дотспуа, паролей, etc - значит, что и как вам делать в той базе? ))
#53 by Mt111
как я понял физический доступ к базе есть, причем здесь винда? для винды прога reset windows password
#54 by orefkov
Не тупи, а? Список пользователей - не секретная информация, и виден при запуске 1С любому пользователю еще до авторизации в базе. Вопрос, как получить его программно.
#55 by Escander
пользователей у которых указано "не показывать в списке выбора" - не увидишь
#56 by МишельЛагранж
>>у меня из какой-то статьи отложилось что получить и разобрать сие хозяйство - 1с пароль невозможно подобрать/расшифровать современными мощностями.
#57 by МишельЛагранж
не тупи, а? Программно в 1с получается прекрасный список пользователей. А если ты не имеешь доступа к базу 1С - как будешь работать с ней? Зачем тебе туда доступ?
#58 by МишельЛагранж
>>как я понял физический доступ к базе есть - неправильно поняли. Если есть доступ к базе - список пользюков получить вообще не проблема.
#59 by МишельЛагранж
да, если не знаешь - организуешь COM-соединение и получаешь справочник пользователей. Это если нужно заранее "до входа" получить список из якобы" полностью доступной базы 1С", в чем я сильно сомневаюсь ))
#60 by Господин ПЖ
>- 1с пароль невозможно подобрать/расшифровать современными мощностями. зачем его расшифровывать, если в строке уже все есть чтобы зайти в базу? а отделить это юзер/это хеш пароля - там было можно
#61 by МишельЛагранж
да никто и не споит, что можно. Но - внутри 1С. А не снаружи.
#62 by МишельЛагранж
Снаружи вломиться в 1С у тебя не получится.
#63 by orefkov
Чтобы получить средствами 1С - надо зайти в базу, то есть иметь соответствующие права доступа к этой базе. Между тем, "глазками", "ручками" - можно видеть список пользователей, не заходя в базу, и не имея никаких прав доступа к ней - достаточно просто запустить базу и список будет показан еще до аворизации. Получается, что список пользователей не является секретной информацией, и этического вопроса "значит, что и как вам делать в той базе" - возникать не должно. Вот человек и ищет способ - получить список пользователей базы 1С не заходя в нее, но только программно.
#64 by TormozIT
Еще тут конечно спросил и пожелал такую возможность от производителя. Цели - интеграционные прикладные решения.
#65 by TormozIT
orefkov, как я понял способ только снегопатовский здесь подойдет. Нужно консольное приложение, которое 1. запустит невидимый 1cv8.exe с параметрами подключения к базе (без аутентификации) 2. отловит список после появления диалога аутентификации 3. завершит невидимый процесс 4. выведет список юзеров в stdout
#66 by herfis
Тогда проблема. Если данные хранятся в сиквеле, то как получить эти данные без прав на сиквел? Сервер приложений эти права имеет, поэтому и может показать список пользователей. Единственный способ, получается - это убедить сервер приложений выдать эти данные. Штатно без авторизации это сделать нельзя. Получается, что единственный вариант - "нечестный": впытаться притвориться твоей проге, что она является клиентом 1С, пытающимся авторизоваться.
#67 by Господин ПЖ
в 1с много мест где ручками можно, а программно нет
#68 by herfis
+ Когда писал, еще не видел . Да, именно так. Так даже проще и надежнее.
#69 by foreach
XVI32
#70 by МишельЛагранж
навел бы лучше на какие-нить другие интересные обсуждения на парнерке ))
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С