как ломануть 1C 8.3 for Linux - Страница 93
X

Привет дорогой друг

Наш сайт существует и развиваетется за счет рекламы. Пожалуйста, отключите блокировку рекламы AdBlock или подобное, для нашего сайта. Спасибо!
Страница 93 из 128 ПерваяПервая ... 838889909192939495969798103 ... ПоследняяПоследняя
Показано с 921 по 930 из 1273
  1. #921
    Пришел за помощью

    Регистрация
    24.06.2011
    Сообщений
    20
    Сказал(а) спасибо
    80
    Поблагодарили 29 раз(а) в 13 сообщениях

    По умолчанию Re: как ломануть 1C 8.3 for Linux

    Цитата Сообщение от nastrip Посмотреть сообщение
    Умерло все, выложите еще раз, заранее спасибо
    https://dropmefiles.com/wYVYB

  2. #922
    Спец PRO
    Аватар для HPDX2300
    Регистрация
    18.04.2018
    Адрес
    HP-Compaq DX2300 microtower PC
    Сообщений
    249
    Сказал(а) спасибо
    69
    Поблагодарили 1811 раз(а) в 395 сообщениях

    По умолчанию Re: как ломануть 1C 8.3 for Linux

    Цитата Сообщение от holmes Посмотреть сообщение
    Изделие также прекрасно падает если hasplm поднимается на Linux, а на сратых виндах если поднять hasplm, тоды не падает.
    Может я чего не догоняю?
    Есть подозрение, что hasplm для Linux оч.старый и не все функции реализованы - изделие обнаруживает неправильный ответ и делает себе сепуку.
    Вчера дебажил HASP-API при обмене с виндовым hasplm+multikey, обнаружил отсутствие в унипатче реализации сервиса 68h, там делов-то на пару часиков и унипатч начнет правильно эмулировать сетевой HASP-API (он и щас его эмулирует ,но в диалоге "About" не отображается число спартанцев сетевого ключа - за это в сетевом HASP-API отвечает сервис 68h).
    По ходу дела возникает идейка - внедрить унипатч в hasplm для Linux-x64, это гораздо проще, чем допиливать эмулятор VHCI_HCD.
    Прям щас копаю в направлении "заменить в линуксовом HASP-API функции работы с локальным USB-ключём на чтение из дампа ключа"
    Последний раз редактировалось HPDX2300; 07.07.2022 в 21:06.
    "кинжал хорош для того, у кого он есть, и плохо тому у кого он не окажется в нужное время"

  3. 6 пользователя(ей) сказали cпасибо:

    BabyChild (07.07.2022), localhost2005 (11.07.2022), Pependos (07.07.2022), redhat2020 (07.07.2022), Serg2008t (10.07.2022), vovashulga (07.07.2022)

  4. #923
    Пришел за помощью

    Регистрация
    07.05.2022
    Сообщений
    25
    Сказал(а) спасибо
    3
    Поблагодарили 16 раз(а) в 8 сообщениях

    По умолчанию Re: как ломануть 1C 8.3 for Linux

    Надеюсь хорошее изделие сделаешь из hasplm

  5. #924
    Спец PRO
    Аватар для HPDX2300
    Регистрация
    18.04.2018
    Адрес
    HP-Compaq DX2300 microtower PC
    Сообщений
    249
    Сказал(а) спасибо
    69
    Поблагодарили 1811 раз(а) в 395 сообщениях

    По умолчанию Re: как ломануть 1C 8.3 for Linux

    Небольшое наблюдение за изделием в IDA-7.7:
    сборка 8.3.8-2137-linux-x64 когда общается с эмулем VHCI_HCD падает через 120сек из-за "нарушение защиты памяти при чтении по адресу 0000000000000000".
    На одной из функций, назовем её wrp_HASPAPI64_L3, поставлена BP, которая не останавливает дебагер, а только выполняет небольшой IDC-скрипт (в поле Condition):
    Код:
    Exec ("date +%s.%N > /tmp/mytime.tim");
    auto h = fopen("/tmp/mytime.tim", "r");
    auto time = readstr(h);
    fclose(h);
    msg("time=%s  event:call wrp_HASPAPI64_L3; arg SvcID=%d; event_tid=%d\n", time, edi, get_event_tid());
    Оно выводит системное время в формате "секунды.наносекунды", затем "HASP4 ServiceID" (в рег. edi) и номер потока выполнения.
    На закладке "Выхлоп" ("Output") читаем:
    Код:
    7FBAA8591711: thread has started (tid=4465) 1cv8
    time=1657393695.130697342
      event:call wrp_HASPAPI64_L3; arg SvcID=1; event_tid=4456
    time=1657393695.150832721
      event:call wrp_HASPAPI64_L3; arg SvcID=5; event_tid=4456
    time=1657393695.166035010
      event:call wrp_HASPAPI64_L3; arg SvcID=50; event_tid=4456
    time=1657393695.177592245
      event:call wrp_HASPAPI64_L3; arg SvcID=50; event_tid=4456
    time=1657393695.188610014
      event:call wrp_HASPAPI64_L3; arg SvcID=6; event_tid=4456
    time=1657393695.201090411
      event:call wrp_HASPAPI64_L3; arg SvcID=50; event_tid=4456
    time=1657393695.212710415
      event:call wrp_HASPAPI64_L3; arg SvcID=50; event_tid=4456
    time=1657393697.051191723
      event:call wrp_HASPAPI64_L3; arg SvcID=60; event_tid=4456
    time=1657393697.089376602
      event:call wrp_HASPAPI64_L3; arg SvcID=6; event_tid=4456
    time=1657393697.151858096
      event:call wrp_HASPAPI64_L3; arg SvcID=50; event_tid=4456
    time=1657393697.166814231
      event:call wrp_HASPAPI64_L3; arg SvcID=6; event_tid=4456
    time=1657393820.024077498
      event:call wrp_HASPAPI64_L3; arg SvcID=60; event_tid=4490
    7FBA74A4DD79: got SIGSEGV signal (Segmentation violation) (exc.code b, tid 4490)
    падение на втором вызове SvcID=60 и в другом потоке (event_tid=4490) - в нём же и крах (tid 4490)
    есть в "Basic HASP API Services" два сервиса 60 и 61, взаимно обратные:
    Service 60: HaspEncodeData; Description: Encodes data via a connected HASP key.
    Service 61: HaspDecodeData; Description: Decodes data via a connected HASP key.

    потом посмотрю на подробности (входные и выходные данные) и сравню их при работе через унипатч.
    Есть подозрение, что грабельки лежат в реализации Service 60 HaspEncodeData.
    Последний раз редактировалось HPDX2300; 10.07.2022 в 00:20.
    "кинжал хорош для того, у кого он есть, и плохо тому у кого он не окажется в нужное время"

  6. 3 пользователя(ей) сказали cпасибо:

    redhat2020 (10.07.2022), Serg2008t (10.07.2022), vovashulga (10.07.2022)

  7. #925
    Спец PRO
    Аватар для HPDX2300
    Регистрация
    18.04.2018
    Адрес
    HP-Compaq DX2300 microtower PC
    Сообщений
    249
    Сказал(а) спасибо
    69
    Поблагодарили 1811 раз(а) в 395 сообщениях

    По умолчанию Re: как ломануть 1C 8.3 for Linux

    Предвидя замечание "а чё такую древность 8.3.08-2137.lnx64 дебажить???", докладываю: есть причины, но тут не хочу писать (сектанты же читают это)
    Если посмотреть в бэкбейс на реализацию "Service 5 HaspStatus"
    (цитата о нём из мануала "HASP Programmer’s Guide":
    Description: Check the type of HASP connected to the computer. Also check to which port the key is connected.
    ...Return Values:
    ...Par4: HASP Object Version – The current API version.)
    , то увидим
    Код:
    8.3.08-2137.lnx64
    398BCD: 41 C7 40 34 3C 23 00 00  mov dword ptr [r8+34h],233Ch ; 233Ch = 9020. HASP API version
    
    8.3.20-1363.lnx64
    5B83BD: 41 C7 40 34 3C 23 00 00  mov dword ptr [r8+34h],233Ch ; 233Ch = 9020. HASP API version
    
    8.3.20-1710.lnx64
    5C379D: 41 C7 40 34 3C 23 00 00  mov dword ptr [r8+34h],233Ch ; 233Ch = 9020. HASP API version
    
    8.3.20-1838.lnx64
    5C4E1D 41 C7 40 34 3C 23 00 00   mov dword ptr [r8+34h], 233Ch ; 233Ch = 9020. HASP API version
    
    8.3.16-1296.lnx64
    50CD3D: 41 C7 40 34 3C 23 00 00  mov dword ptr [r8+34h],233Ch ; 233Ch = 9020. HASP API version
    
    8.3.21-1140.lnx64
    5F054D: 41 C7 40 34 3C 23 00 00  mov dword ptr [r8+34h],233Ch ; 233Ch = 9020. HASP API version
    
    8.3.22-1368.lnx64
    5EDE4D: 41 C7 40 34 3C 23 00 00  mov dword ptr [r8+34h],233Ch ; 233Ch = 9020. HASP API version
    и в винде и в макоси "всё те же куриные яйца, тока вид сбоку" - HASP API не менялся от 8.3.08 до 8.3.22

    Код:
    8.3.08-2137.macos x64
    39105D: 41 C7 40 34 54 24 00 00  mov dword ptr [r8+34h],2454h ; 2454h = 9300. HASP API VERSION
    
    8.3.22-1368.macos x64
    59273D: 41 C7 40 34 54 24 00 00  mov dword ptr [r8+34h],2454h ; 2454h = 9300. HASP API VERSION
    Код:
    8.2.19-130.win64
    offset=18AB1D: C7 43 34 54 24 00 00  mov dword ptr [rbx+34h],2454h ; 2454h = 9300. HASP API version
    
    8.3.20-1479.win64
    offset=8128Dh: C7 43 34 54 24 00 00  mov dword ptr [rbx+34h],2454h ; 2454h = 9300. HASP API version
    "кинжал хорош для того, у кого он есть, и плохо тому у кого он не окажется в нужное время"

  8. 3 пользователя(ей) сказали cпасибо:

    redhat2020 (10.07.2022), Serg2008t (10.07.2022), vovashulga (10.07.2022)

  9. #926
    Спец PRO
    Аватар для HPDX2300
    Регистрация
    18.04.2018
    Адрес
    HP-Compaq DX2300 microtower PC
    Сообщений
    249
    Сказал(а) спасибо
    69
    Поблагодарили 1811 раз(а) в 395 сообщениях

    По умолчанию Re: как ломануть 1C 8.3 for Linux

    Как я предположил ранее - реализация Service 60 HaspEncodeData в эмуляторе VHCI_HCD "кривая", ниже показано что я увидел в отладчике на входе и выходе Service 60.

    Первый вызов по содержанию буфера памяти для входных данных (24h байт) не отличается от второго.
    Эмулятор VHCI_HCD на первом вызове Service 60 HaspEncodeData также выдаст неверный результат в буфере, но это не будет иметь последствий в виде быстрого краха.
    Последующие вызовы Service 60 HaspEncodeData идут без повторений вх.данных, и размер данных в буфере немного больше - 0х30.

    вот что делает унипатч:
    2-й вызов Service 3Ch=60

    Код:
    BEFORE CALL
    аргументы функции hasp()
    7FE27F31B200: 00 00 00 00 ; 000000000=Par1 - must be 0 (not used)
    7FE27F31B204: 24 00 00 00 ; 00000024h=Par2 - Buffer size. The size in bytes of the buffer to be encoded.
    7FE27F31B208: E2 7F 00 00 ; 00007FE2h=Par3 - high dword address of the buffer
    7FE27F31B20C: 00 EF B6 70 ; 70B6EF00h=Par4 - low dword address of the buffer
    
    данные в buffer: (8-2137-lnx64 basic.so+0x01AB84E0)
    7FE270B6EF00: 49 33 F6 33 DF 6B AB 1C 34 3F 51 71 F4 E7 EF 4E
    7FE270B6EF10: 39 E7 AF C7 59 64 C9 8E 44 B0 4E 3D 6C 23 C7 B6
    7FE270B6EF20: 56 BD E9 35
    
    AFTER CALL
    аргументы функции hasp()
    7FE27F31B200: 00 00 00 00 ; 000000000=Par1
    7FE27F31B204: 24 00 00 00 ; 00000024h=Par2
    7FE27F31B208: 00 00 00 00 ; 000000000=Par3 (return value) Status. A code indicating the status of the operation (0==success)
    7FE27F31B20C: 00 EF B6 70 ; 70B6EF00h        
    
    данные в buffer: (8-2137-lnx64 basic.so+0x01AB8504)
    7FE270B6EF00: 75 B3 DF 68 A5 2D F5 23 71 76 D8 85 0D 93 2E AF
    7FE270B6EF10: 21 1B CF 94 43 6D B4 38 BE C2 08 FD C3 04 1D 58
    7FE270B6EF20: AD A9 40 8E
    вот эти записи в скобках:
    buffer: (8-2137-lnx64 basic.so+0x01AB84E0)
    buffer: (8-2137-lnx64 basic.so+0x01AB8504)
    означают, что входные данные в буфере, и выходные данные в буфере находятся рядом (сперва вх.данные, сразу после них выходные) в модуле "васик" - после плюса указано смещение в файле

    вот что делает VHCI_HCD:
    2-й вызов Service 3Ch=60

    Код:
    BEFORE CALL
    аргументы функции hasp()
    7F0D04781220: 00 00 00 00 ; 000000000=Par1 - must be 0 (not used)
    7F0D04781224: 24 00 00 00 ; 00000024h=Par2 - Buffer size. The size in bytes of the buffer to be encoded.
    7F0D04781228: 0D 7F 00 00 ; 00007F0Dh=Par3 - high dword address of the buffer
    7F0D0478122C: 10 13 75 44 ; 44751310h=Par4 - low dword address of the buffer
    
    данные в buffer:
    7F0D44751310: 49 33 F6 33 DF 6B AB 1C 34 3F 51 71 F4 E7 EF 4E
    7F0D44751320: 39 E7 AF C7 59 64 C9 8E 44 B0 4E 3D 6C 23 C7 B6
    7F0D44751330: 56 BD E9 35
    
    AFTER CALL
    аргументы функции hasp()
    7F0D04781220: 00 00 00 00
    7F0D04781224: 24 00 00 00
    7F0D04781228: 00 00 00 00 ; 000000000=Par3 (return value) Status. A code indicating the status of the operation (0==success)
    7F0D0478122C: 10 13 75 44
    
    данные в buffer:
    7F0D44751310: 53 5C 98 B5 9A ED DE D8 01 A0 AC E7 6A E0 BF 0C
    7F0D44751320: 27 87 78 D4 DF E2 3A 82 EE 30 DA C9 73 9E 4D D2
    7F0D44751330: E8 1D 2E A5
    входные данные для Service 60 HaspEncodeData в модуле "васик" найдены с помощью МС - поиском по всем файлам цепочки байт (надо включить "Search for content" и "Regular expression", а цепочку байт писать так \x49\x33\xF6\x33\xDF.......)

    Можно сделать последнее предположение - неправильные результаты работы Service 60 HaspEncodeData могут быть связаны с опечатками в дампе ключа - ошибка в одном символе может быть фатальной, хотя, я не знаю алгоритма шифрования т.к. не анализировал код исходников.
    Последний раз редактировалось HPDX2300; 11.07.2022 в 00:04.
    "кинжал хорош для того, у кого он есть, и плохо тому у кого он не окажется в нужное время"

  10. 4 пользователя(ей) сказали cпасибо:

    noname1902 (07.09.2022), redhat2020 (11.07.2022), Serg2008t (11.07.2022), vovashulga (11.07.2022)

  11. #927
    Пришел за помощью

    Регистрация
    27.03.2017
    Сообщений
    12
    Сказал(а) спасибо
    0
    Поблагодарили 0 раз(а) в 0 сообщениях

    По умолчанию Re: как ломануть 1C 8.3 for Linux

    Цитата Сообщение от holmes Посмотреть сообщение
    Налабала по приведенной инструкции патчер https://dropmefiles.com/ICbTJ описание внутри, юзайте на здоровье
    По какой именно?? А то здесь инструкций последнее время от каждого утюга, - мама не горюй.

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

  12. #928
    Спец PRO
    Аватар для HPDX2300
    Регистрация
    18.04.2018
    Адрес
    HP-Compaq DX2300 microtower PC
    Сообщений
    249
    Сказал(а) спасибо
    69
    Поблагодарили 1811 раз(а) в 395 сообщениях

    По умолчанию Re: как ломануть 1C 8.3 for Linux

    Цитата Сообщение от holmes Посмотреть сообщение
    Сделала всё как в мануалах нарисовано, а 1С падает в разных местах "Ключ больше не доступен" или вообще в "Process 3554 (1cv8) of user 1000 dumped core", с родным USB ключом ничего не вываливается, значит вывод надо USBHASP пилить который что-то не так отвечает, есть в природе что рабочее, чтобы не падало?
    Посмотрел исходники USBHASP (a.k.a. usb_vhci_hcd) - возникает вопрос: "этот эмулятор ваабче используется кем-то для изделия секты 'АднаСекта' ?"
    Только у holmes не получилось его попользовать, или все остальные просто промолчали о своих неудачах?
    "кинжал хорош для того, у кого он есть, и плохо тому у кого он не окажется в нужное время"

  13. 4 пользователя(ей) сказали cпасибо:

    holmes (15.07.2022), noname1902 (07.09.2022), redhat2020 (14.07.2022), vovashulga (14.07.2022)

  14. #929
    Спец PRO
    Аватар для HPDX2300
    Регистрация
    18.04.2018
    Адрес
    HP-Compaq DX2300 microtower PC
    Сообщений
    249
    Сказал(а) спасибо
    69
    Поблагодарили 1811 раз(а) в 395 сообщениях

    По умолчанию Re: как ломануть 1C 8.3 for Linux

    Цитата Сообщение от ZevSua Посмотреть сообщение
    По какой именно?? мне просто надо чтоб заработало и на 8.3.16 и на новых.
    надо было пару страниц назад почитать, т.е. сбыча твоих мечт на 85 стр. упомянута
    "кинжал хорош для того, у кого он есть, и плохо тому у кого он не окажется в нужное время"

  15. 3 пользователя(ей) сказали cпасибо:

    noname1902 (07.09.2022), redhat2020 (14.07.2022), vovashulga (14.07.2022)

  16. #930
    Спец PRO
    Аватар для HPDX2300
    Регистрация
    18.04.2018
    Адрес
    HP-Compaq DX2300 microtower PC
    Сообщений
    249
    Сказал(а) спасибо
    69
    Поблагодарили 1811 раз(а) в 395 сообщениях

    По умолчанию Re: как ломануть 1C 8.3 for Linux

    Цитата Сообщение от HPDX2300 Посмотреть сообщение
    Посмотрел исходники USBHASP (a.k.a. usb_vhci_hcd) - возникает вопрос: "этот эмулятор ваабче используется кем-то для изделия секты 'АднаСекта' ?"
    Только у holmes не получилось его попользовать, или все остальные просто промолчали о своих неудачах?
    всётаки USBHASP (a.k.a. usb_vhci_hcd) у некоторых работает месяцами и не жужжит. Придется мне погрузиться в реализацию Service 60 HaspEncodeData в унипатче, чтобы понять "от каких данных в дампе ключа зависит результат?"
    "кинжал хорош для того, у кого он есть, и плохо тому у кого он не окажется в нужное время"

  17. 3 пользователя(ей) сказали cпасибо:

    noname1902 (07.09.2022), redhat2020 (15.07.2022), vovashulga (14.07.2022)

Страница 93 из 128 ПерваяПервая ... 838889909192939495969798103 ... ПоследняяПоследняя

Социальные закладки

Социальные закладки

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •