From 2283b5b695215380351810e8f7a8245a7257d7d8 Mon Sep 17 00:00:00 2001 From: serr Date: Sun, 2 Mar 2025 18:31:51 +0300 Subject: [PATCH] new --- .gitignore | 1 + crackmes/xorsimple/a.exe | Bin 0 -> 64667 bytes crackmes/xorsimple/solve.py | 40 ++++++++++++++++++++++++++++++++++++ crackmes/xorsimple/xorcr.c | 24 ++++++++++++++++++++++ z3example.py | 8 ++++++++ 5 files changed, 73 insertions(+) create mode 100644 .gitignore create mode 100644 crackmes/xorsimple/a.exe create mode 100644 crackmes/xorsimple/solve.py create mode 100644 crackmes/xorsimple/xorcr.c create mode 100644 z3example.py diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..f5e96db --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +venv \ No newline at end of file diff --git a/crackmes/xorsimple/a.exe b/crackmes/xorsimple/a.exe new file mode 100644 index 0000000000000000000000000000000000000000..f24769d9e91e782bcf76f4d162c2f75ad2fe21b7 GIT binary patch literal 64667 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 Wj)N@QX3{b%(im40un0CrsQq6a358$) literal 0 HcmV?d00001 diff --git a/crackmes/xorsimple/solve.py b/crackmes/xorsimple/solve.py new file mode 100644 index 0000000..954c917 --- /dev/null +++ b/crackmes/xorsimple/solve.py @@ -0,0 +1,40 @@ +import time +import angr + +if __name__ == "__main__": + # Загрузка бинарного файла + proj = angr.Project('a.exe', auto_load_libs=False) + ENTRY_POINT = 0x140001837 # Адрес функции после вызова scanf + TARGET_ADDR = 0x140001848 # Целевой адрес, нахождение на нем означает что програмам взломана + + # Создание начального состояния + 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(state.regs.rbp - 0x50, input_data) + + # Установка ограничений + for byte in input_data.chop(8): + state.add_constraints(byte >= 0x20) + state.add_constraints(byte <= 0x7e) + + simgr = proj.factory.simulation_manager(state) + start_time = time.time() + simgr.explore(find=TARGET_ADDR) + elapsed = time.time() - start_time + + if simgr.found: + input_data = simgr.found[0].solver.eval(input_data, cast_to=bytes) + print(f"Success cracked! Input: {input_data} | Pwd cracking time = {elapsed}") + else: + print("Fail!") diff --git a/crackmes/xorsimple/xorcr.c b/crackmes/xorsimple/xorcr.c new file mode 100644 index 0000000..540c659 --- /dev/null +++ b/crackmes/xorsimple/xorcr.c @@ -0,0 +1,24 @@ +#include + +char *serial = "\x31\x3e\x3d\x26\x31"; + +int check(char *ptr) { + int i = 0; + while (i < 5){ + if (((ptr[i]) ^ 0x55) != serial[i]) + return 0; + i++; + } + return 1; +} + +int main() { + char inp[72] = {0}; + scanf_s("%s", inp); + if (check(inp) == 1) { + printf("win"); + } else { + printf("fail"); + } + return 0; +} \ No newline at end of file diff --git a/z3example.py b/z3example.py new file mode 100644 index 0000000..58f8fba --- /dev/null +++ b/z3example.py @@ -0,0 +1,8 @@ +import z3 + +z = z3.Solver() +x = z3.BitVec('x', 32) +y = z3.BitVec('y', 32) +z.add(x + y == 20) +print(z.check()) # sat -> разрешимо +print(z.model()) # y = 0, x = 20 \ No newline at end of file