![]() |
https://forum.antichat.xyz/attachmen...0517863791.png Для справки: smali - это своего рода аналог ассемблера для android-приложений. А те, кто знаком с разработкой таковых на Java, могли уже заметить знакомый MainActivity. Если вы знаете smaliи хотите узнать, как этот таск можно было решить, не переводя код в java- на форуме уже есть такой райтап. Мы же воспользуемся технологиями нашего времени и переведём этот smali-код в Java, и поможет нам в этом утилита JADX(gui-версия). Она есть как на Windows, так и на Linux, гитхабприлагаю. Вообще - очень полезная тулза при ревёрсе android-приложений, в многочисленных функциях которой есть перевод smaliв эквивалентный Java. Открываем в ней эти 6 файлов: https://forum.antichat.xyz/attachmen...0518244059.png В MainActivityничего особо интересного не наблюдается, так что теперь заглянем в MainActivityKt: https://forum.antichat.xyz/attachmen...0518345114.png А вот здесь уже можно заметить довольно интересную переменную - xorKey. Судя по всему, в функции byteArrayToStringпередаваемый массив байт ксорится с этим ключом, и на выходе получается зашифрованная/расшифрованная строка. А чуть выше, в byteArrayToString$defaultможно найти некоторое условие с двумя переменными (их я переименовал в соответствие со следующим скриншотом), через которое определяется сам xorKeyи вызывается предыдущая функция. Попробуем поискать вызов этой самой byteArrayToString$default: https://forum.antichat.xyz/attachmen...0520115076.png А вот и сам вызов, в 27 строке! Первым аргументом у нас передаётся какой-то массив байт, вторым - 0 (num_0с предыдущего скриншота), который потом заменится на 7, затем - 2 (num_2) - число, которое удовлетворит проверке. И в конечном итоге этот набор байт поксорится с числом 7. Напишем простенькую программу на питоне: Python: Код:
secrethttps://forum.antichat.xyz/attachmen...0520432097.png Получили флаг, сработало! Надеюсь, этот небольшой райтап поможет вам в нашей нелёгкой стезе. Удачного ревёрса! made 4@rev_with_da_boys |
| Время: 07:51 |