Как обойти лицензию 1с
Перейти к содержимому

Как обойти лицензию 1с

Как взломать 1С или работать без ключа 1С?

Можно ли как-то установить 1С дома и научиться работать в 1С без лицензии или 1С без ключа не работает и взломать 1С невозможно? Может есть домашняя пробная версия как например Пробная версия Касперского?

Сломать, конечно, можно. Существуют маленькие программки, которые ломают ключ к платформе. Однако, пользуясь такими программами, не забывайте, что вы нарушаете авторские права. В принципе, конфигурации 1С на сегодняшний день не посылают через интернет никакой информации о своем состоянии, поэтому многие пользуются взломом. Да, вам сначала нужна платформа, а потом и конфигурация.

Вам же, чтобы научиться, лучше воспользоваться демо-версией. Например, 1С Бухгалтерия 3.0 есть здесь

Если вам нужна другая конфигурация — тоже можно поискать. Если она существует на управляемых формах, то в онлайне скорее всего есть демка. Если же на управляемых формах такой конфигурации нет, то сложнее. УПП, например, в онлайне нет, а купить — недешево.

Шесть способов залезть в 1С

Для тех, кто в танке, небольшая справка: 1С:Предприятие
— это система для разработки баз данных.
Главный упор делается на бухгалтерию,
торговлю и прочие коммерческие штучки, хотя,
при наличии сумасшедшего заказчика, в этой
системе можно написать практически все, что
угодно, начиная от системы учета домашних
финансов, до поддержки почти любого
производства. Ну, это неважно. Важно то, что
иногда до этих данных доступ бывает просто
необходим, а пароль такая штука, что всем
подряд почему-то не дается :-(…

Начнем с первого способа (самый простой)

Любой маломальский программист в 1С знает,
что все данные для пользователя хранятся в
файле "\Путь-для-конфигурации\usrdef\users.usr".
Поэтому самый простой способ забраться в
данные — это просто прибить этот файл и
заходить совершенно свободно. Но! Если
конфигурацию оформлял аккуратный
программист, то он сделает совершенно
простую вещь — установит в конфигурации
интерфейс с нулевыми правами и такой способ
отпадет сам собой. Хотя, я такое на
сторонних конфигурациях встречал очень
редко.

Способ номер два (для продвинутых)

Основан на том же самом файле "\Путь-для-конфигурации\usrdef\users.usr".
Только в этом случае мы его прибивать не
будем, а подменим. В большинстве типовых
конфигураций есть начальный набор прав
называемый стандартными терминами. Для "1С:Торговля
и Склад" это будет "Интерфейс_Администратора",
"Интерфейс_Продавца" и так далее.
Залазим в файл "users.usr" простым HEX
редактором и в конце видим такие строчки:

"всякая чушь" Вася "чушь" .\Vasya
"чушь" Интерфейс_Администратора "чушь"
Администратор

— Вася — имя пользователя;
— .\Vasya — путь к каталогу пользователя, если
начинается с точки, то путь высчитывается
относительно корневого каталога базы. Или
же просто пишется "C:\SUPERTRADE\1C\Vasya";
— Интерфейс_Администратора — название
интерфейса с описанием меню и внешнего вида;
— Администратор — название блока прав.

Если руки растут откуда нужно с помощью
того же самого HEX редактора можно для любого
пользователя присвоить администраторские
права и заходить совершенно свободно. Если
же живем по принципу "не хочу, ибо мне в
лом", тогда дома берешь аналогичную
конфигурацию, подготавливаешь в ней полный
набор прав и называешь его Администратор —
приносишь, подменяешь и сидишь спокойно.
Разумеется, если названия интерфейсов
писались новые — то нужно знать название
необходимого набора прав.

Способ третий (для извращенцев)

Сам я этот способ использовал только пару
раз, когда база полностью рушилась. В
принципе, этим методом пользовались еще
несколько моих знакомых программистов, так
что он вполне реален. Дело в том, что в
каталоге конфигурации (в случае DBF-ной базы,
не SQL) хранится несколько типов файлов.

*.CFG — он нам особо не нужен, ничего важного
там нет;
1Cv7.DD — файл словаря, он нам тоже пригодится;
1Cv7.MD — файл с метаданными, всякие там макросы
и формы документов-отчетов-журналов, планы
счетов, интерфейсы и прочее.
*.CDX — индексированные файлы, нам они по
барабану, можно их покилять, чтоб вид не
портили.
И, наконец-то(!) *.DBF — собственно файлы с
данными. Вот их-то и надо разбирать.

Предупрежу сразу — эта статья писалась как
общеобразовательная, поэтому никаких
глубинных технических деталей я давать не
буду. Скажу только, что ковырять самому *.DBF-файлы
— дело нудное и неблагодарное. В Интернете
есть и DBF-вьюверы и даже программы, которые
разбирают файл словаря от 1С и потом
связывают с DBF-ками. Все это можно найти,
было бы желание, но этот способ слишком уж
экзотичен.

Способ четвертый (для крутых)

Вот этот способ для настоящих взломщиков!
Шутка, хотя и со смыслом, объясню почему. Как-то
я решил запустить ArtMoney, и сдуру возьми и
просканируй запущенную 1С на предмет пароля.
Честно скажу, я был неприятно удивлен, когда
мне выдался адрес с моим паролем и без
всякого шифрования. Когда я отошел от шока
и быстренько запустил SoftIce — увидел, что
какие бы конфигурации я не запускал —
результат остается прежним, естественно
менялся адрес, но это классика. Взлом
модулей 1С я сразу отмел по лени, а вот идея
написать свою программку меня
заинтересовала. И получилось два алгоритма:

а. Начать сканировать блоки память
запущенной 1С (разумеется, сначала ее надо
найти в памяти и т.д. и т.п.);
б. Найти в памяти подстроку "LockWaitTime",
запомнить адрес найденной подстроки в
переменную addr;
в. Если addr-7 содержит строку 00 00 00 40 00 00 00 (в HEX
форме, разумеется), то сканируем память до
начала блока памяти в обратном порядке до
следующей строки 00 00 00 40 00 00 00, то, что будет
между ними и есть пароль.

Этот вариант более универсален, не требует
дополнительных расчетов и вполне подходит
для трояна, но выдает от нефиг делать штук 20
паролей.

а. Начать сканировать память запущенной 1С;
б. Найти полный путь к каталогу
пользователя в памяти программы;
в. Стартуя в обратном порядке от начала
найденного пути, находим 00;
г. После этого считываем в обратном порядке
символы до следующего 00 в переменную pass;
д. Отступаем 8 назад и смотрим
последовательность: xx 00 00 00 40 00 00 00, где xx —
количество букв в пароле.
е. Если xx равно длине pass — то это и есть
вероятный пароль.

А этот вариант гораздо более надежен,
выдает всего 2-3 возможных пароля, но
требуется знать путь к каталогу
пользователя, под именем которого запущена
1С.

Четвертый способ все-таки больше подходит
при отсутствии прямого доступа к файлам 1С,
скажем, при написании трояна. Я проверял под
Windows 98, версии 1С:Предприятие 7.7 17 релиза.

Способ пятый (для математиков)

Сам пароль в шифрованном виде храниться
тоже в файле "\Путь-для-конфигурации\usrdef\users.usr",
его можно попробовать сломать брутфорсом.
Алгоритм хэширования паролей — MD5, так что на
перебор, по идее, может уйти довольно много
времени.

Способ шестой (для любителей Microsoft Office):

Дело в том, что из Microsoft Office (ау, вирусы!)
можно смело влезть напрямую в данные 1С.
Самое забавное то, что права пользователя
тут роли не играют, можно просто на языке VBA
в Excel поступить следующим образом:

а. Создать объект 1С в зависимости от
текущей версии:
V1CEnterprise.Application — версия независимый ключ;
V77.Application — версия зависимый ключ;
V77S.Application — версия зависимый ключ, SQL версия;
V77L.Application — версия зависимый ключ, локальная
версия;
V77M.Application — версия зависимый ключ, сетевая
версия.

б. Применимо к этому объекту можно
полностью управлять структурой документов
и справочников в 1С, хоть скачивать, хоть
закачивать данные.

Способ шестой (для вирмакеров)

Этот способ мне подсказали вирусы парня
по имени BKNY0NNX. Эти вирусы писались
исключительно для 1С:Предприятия и заражали
внешние отчеты. Так вот, если написать некий
внешний отчет, который будет сливать данные
в отдельный файл, а потом подпихнуть его на
место существующего внешнего отчета (можно
даже с сохранением всех старых функций), то
товарисч бухгалтер сам будет запускать
процедуру слития данных, запуская "зараженный"
отчет. А если учесть, что 1С позволяет
отправлять данные по электронной почте — то
можно данные получать регулярно по e-mail и
даже не заходить больше в эту контору.

Одним словом, если кому-то понадобятся
данные с вашей 1С — то этот кто-то сможет без
проблем вытащить все, что ему пожелается.
Кстати, тут я рассматривал проблемы
безопасности только 1С:Предприятия, но дело
в том, что встроенный язык 1С позволяет
операции с файлами, то есть, если захватить
тотальный контроль над самой программой —
можно, в принципе, получить доступ и к
остальным файлам на компьютере и даже в
локалке, поэтому, господа хакеры, этот
способ очень перспективный…

Шпаргалка — Как активировать лицензии 1С при помощи утилиты Ring

Идея этого поста — шпаргалка на будущее, но я буду рад, если кому-то пригодится приведенная информация.

Если Вы читаете это, значит примерно представляете, что такое Ring. В этом посте речь только об активации лицензий. Позднее здесь я представлю ссылки на следующие шпаргалки по работе с ring-ом.

Когда эта утилита может пригодиться? Мне в основном пригождалась для активации лицензий на Linux-ах, где нет графической оболочки и конфигуратор не запустить, однако, примеры скриптов будут использовать абсолютные пути в Windows, чтобы информация воспринималась лучше.

Стоит отметить, что в этом примере лицензии привязываются к параметрам машины!

Шаг 1: Формирование запроса на лицензию. Команда prepare-request

first-name ‑ имя владельца лицензии. При указания параметра company, данный параметр является необязательным.

middle-name ‑ отчество владельца лицензии. При указания параметра company, данный параметр является необязательным.

last-name ‑ фамилия владельца лицензии. При указания параметра company, данный параметр является необязательным.

email ‑ электронная почта владельца лицензии.

company ‑ организация владельца лицензии. При указании параметров first-name, middle-name, last-name, данный параметр является необязательным. Требуется не менее 5 символов, при этом не должно быть более 3 одинаковых символов подряд.

country ‑ страна регистрации. Не может быть пустым.

zip-code ‑ индекс. Не может быть пустым.

town ‑ город. Не может быть пустым.

street ‑ улица. Не может быть пустым.

house ‑ номер дома. При указании параметров building или apartment, данный параметр является необязательным. Не может быть пустым.

building ‑ строение. При указании параметров house или apartment, данный параметр является необязательным. Не может быть пустым.

apartment ‑ квартира. При указании параметров house или building, данный параметр является необязательным. Не может быть пустым.

serial ‑ серийный номер программного продукта.

pin ‑ пинкод, используемый при активации лицензии.

previous-pin ‑ при повторной активации лицензии в данном параметре указывается пинкод, который использовался при первичной активации лицензии. Не должен совпадать со значением параметра pin.

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

validate ‑ если указан, то выполнение команды будет завершено с ошибкой, если при попытке получения какого-либо из ключевых параметров возникла ошибка времени исполнения. В случае если параметр не указан, возникновение ошибки при получении какого-либо ключевого параметра не будет препятствовать успешной активации лицензии. Однако, поля лицензии, соответствующие неполученным параметрам, будут заполнены пустыми значениями, что приведет к невозможности дальнейшего использования активированной лицензии.

Шаг 2: Получение ответа от центра лицензирования. Команда acquire

request ‑ полное имя к файлу с запросом к центру лицензирования. Если параметр не указан, то содержимое файла запроса ожидается со стандартного потока ввода.

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

Шаг 3: Сборка файла лицензии. Команда generate

license ‑ полное имя к файлу с получившейся лицензией. Если параметр не указан, то содержимое файла активированной лицензии выводится в стандартный поток вывода.

request ‑ полное имя к файлу с запросом к центру лицензирования.

response ‑ полное имя файла, в которое будет помещен ответ центра лицензирования.

В результате у нас появится файл с активированной лицензией.

Шаг 4: Поместить лицензию в хранилище 1С. Команда put

license ‑ полный путь к файлу активированной лицензии, который будет помещен в хранилище лицензий.

Шаг 5: Вывести содержимое хранилища лицензий. Команда list

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *