Загрузка...

I cant decrypt a string that is clearly in B64

Thread in Reversing / Assembler created by Death4Life Dec 23, 2023. 240 views

  1. Death4Life
    Death4Life Topic starter Dec 23, 2023 11 Oct 9, 2018
    Есть программа, которая проверяет лицензию, отправляя POST на сервер с данными лицензии, сервер отправляет обратно isValid:true и хеш MD5 текущей даты по UTC. С этим проблем не возникло, прога теперь стучиться на localhost и мой самописный сервер всегда скармливает true, всё было хорошо, до обновления. Принцип проверки лицензии почти не изменился, за исключением проверки на стороне клиента сигнатуры лицензии. Если она неверная, шлёт, если скармливать демо лицензию с верной сигнатурой и перенаправлением на сервер, который всегда говорит true, и при этом откатить дату до окончания лицензии - то принимает и прога полностью функционирует. Я изначально думал, что эта сигнатура - base64 строка, но нет, при декоде рандомные символы
    Code
    MEUCIDNsZCyguHZKUhhQmNiInKOfszValHoIUL0RidiBlUFjAiEAv4YAUyywluFycS72WhXOPQKWTTFuwRpv6NFlNWwkVZg=
    Декодированный текст
    Code
    0E 3ld,á©vJRPÿÏê£úƒ│5ZözP¢ëÏüòAc!�┐å�S,░ûßrq.÷Z╬=ûM1n┴oÞÐe5l$Uÿ
    Может есть мысли какие нибудь?
    P.S. Прога точно ждёт base64 строку. Если передать в <Signature> мусор - выкинет ошибку, если не кратное количество символов base64 строки
     
    1. MaxRWS
      Death4Life, подпись в стандартном формате ASN.1, онлайн-декодеры найти не проблема. Внутри два 256-битных числа. Только вряд ли это поможет. Там почти 100% асимметричный алгоритм, без приватного ключа валидную подпись не сгенерировать. Ищите в программе место проверки и правьте так, чтобы результат всегда был TRUE.
    2. Death4Life Topic starter
      MaxRWS, да, похоже ты прав. Получил как ты и говорил, 2x256bit числа. Оказалось сложнее, чем предполагал. Ковырять саму программу будет проблемой для меня, накрыта Confuser (1.x), походу кастомным, с наскоку расшифровать не получилось. Спасибо за наводку)
Loading...
Top