Декомпилятор 1с не работает

Обновлено: 04.07.2024

Программы » 1С:Предприятие 1C - 1C: Вопросы по конфигурациям
Варезник » 1C:Предприятие 7.7 - 1С:Предприятие v.8.x - 1C Диск ИТС - 1С: Совместимо 8.х Топик 1C Ebooks
ЗДЕСЬ (обновлено 22.02.14 ) - небольшая библиотечка (книги, документация, видео, утилиты) по 1С, финансам, бухучету и т.п.
Все рассортировано по версиям. Для заблудившихся в трех соснах >>> FAQ по форуму RU.Board

Функция ПослатьКомандуСерверу(Сервер, АПИ_Ключ, Парам, POST_URL)

Ресурс = POST_URL + Парам;

ФайлЗапроса = ПолучитьИмяВременногоФайла();
ФайлРезультата = ПолучитьИмяВременногоФайла();

Возвращается ошибка 301, ответа НОЛЬ. С отладчика не буду флудить, но что то тут не правильно я делаю. Посмотрите плз зорким взглядом

Есть отчет на СКД, в котором есть 3 поля и один ресурс.
Изначальная настройка имеет такой вид:
Отчет
Групировка по полю 1
Группировка по полю 2.

При нажатии на поле ресурса появляется стандартное диалоговое окно расшифровки, где, среди прочего, можно выбрать вариант "Расшифровать по полю 3".

Очень хочется сделать так, чтобы вместо диалогового окна с его выборами типа действия и поля, сразу после нажатия на поле выскакивал результат расшифровки по полю 3.

Смотрю в сторону настройки макета. Создал макет группировки для Группировки по полю 2.
Указал для ячейки, в которой выводится ресурс, Параметр Расшифровки.
В окне настройки Параметра расшифровки из Параметров макета указал Основное действие "Расшифровать".
Но вот дальше тупик. Если в окне настройки Параметра расшифровки я указываю Имя поля "Поле3" и Выражение "Поле3", то при попытки сформировать отчет получаю ошибку "Поле3 не может быть использовано в группировке Поле2".
Если эти поля не заполнять, или заполнить значением "Поле2" то при попытке вызвать расшифровку все равно появляется диалоговое окно, в котором нужно выбирать поле для расшифровки.
Подскажите, в чем неправ?

(1) 1_C, Для защиты обработки обычно достаточно запоролить модуль объекта. Большинство пользователей не знают о декомпиляторе. Если хотите совсем-совсем защиту - юзайте Нетленку 1С.




(3) A.Sytchev, Значит первое - "СПАМ" это не я.
Второе - эти коды будут эквивалентны? Там много переписано и добавлено. Вдруг навернется парсер кодера, ведь не найдешь. (12) ture, а 100%-ных гарантий нет и не будет. Смысл любой обфускации - сделать разбор кода невыносимо мучительным и длительным по времени. Можно и обработку написать для приведения в нормальный вид, но это тоже большая трата времени. (1) 1_C, можно, например, в готовом байт-коде искать опкод 40 (переход по ЛОЖЬ) инвертировать условие и ставить опкод 41 (переход по ИСТИНА), которому в языке 1С не соответствует ни одной конструкции, так что декомпиляция "в лоб" тут сдохнет.
Но на самом деле всё проще: те декомпиляторы, что я видел, кривовато написаны, поэтому многие вещи не декодят и без всякой обфускации. Кто-то выдаёт бред, столкнувшись с вложенными конструкциями Попытка-Исключение, кому-то достаточно скормить Если, написанное в одну строчку - используйте это и ставьте пароль на модуль и никто (ну, кроме меня) не сможет нормально декомпилировать вашу обработку.

(7) Интересно, что как раз именно сегодня я впервые за три или четыре года воспользовался декомлятором, который у меня валяется с чёрт знает с каких времён 8.1.
И таки да, отчет для 8.3. вскрыл довольно корректно.

Зы. Вскрывал свой же отчёт. Забыл на него пароль.

(9) Поручик, да, открыв в конфигураторе этот декомпилятор, я задумалась - а как он пашет, код в модуле объекта закрыт, сам себя не компилирует естественно. И подумала, как защитить свои же обработки этим способом. (9) Поручик, значит у вас там простой модуль. Киньте мне ваш декомпилятор и я напишу ему коротенький фрагмент, который вывихнет ему мозг. Не потому, что фрагмент будет реально мозговзрывающим, а потому, что мозги у этих прог слабоваты. (17) Поручик, как-то влом тратить время и деньги на поиск и скачку ради демонстрации того, что я и так знаю. (18) vasyak319, молодец. Возьмите с полки пирожок)))
Да разве кто-то сомневается в этом? Такие проги пишутся как раз исходя из конкретного обфусцированного кода, а не наоборот.

Ды ну? Т.е. декомпилятор называется как-нибудь вроде "Декомпилятор обработки МояОбработка.epf"? Кроме того, кто говорил об обфускации? Я говорил о совершенно нормальном коде, который, тем не менее, уложит декомпилятор.

(21) vasyak319, я не об этом. Я о том, что сначала изучается прием обфусцирования, а потом пишется способ "расфусцирования".
А можете просто привести несколько вариантов "совершенно нормального кода"? А участники попробуют его обработать своими обработками.

(23) PetroP, последний раз я глубоко занимался этим несколько лет назад, поэтому с первой попытки вряд ли выдам, потому и просил обработку - для экспериментов.

Но можете попробовать вот это:

Во втором куске "Если" скорее всего необязательно в одну строчку писать - и так бред выдаст.

(20) 1_C, попробовать не вышло. Говорит:

: Ошибка при вызове метода контекста (УдалитьФайлы)
по причине:
Ошибка удаления файлов
по причине:
Ошибка доступа к файлу 'C:\Users\korovin\AppData\Local\Temp\Cv8cf.dll'

при втором запуске:

: Ошибка при вызове метода контекста (Записать)
по причине:
Ошибка совместного доступа к файлу 'C:\Users\korovin\AppData\Local\Temp\Cv8cf.dll'

и так далее по кругу.

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

Наверняка каждый разработчик заботится о том, чтобы его программы были защищены от нелегального распространения. Особенно если эта разработка – коммерческий, тиражируемый продукт.

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

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

Установка защиты на модуль 1C

установка пароля на модуль

Программа меня тут же предупредила о том, что нельзя защитить модуль, имеющий директивы препроцессора:

вопрос

Если вы только начинаете программировать в 1С или просто хотите систематизировать свои знания - попробуйте Школу программирования 1С нашего друга Владимира Милькина. Пошаговые и понятные уроки даже для новичка с поддержкой учителя.
Попробуйте бесплатно по ссылке >>

Что же, посмотрим, во что это выльется. Устанавливаем пароль.


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

Вывод однозначный: не все модули можно защитить. Однако ничего Вам не мешает вынести функции и процедуры с директивами препроцессора в отдельный модуль.

Осталось проверить обработки. Возьмем для интереса внешнюю. Защита прошла без проблем.

Проверка надежности защиты с помощью декомилятора модулей 1С


выполнение обработки

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

На форумах пишут, что иногда нужно запускать 1С от имени администратора, если выходит ошибка.

Теперь осталось проверить, как декомпилятор справится с общими модулями. Сохраняем конфигурацию в файл.

Выбираем в обработке:

выбор конфигурации для декомпилирования


Загружаем конфигурацию из файла и проверяем защиту. Защита полностью снята.

Данный материал предоставлен только в ознакомительных целях с целью обзора механизма защиты платформы 1С. Запрещено использовать данный материал для получения доступа к защищенным авторским правом разработкам.

Читайте также: