ສະເຫຼີຍໂຈດ droids0 ຈາກ picoCTF2019

Fr!d4y
2 min readMar 16, 2020

--

ຈາກທີ່ສະເຫຼີຍໂຈດຈາກເວັບ CTFlearn ມາແລ້ວຈຳນວນໜຶ່ງມື້ນີ້ລອງມາປ່ຽນແກ້ໂຈດຈາກ picoCTF ລອງເບິ່ງ.

ເຊິ່ງໂຈດທີ່ຈະມາພາແກ້ໃນມື້ແມ່ນເປັນໂຈດທີ່ຢູ່ໃນໝວດ Reverse Engineering ເປັນການເຮັດ Reverse apk ເພື່ອຊອກຫາ flag ເຊິ່ງຂໍ້ທີ່ຈະມາສະເຫຼີຍໃນມື້ນີ້ແມ່ນຂໍ້ droids0

ໃນໂຈດຈະບອກວ່າ “Where do droid logs go” ແລ້ວກໍໃຫ້ apk ອັນໜຶ່ງມາ.

ຈາກທີ່ອ່ານເບິ່ງໂຈດແລ້ວເດົາວ່າ flag ໜ້າຈະຢູ່ໃນ log ເວລາທີ່ເປີດແອພນີ້ຢູ່ ແຕ່ເພື່ອຄວາມໝັ້ນໃຈລອງມາ decompile apk ນີ້ເບິ່ງວ່າມັນເຮັດວຽກແນວໃດໂດຍການໃຊ້ apktool

ຄຳສັ່ງທີ່ໃຊ້ກໍຈະເປັນປະມານນີ້
apktool d -s zero.apk

ຈາກນັ້ນເຮົາກໍເອົາໄຟລ classes.dex ທີ່ໄດ້ມາຈາກການໃຊ້ apktool decode ອອກມາແລ້ວທຳການແປງໃຫ້ເປັນໄຟລ .jar ເພື່ອທີ່ຈະເອົາໄປ decompile ໃຫ້ເປັນໄຟລ java ທີ່ເຮົາສາມາດອ່ານໄດ້

#ຄຳສັ່ງທີ່ໃຊ້ໃນການປ່ຽນໄຟລຈາກ .dex ເປັນ .jar
d2j-dex2jar classes.dex
ຈະໄດ້ classes-dex2jar.jar

ຈາກທີ່ໄດ້ໄຟລ classes-dex2jar.jar ເຮົາກໍຈະມາ decompile ໂດຍການໃຊ້ procyon decompiler

ຈາກ decompile ແລ້ວກໍຈະໄດ້ directory ທີ່ຊື່ decompile ເມື່ອເຂົ້າໄປເບິ່ງໃນ MainActivity.java ກໍຈະໄດ້ເປັນ

ຈະເຫັນວ່າມີການ getFlag ຫຼັງຈາກທີ່ມີການກົດປຸ່ມໂດຍຫຼັງຈາກທີ່ກົດປຸ່ມແລ້ວຈະມີການ setText ແລ້ວໄປດຶງເອົາ flag ທີ່ຢູ່ໃນ class FlagstaffHill ຢູ່ໃນ

FlagstaffHill.java

ໃນ FlagstaffHill ກໍຈະເຫັນວ່າມີກ່ານພົ່ນ flag ອອກມາໃນ log ຊັ້ນກໍມາລອງເປີດແອພເບິ່ງເລີຍ.

ຜູ້ຂຽນຈະໃຊ້ android studio ໃນການເປີດແອພເພື່ອທີ່ຈະສາມາດເບິ່ງ Log ໄດ້

ໜ້າຕາຂອງແອພ

ກະຈະເຫັນວ່າມີປຸ່ມກົດຢູ່ອັນໜຶ່ງຕາມທີ່ອ່ານໂຄ້ດມາຖ້າເຮົາກົດປຸ່ມແລ້ວ flag ຈະພົ່ນອອກມາທາງ Log ຊັ້ນກະລອງກົດປຸ່ມເບິ່ງເລີຍ

ຈາກກົດປຸ່ມແລ້ວສັງເກດເບິ່ງ Log ເຮົາກໍຈະໄດ້ Flag ອອກມາແລ້ວ

picoCTF{a.moose.once.bit.my.sister}

--

--