Помощь с крякми

Начинающий
Статус
Оффлайн
Регистрация
28 Дек 2019
Сообщения
74
Реакции[?]
6
Поинты[?]
9K
Приветствую. Недавно начал пытаться крякать крякми. Возникла проблема - требуется помощь. %31s. Логично, что идет скан пароля на правильный или не правильный. Вот мне интересно, как получить Ориг пароль, а не циферки
 
Участник
Статус
Оффлайн
Регистрация
15 Янв 2021
Сообщения
492
Реакции[?]
289
Поинты[?]
79K
Пожалуйста, авторизуйтесь для просмотра ссылки.
читает вводимые тобой данные, в твоём случае, программа считывает буффер и отправляет его в функцию sub_401000, где аргументом и передаёт введенную тобой строку.
1723584646629.png
Тут легче в рантайме посмотреть что должно лежать в строке, но если прёт в статике смотреть то смотришь, что за строка лежит в g_CryptedString и g_aKey, потом можно даже просто C+P в любом онлайн компиляторе с подставленными тобою строками и смотришь что за пароль там расшифрован. Но посоветовал бы учиться динамическому анализу всё таки.
 
Начинающий
Статус
Оффлайн
Регистрация
8 Апр 2023
Сообщения
200
Реакции[?]
16
Поинты[?]
19K
Приветствую. Недавно начал пытаться крякать крякми. Возникла проблема - требуется помощь. %31s. Логично, что идет скан пароля на правильный или не правильный. Вот мне интересно, как получить Ориг пароль, а не циферки
Нет идёт просто "скан" твоей строки без проверки, она идёт дальше
 
Начинающий
Статус
Оффлайн
Регистрация
28 Дек 2019
Сообщения
74
Реакции[?]
6
Поинты[?]
9K
Пожалуйста, авторизуйтесь для просмотра ссылки.
читает вводимые тобой данные, в твоём случае, программа считывает буффер и отправляет его в функцию sub_401000, где аргументом и передаёт введенную тобой строку.
Посмотреть вложение 283314
Тут легче в рантайме посмотреть что должно лежать в строке, но если прёт в статике смотреть то смотришь, что за строка лежит в g_CryptedString и g_aKey, потом можно даже просто C+P в любом онлайн компиляторе с подставленными тобою строками и смотришь что за пароль там расшифрован. Но посоветовал бы учиться динамическому анализу всё таки.
Вообще я нашел за что отвечает (в твоем случае g_CryptedString в моем это source )
;,<#;,',0Bh,'!:/

Но выдает вронг пасворд не оч понял почему но все равно спасибо за помощь

Пожалуйста, авторизуйтесь для просмотра ссылки.

Пожалуйста, авторизуйтесь для просмотра ссылки.

если надо то файл крякми (3/10 кажется)
а еще мейби вот это пароль но хз как его нормальный вгетать
.data:000000000040200B db 13h
.data:000000000040200C db 32h ; 2
.data:000000000040200D db 2Dh ; -
.data:000000000040200E db 30h ; 0
.data:000000000040200F db 13h
.data:0000000000402010 db 30h ; 0
.data:0000000000402011 db 2Ch ; ,
.data:0000000000402012 db 3Bh ; ;
.data:0000000000402013 db 27h ; '
.data:0000000000402014 db 3Ah ; :
.data:0000000000402015 db 26h ; &
.data:0000000000402016 db 27h ; '
 
Участник
Статус
Оффлайн
Регистрация
15 Янв 2021
Сообщения
492
Реакции[?]
289
Поинты[?]
79K
Но выдает вронг пасворд не оч понял почему но все равно спасибо за помощь
Потому что то, что ты скинул в .data и есть продолжение строки, просто скопируй все байты в строку, которые там есть и примени ключ -> получишь свой декрипнутый пароль, который потом сверяется. Посмотреть байты можешь через Options->Number of opcodes. Или просто выделить всё что относится к строке, нажать Shift+E ( Edit->Export data ) выбрать массив и декриптить его, получишь что-то вроде такого:

C++:
#include <iostream>

int main()
{
    unsigned char crypt[] =
    {
      0x3B, 0x2C, 0x3C, 0x23, 0x3B, 0x2C, 0x0B, 0x21, 0x3A, 0x2F,
      0x3F, 0x13, 0x32, 0x2D, 0x30, 0x13, 0x30, 0x2C, 0x3B, 0x27,
      0x3A, 0x26, 0x27
    };
    const char* key = "SCTL";
    
    for ( int i = 0; i < sizeof(crypt); ++i )
        crypt[i] ^= key[i % strlen(key)];
    
    printf("decrypted: %s\n", crypt);     
}
 
Участник
Статус
Оффлайн
Регистрация
23 Апр 2022
Сообщения
695
Реакции[?]
328
Поинты[?]
12K
Сверху Снизу