From 4c94fb6da4e17fb94c100333e3e3caaf64504c13 Mon Sep 17 00:00:00 2001 From: serr Date: Mon, 3 Mar 2025 17:59:56 +0300 Subject: [PATCH] hashcr --- .gitignore | 3 +-- crackmes/hashcr/a.exe | Bin 0 -> 63746 bytes crackmes/hashcr/hashcr.c | 30 +++++++++++++++++++++++++ crackmes/hashcr/solve.py | 47 +++++++++++++++++++++++++++++++++++++++ 4 files changed, 78 insertions(+), 2 deletions(-) create mode 100644 crackmes/hashcr/a.exe create mode 100644 crackmes/hashcr/hashcr.c create mode 100644 crackmes/hashcr/solve.py diff --git a/.gitignore b/.gitignore index b1053fc..f5e96db 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1 @@ -venv -hashcr \ No newline at end of file +venv \ No newline at end of file diff --git a/crackmes/hashcr/a.exe b/crackmes/hashcr/a.exe new file mode 100644 index 0000000000000000000000000000000000000000..aca23babaa4e54971594bc3f0e04e857bd09d7c3 GIT binary patch literal 63746 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 DA#L7o literal 0 HcmV?d00001 diff --git a/crackmes/hashcr/hashcr.c b/crackmes/hashcr/hashcr.c new file mode 100644 index 0000000..54401b5 --- /dev/null +++ b/crackmes/hashcr/hashcr.c @@ -0,0 +1,30 @@ +#include +#include + +const char *serial = "\x31\x3e\x3d\x26\x31"; + +int check(char *ptr) +{ + int i; + int hash = 0xABCD; + + for (i = 0; ptr[i]; i++) + hash += ptr[i] ^ serial[i % 5]; + + return hash; +} + +int main(int ac, char **av) +{ + int ret; + + if (ac != 2) return -1; + + ret = check(av[1]); + if (ret == 0xad6d) + printf("Win\n"); + else + printf("fail\n"); + + return 0; +} \ No newline at end of file diff --git a/crackmes/hashcr/solve.py b/crackmes/hashcr/solve.py new file mode 100644 index 0000000..316a6a7 --- /dev/null +++ b/crackmes/hashcr/solve.py @@ -0,0 +1,47 @@ +import angr +import time + +# ./a.exe "$(py -c "print('NY\x01X\x00')")" + +GREEN = "\033[92m" +PURPLE = "\033[35m" +RESET = "\033[0m" +RED = "\033[31m" + +if __name__ == "__main__": + # Загрузка бинарного файла + print(f"{GREEN}Uploading executable file to angr...{RESET}") + proj = angr.Project('a.exe', auto_load_libs=False) + print(f"{GREEN}The executable has been uploaded to angr!{RESET}") + ENTRY_POINT = 0x14000178A # Адрес функции main + TARGET_ADDR = 0x14000179E # Целевой адрес, нахождение на нем означает что программа взломана + + # Создаем начальное состояние + state = proj.factory.entry_state( + addr=ENTRY_POINT, + add_options={angr.options.ZERO_FILL_UNCONSTRAINED_REGISTERS, + angr.options.ZERO_FILL_UNCONSTRAINED_MEMORY} + ) + + # Инициализация стека + state.regs.rbp = 0x7ffffffffffffff + state.regs.rsp = 0x7ffffffffffffff + + # Симуляция ввода пользователя + input_size = 5 + input_data = state.solver.BVS('input_data', 8 * input_size) + state.memory.store(0x100000, input_data) + + state.regs.rax = 0x100000 + + simgr = proj.factory.simulation_manager(state) + print(f"{GREEN}Start cracking...{RESET}") + start_time = time.time() + simgr.explore(find=TARGET_ADDR) + elapsed = time.time() - start_time + if simgr.found: + r = simgr.found[0].solver.eval(input_data, cast_to=bytes) + print(f"{GREEN}Success cracked! Input: {PURPLE}{r}{PURPLE}{RESET}") + print(f"{GREEN}Pwd cracking time = {elapsed}{RESET}") + else: + print(f"Fail!") \ No newline at end of file