VNCTF2026 Shadow分析[驱动分析+反射注入]
ShadowVNCTF2026-Shadow-WP | Liv’s blog Maze.exe一个简单迷宫 sys分析下 Findcrypt发现AES sub_14000C000从全局 Pool 拷贝 0x5E00 字节,然后调用 sub_140001168 做 16 字节分组变换 确认是 AES 轮函数(S-box 在 0x140004000,Rcon 在 0x140003070,密钥在 dword_14000A000) 静态分析AI搓个脚本 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849import argparseimport pefilefrom Crypto.Cipher import AES# Challenge-specific RVAs from stage1 sys.KEY_RVA = 0xA000ENC_BLOB_RVA = 0x4200ENC_BLOB_SIZE = 0x5E00def read_rva_bytes(pe:...
VNCTF2026 Re
VNCTF2026 Re 复现做alictf去了 没怎么做 简单看看题 ez_maze难度:签到 主要是壳上了 exeinfo上看没有壳 die识别出了是个upx 但是010没找到相关特征,应该是魔改了,使用各种脱壳工具无法直接脱壳,需要手脱 大致看了下程序首先会jmp到102A,102A会jmp到E9D0 入口点:ImageBase + 0x31000(也就是 .arch 节) .arch开头看起来像乱码,但它先 jmp到 0x3102A,那里是一条jmp rel32,也就是跳到.rdata 内部 RVA 0x1E9D0(这段才是真壳代码)。 在 RVA 0x1E9D0 这段反汇编非常典型: rsi 指向 .rdata 起始(压缩数据流) rdi 被设置成 rsi - 0x1B000 因为 .rdata 起始是 RVA 0x1C000,所以目标地址是:0x1C000 - 0x1B000 = RVA 0x1000 也就是说:把压缩流解压到 RVA 0x1000(原 .text)。 另外它内部的 bit-buffer 读法是 UPX stub 常见的:add...
Aliyunctf 2026 re
Aliyunctf 2026 relicense [not solved]解到最后一层RSA 不会密码 原来是维纳攻击 忘记了… pixelflow用Il2cppdumper dump出dump.cs和一些数据 导入到IDA打开的GameAssembly.dll恢复一些函数名和符号 同时也在Assembly-Csharp.dll发现了check指向了GameAssembly的地址 在stringliteral.json里看到了flag头 1234{ "value": "alictf{", "address": "0xEBDF38"}, Controller__Check_d__18__MoveNext 123456这里能看到依次调用 Method_Controller__Check_b__18_0__ / b__18_1__ / b__18_2__ / b__18_3__,其中 b__18_2 被 await了3次(对应K0运行3...
ByteCTF2022 MITM分析
ByteCTF2022 MITM分析APK分析AndroidManifest.xml之前介绍过 12345678910111213141516<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android" android:versionCode="1" android:versionName="1.0" android:compileSdkVersion="32" android:compileSdkVersionCodename="12" package="com.bytedance.mitm" platformBuildVersionCode="32"...
Bytectf2022 GoldDroid复现
Bytectf2022 GoldDroid复现APK分析AndroidManifest.xml这里的VulProvider是导出的,谁都可以通过 content://slipme/… 来访问这个 Provider 12345678910111213141516171819202122<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android" android:versionCode="1" android:versionName="1.0" android:compileSdkVersion="32" android:compileSdkVersionCodename="12"...
ByteDroid2022 BronzeDroid复现
ByteDroid2022 BronzeDroid复现APK分析AndroidManifest.xmlFileProvider用来把 App 内部文件,用 content:// 的方式安全地共享出去 Android开始直接禁用file://共享 而@xml/file_path定义了可分享的范围: 1234<?xml version="1.0" encoding="utf-8"?><paths> <root-path name="root" path=""/></paths> <root-path> 的意思是:把设备文件系统的根目录 /作为可共享的基准路径 path="" 基本等价于:不做任何子目录限制 name="root" 只是一个别名(后面构造 content://...
ByteCTF2021 ByteDroid2复现
ByteCTF2021 ByteDroid2复现参考:ByteCTF2021 writeup for Android challenges - 飞书云文档 APK分析AndroidManifest.xml123456789101112131415161718<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android" android:versionCode="1" android:versionName="1.0" android:compileSdkVersion="30" android:compileSdkVersionCodename="11" package="com.bytectf.bytedroid2"...
ByteCTF2021 HardDroid复现
ByteCTF2021 HardDroid复现依旧参考:ByteCTF2021 HardDroid复现 | LLeaves Blog APK分析AndroidManifest.xml注意到这里的TestActivity与之前不同,android:launchMode=”standard,是 Activity 的启动模式,决定了系统在启动这个 Activity 时,如何创建/复用实例。 standard = 每次 startActivity(),都会新建一个 Activity 实例 (默认值) launchMode 行为 standard 每次启动都 new 一个 默认,最容易被反复触发 singleTop 栈顶复用 防止重复打开页面 singleTask 全局唯一一个 常用于登录页 singleInstance 独占一个任务栈 很少见,系统级 12345678910111213141516171819<?xml version="1.0"...
ByteCTF2021 ByteDroid1复现
ByteCTF2021 ByteDroid1复现依旧参考:ByteCTF2021 ByteDroid1复现 | LLeaves Blog APK分析AndroidManifest.xml123456789101112131415161718<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android" android:versionCode="1" android:versionName="1.0" android:compileSdkVersion="30" android:compileSdkVersionCodename="11" package="com.bytectf.bytedroid1"...
ByteCTF2021 MediumDroid复现
ByteCTF2021 MediumDroid复现依旧学习:ByteCTF2021 MediumDroid复现 | LLeaves Blog APK分析AndroidManifest.xml跟easydroid差不多组件 12345678910111213141516171819202122<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android" android:versionCode="1" android:versionName="1.0" android:compileSdkVersion="30" android:compileSdkVersionCodename="11" package="com.bytectf.mediumdroid"...

