某节拍APP逆向+XPosed模块编写
某节拍APP逆向+XPosed模块编写看文章无意看到了https://twogoat.github.io/2025/04/09/%E8%AE%B0%E6%9F%90%E8%8A%82%E6%8B%8D%E5%99%A8app%E7%9A%84%E4%B8%80%E6%AC%A1%E7%AE%80%E5%8D%95%E7%A0%B4%E8%A7%A3/,这个想着android还没怎么深入实战下,因此写了个这玩意儿 想知道是哪个软件可以联系我 只含java层逆向,软件中含pro字样吗 ctrl+shift+f搜一下搜到isPro,判断是否是pro会员 123456789101112131415function main(){ Java.perform(function () { var UserCache = Java.use("com.eumlab.prometronome.baselib.util.UserCache"); // Hook isPro() ...
华为杯第四届中国研究生网络安全创新大赛 Megrez RE WP
“华为杯”第四届中国研究生网络安全创新大赛 Megrez RE WP本次研究生赛我们排名第6,解出8题成功晋级这是与我相关的一些题目 ReverseYJS-GoEncIDA 打开,直接转到main函数看逻辑 main_main中的逻辑校验 如图,并且选择前16位作为key main_encryptWithAES看出来为AES加密,并且为CBC模式 最后进行Base64编码 密文为base64的串交叉引用即可找到 key在这里做了变换 exp: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051import base64from Crypto.Cipher import AESKEY_SOURCE = bytearray(b"MySecretKey123451234567890abcdef/proc/self/auxv")STATE_BYTES = bytes([ 0xAA, 0xBB,...
NSSCTF 2025 re wp
NSSCTF 2025 re wpez_teaez_tea不ez 没改附件版本: 动调有几个地方需要绕过 对isDebuggerPrensent进行交叉引用,对isDebuggerPrensent的绕过方法基本是改zf标志位,此外还有一个地方绕过需要把0x70改成0x71修改寄存器 此题别用patch方法,因为上面那个0xcccc貌似是crc校验 同时看到这有个exit也交叉引用下 这里也有个exit 绕过后经过动调发现,这个方法会对key进行修改,我们可以断再fmt这个方法上就可以发现dst的地址是key的地址 这块如何修改的key? 是tea_encrypt_wrapper这个方法的机器码值+78然后patch到了key 另一种发现hook的方法,当你写了解密脚本发现不对,可以到处交叉引用看看 可以返现这个方法被神奇的其它地方交叉引用了 最后写解密脚本 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647delta =...
IDA e语言逆向初探-以一道CTF题为例
IDA e语言逆向初探-以一道CTF题为例题目附件可以留言找我拿 IDA易语言反编译插件E-Decompiler - 吾爱破解 - 52pojie.cn e语言逆向,安装这个插件然后运行IDA分析 转到可疑函数 url解码后是HXB{YAO-YAO-QIE-KE-NAO} 假的 还发现 这几个串 交叉引用过去 有点像校验了 sub_404196应该是加密函数 有点像rc系列的加密,不知道是不是Rc4,可以猜测它为流加密的算法 如果是流加密的算法最好的解密方式就是再跑一边,看看动调能不能出 x32dbg打开,直接断点到这个大函数调试 调试可能有反调试,注意开下sharpod这个插件 基于假设我们可以试试看直接把密文patch回去 可以看到我输入的123 下面在ebp-4的地方是密文 在内存中修改为下面那段,注意的是patch记得别把最后的00字节给删了 要修改的字节粘贴进去这个串 一开始patch错了patch的第一个字符是88,后面也没保存结果所以是HXB{HAHA-HEHE-HEIHEI-HUOHUO-XIXI} 12345enc =...
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 =...


