WMCTF 2025 re wp
WMCTF 2025 re wpcatfriend 校验逻辑 12345678910111213141516171819#!/usr/bin/env python3import struct# (value, destination offset in the 43-byte buffer)chunks = [ (0x61357B4654434D57, 0), (0x312D623266386533, 8), (0x663661342D643763, 16), (0x64302D653938622D, 24), (0x6234613166326333, 32), (0x7D63356234613166, 35),]buf = bytearray(43)for value, offset in chunks: buf[offset:offset + 8] = struct.pack('<Q', value)flag =...
强网杯初赛 2025 RE tradre
强网杯初赛 2025 RE tradrebutterflyAI直接秒了 要求输入/输出文件各一个参数,然后把输入文件完整读进内存。 追加 2 字节把原始长度写在缓冲区末尾(但这些额外字节不会写出)。 以 8 字节为一块做“编码”: 先与常量 MMXEncod 做字节级 XOR; 把每个 16 位的两个字节互换; 把 64 位视作整数左旋 1 bit; 再加回同一个常量(字节级加法,模 256)。这样剩余的零头(不足 8 字节)保持原样。 写到输出文件,同时生成 %s.key 文件,只包含文案 “MMXEncode2024 coding file: %s\n”——并没有保存任何真正的密钥。 输出里看见的 encode.dat 就是转过一遍的结果。 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152#!/usr/bin/env python3"""Recover the original...
简析一道白盒AES逆向题
简析一道白盒AES逆向题要附件可以找我 是个apk文件,java层没啥 直接看so层 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455bool __fastcall sub_F7B8(__int64 a1, __int64 a2, __int64 a3, __int64 a4){ int8x16_t *v6; // x21 unsigned __int8 *v7; // x19 __int64 n16; // x8 _BYTE *v9; // x9 unsigned __int64 v10; // x11 char v11; // w12 _BOOL8 result; // x0 int v13; // w9 unsigned __int64 n31; // x12 unsigned __int64 n0x1E; // x11 int v16; // w14 int v17; // w13 ...
DASCTF 2024.8 wp re
DASCTF 2024.8 wp reMaze三维迷宫,两个迷宫切换,TLS中塞了点东西,识别出来之后再写个路径算法即可 TLS中一段字节与程序的一段xor来恢复逻辑 140001A60(watchdogThreadMain)前面的一段逻辑用于反调试 我们可以修补到这: 执行0x90 ^ key[i] 12345678910111213import ida_bytesPATCH_ADDR = 0x140001B16PATCH_HEX = ( "8b05184a000039050e4a000074648b05064a00008905044a0000" "833d0949000001750ac744242002000000eb08c7442420010000" "008b4424208905eb480000833de448000001750e488d059b4400" "004889442428eb0c488d05cd4600004889442428488d05c14600" ...
一道题浅析LD_PRELOAD文件劫持 /proc/self/status反反调试
一道题浅析LD_PRELOAD文件劫持 /proc/self/status反反调试这是Geekgame2025的一道逆向题,需要附件联系我 其中里面有打开/proc/self/status的反调试,对于这题来说很简单,我们修改stack或者patch直接让v1为0均可 但是为了学习,可以了解下LD_PRELOAD文件劫持实现反反调试 可以看下调试时的pid 对于本题很简单,ai直接给出脚本即可 1234567891011121314151617181920212223242526272829303132333435363738// hide_tracer.c#define _GNU_SOURCE#include <dlfcn.h>#include <stdio.h>#include <string.h>#include <stdlib.h>typedef FILE *(*fopen_t)(const char *, const char *);static...
GeekGame 2025 re wp
GeekGame 2025 re wp签到 在线网站把所有帧提出来,第一个帧是背景可以写个妙妙小脚本 1234567891011121314151617181920212223242526272829from PIL import Image, ImageChopsimport numpy as np# 文件名background_path = "1.png"layers = [f"{i}.png" for i in range(2, 10)]# 读取背景图background = Image.open(background_path).convert("L") # 转灰度# 初始化一个全白背景result = Image.new("L", background.size, 255)# 处理每一层for path in layers: img = Image.open(path).convert("L") # 与背景做差 diff =...
SUSCTF 2025 wp
SUSCTF wp 那几道逆向不太想复现了 MISCQuestionnaire问卷 easyjailAI直出 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164import argparseimport jsonimport secretsimport...
UE4逆向初探-OverWatch
UE4逆向初探-OverWatch可以看这个线上培训 -先知社区 赛后下面那个偏移问题(主要是被网上某篇瞎写的博客和IDA字符串加载给暗算了)解决了自己做了下直接出了一段flag,后一段flag没找到只能看wp了 好的!我知道了尴尬了,我还是太着急了,刚刚写这个wp的时候又打开来了(之前保存的i64),搜了一下seamless,发现直接出现了,原来是IDA加载太慢了,我太急了,我就不该上课 T.T dump工具:Spuckwaffel/UEDumper: The most powerful Unreal Engine Dumper and Editor for UE 4.19 -...
TSCTF-J 2025 wp
TSCTF-J 2025 wp本次TSCTF-J,共解出27道题,逆向差两道AK,主RE赛道 先做的题后补的wp,因此写的可能有点屎,wp后面会在博客更新完善[RE部分] Cryptosign in1234KEY1 = a6c8b6733c9b22de7bc0253266a3867df55acde8635e19c73313c1819383df93KEY2 ^ KEY1 = b38dc315bb7c75e3c9fa84f123898ff684fd36189e83c422cf0d2804c12b4c83KEY2 ^ KEY3 = 11abed33a76d7be822ab718422844e1d40d72a96f02a288aa3b168165922138fFLAG ^ KEY1 ^ KEY2 ^ KEY3 = e1251504cdb300420a0520fc1c15b010d4bfb118c2477b78f3eafbe1acf0f121 F ^ K1 ^ K2 ^ K3 = X 1234567891011121314151617from binascii import...
CTF逆向常见反调试技术总结
CTF逆向常见反调试技术总结反调试主要为了干扰动态调试 反调试是一种用于阻碍程序动态调试的技术,首先大致说明一下反调试的工作原理。 在操作系统内部提供了一些API,用于调试器调试。当调试器调用这些API时系统就会在被调试的进程内存中留下与调试器相关的信息。一部分信息是可以被抹除的,也有一部分信息是难以抹除的。 当调试器附加到目标程序后,用户的很多行为将优先被调试器捕捉和处理。其中大部分是通过异常捕获通信的,包括断点的本质就是异常。如果调试器遇到不想处理的信息,一种方式是忽略,另一种方式是交给操作系统处理。 那么目前为止,程序就有两种方式检测自己是否被调试: 检测内存中是否有调试器的信息。 通过特定的指令或触发特定异常,检测返回结果。 通常来说,存在反调试的程序,当检测到自身处于调试状态时,就会控制程序绕过关键代码,防止关键代码被调试,或者干脆直接退出程序。 API反调试1BOOL IsDebuggerPresent(); 返回值为1表示当前进程被调试的状态,反之为0. 123call IsDebuggerPresenttest al, aljne...



