eXecutables TaipanByte

eXecutables TaipanByte

@bebrovsk123

Изначально файл reverrse.tb накрыт пакером UPX. Узнать это можно если посмотреть hex этого файла и увидеть в нем UPX информацию.
Чтобы распаковать его, просто качаем upx с гитхаба
upx -d reverrse.tb

Готово

Закидываем его в иду и переходим в main main (папка main)
Листаем псевдокод и видим строчку, закодированную в bs64, что сразу говорит проверить ее

строчка bs64

При декодировании её получаем некоторое значение


Уже хоть что-то, но все равно не тот флаг который нам нужен (Нет формата TB{})



Далее идет цикл while ( v40 < 16 ), который проходит по строке config123Valid

Код проверяет наличие заглавных букв (v43 - 65 <= 0x19) и цифр (v43 - 48 <= 9). Это пустышка, которая всегда проходит успешно для данной строки, создавая видимость сложной проверки целостности конфигурации


После декодирования Base64 и прохождения проверок вызывается функция:

v71 = main_________________(v133, v131, v66, 1, 1, v67, v68, v69, v70, v99, v107);

Затем программа выполняет следующие действия

Использует strings_genSplit, чтобы найти содержимое между фигурными скобками { и }

Собирает строку заново с помощью runtime_concatstring4


Далее смотрим функцию main_________________


Первое декодирование

v11 = encoding_base64__ptr_Encoding_DecodeString(..., a1, a2, ...)

Функция берет входные данные (которые пришли из main______________________) и первый раз декодирует их из Base64

реверс строки

Этот цикл проходит по декодированным байтам и записывает их в новый массив в обратном порядке

Ключ v61 = "TB{R3v3rs3" (длина 10 байт), цикл for ( j = 0LL; v30 > j; ++j ), операция *(_BYTE *)(a5 + j) = v26 ^ v34, индекс ключа: v33 = j % 10 

Каждый байт развернутой строки XOR-ится с соответствующим байтом ключа TB{R3v3rs3

второе декодирование

Результат XOR-а снова воспринимается как Base64-строка и декодируется еще раз

Флаг восстанавливается путем двойного декодирования Base64 и промежуточного XOR-преобразования с использованием статического ключа TB{R3v3rs3, что исправляет намеренно внесенную в декой-строку ошибку в префиксе

TB{R3v3rs3_flll@gg}









Report Page