25年Re例会作业
例会作业 2025.11.10test1:蛇年的本命语言根据课上的提示,我们逆向得到原py文件不难看出是z3约束,写出脚本 12345678910111213141516171819202122232425262728293031323334353637383940414243444546Pythonfrom z3 import *x = [Int('x_%i' % i) for i in range(30)]s = Solver()s.add(7 * x[0] == 504)s.add(9 * x[0] - 5 * x[1] == 403)s.add((2 * x[0] - 5 * x[1]) + 10 * x[2] == 799)s.add(3 * x[0] + 8 * x[1] + 15 * x[2] + 20 * x[3] == 2938)s.add((5 * x[0] + 15 * x[1] + 20 * x[2] - 19 * x[3]) + 1 * x[4] == 2042)s.add((7 * x[0] + 1 * x[1] + 9 * ...
Atri的Re之旅(2)
本章我会带来Qctf-Re向的非官方WP Week 1test1:8086ASM加密核心逻辑是循环右移+异或 12345678910111213141516171819202122232425262728293031加密核心ENCRYPT PROC PUSH AX PUSH BX PUSH CX MOV SI, OFFSET INPUT_BUFFER + 2 MOV BX, OFFSET DATA2 MOV CX, 35LOOP2: PUSH CX MOV CL, 2 MOV AL, [SI] ROR AL, CL//循环右移2位 POP CX MOV [SI], AL MOV AX, WORD PTR[SI]//同时取出两个SI字节,即此次循环右移后的imput[i]和未加密的input[i+1] XOR AX, WORD PTR[BX]//同上,将AX与两字节的BX异或 MOV WORD PTR[SI], AX INC SI ADD BX, 2 CMP BX, O...
记一道逆向题
突然得到一道安卓逆向题,这就逝逝 题目要求1.解出正确的用户名密码(10pts)2.根据逻辑使用c语言恢复正向加密逻辑(15pts)3.写出c语言逆向解密逻辑(15pts)4.成功使用logcat捕获log信息(10pts)5.借助log出来的信息完成对用户名密码的分析(25pts)6.通过修改文件逻辑让其自输出正确的密码(15pts)//出题人自己做不出来()6,尝试绕过登录页面进入程序7.wp能够清晰,详细的体现分析过程(10pts)为了避免ai一把梭,从第二点开始。 test1,2,31,打开jadx,加载apk,我们发现LoginActivity,进一步寻找,发现lib文件ndk01。2,将apk更改后缀名后解压,得到libndk01.so,放进ida,注意到左侧的login,跳转翻看伪代码。3,通过图示分析,得到账户:CTFer,并且发现最后检验为s与v294,获取byte_6F0,分析变种rc4加密 123456789101112131415161718192021222324252627282930313233343536373839404...
Atri的Re之旅(1)
test1:speed1,die查壳,发现无壳2,运行exe,发现打开后迅速结束窗口3,打开ida4,追踪WinMain函数,发现sleep(1u),设下断点5,动态调试 test2:base1,die查壳:无壳的PE64文件2,虚拟机运行,发现需要填写flag3,打开ida4,Main函数:5,用cyberchef翻译base64 test3:catch1,打开ida,查找可疑字符串2,发现字符串位数与moectf{}一致,怀疑是凯撒密码,解密后得到flag test4:upx1,根据题目提示,die查壳2,upx去壳3,打开ida,查找可能的字符串,最后发现核心加密在main函数4,分析函数,先寻找密文5,将密文重新组合后写出脚本 1234567891011121314151617181920212223242526#include <bits/stdc++.h>using namespace std;int main(){ unsigned char encrypt[]={ 0x00000023, 0x0000002B, 0x000...
