文章分类 -  CyberSpace Security

上一页 1 2 3 4 5 6 7 ··· 11 下一页
摘要:好题 这题加了很多syscall 和 hook 动调的时候转来转去其实不怎么弄得清楚逻辑 由于函数很少 直接逐个查看(其实 这里通过观察 main后面的init函数 可以发现依次调用了 sub_750,sub_932,sub_710 而check就是在sub_932被调用的) 这个一眼就是qpowm 阅读全文
posted @ 2023-11-01 09:39 N0zoM1z0
摘要:apk文件 jadx打开 这里可以看到链接了一个 native-lib 看前面的checkans 这里对name base64解密再加密后 发现执行了一个从数据库查询的操作 看SQLAm 这里可以看到数据库名字是test 找到test 搜索md5后的值 结合长度为20的判断得到查询结果 kEvKc| 阅读全文
posted @ 2023-10-31 22:45 N0zoM1z0
摘要:main这里有个SMC自修改 idc脚本patch后 点击跳转 这里虽然不能F5 但是可以看出先后调用了两个函数 点击查看两个函数 RC4加密 找到对应key 且已知最后enc的结果 从 可以推出 RC4逆向decrypt即可 solution.c /* unsigned char byte_403 阅读全文
posted @ 2023-10-30 13:35 N0zoM1z0
摘要:笑死 自己写xor了半天还一堆bug 还是pwn的xor强 打开apk 这里是打开decrypted作了一个异或加密后得到encrypted 我们将apk改为zip解包得到encrypted文件 python解密 from pwn import * key = b"The0xGameKey" c = 阅读全文
posted @ 2023-10-30 10:56 N0zoM1z0
摘要:chall.py from secret import flag from Crypto.Util.number import * p = getPrime(1024) q = getPrime(1024) N = p*p*q d= inverse(N, (p-1)*(q-1)//GCD(p-1, 阅读全文
posted @ 2023-10-29 12:16 N0zoM1z0
摘要:先记录着 有时间好好学学再理解 from sage.all import * p = 75206427479775622966537995406541077245842499523456803092204668034148875719001 a = 4039928064153768526323636 阅读全文
posted @ 2023-10-29 12:14 N0zoM1z0
摘要:apk逆向 结合apk打开后的界面知道最开始是一个验证 要username和passwd满足某种关系 这里简单绕过后发现有个buy flag 对应的useractivity内的 这里发现关键是要找到后面异或的bytes[] 简单看看后面有一个常规的rc4加密 这里可以反推出bytes 看这里 找一找 阅读全文
posted @ 2023-10-29 08:39 N0zoM1z0
摘要:开始重新学学pwn 其实发现reverse做多了过后对底层有了更深刻的认识后再看pwn就好很多了 这道题开了pie保护 但是它告诉我们了main函数的地址 我们就可以利用这个来算出偏移offset 进而得到shell函数的真正地址 从而利用栈溢出实现控制流劫持 这里要处理一下数据 exp.py fr 阅读全文
posted @ 2023-10-28 00:12 N0zoM1z0
摘要:IDA打开 点开ff1看看 这里有个flag::set 后面还有个ssss 静态分析好像看不出一些变量的值 直接IDA动调 在flag::set下断点 步过发现没什么实质变化 继续进入ssss 查看其中v2的值 发现flag出来了 然后跑完26次循环后shift+E导出内存数据得到flag 阅读全文
posted @ 2023-10-24 23:18 N0zoM1z0
摘要:一个字:爽! 真就层层去混淆代码 gcd,qpow,x-1... 题目给的代码特别冗余 仔细分析后发现其实就是一堆gcd,qpow,那个取反其实变着变着就变成-1了 还有一堆恒成立的条件或是恒不成立的条件 直接去掉即可 最终得到的变换核心代码: v32 = 15; for ( j = 1; j <= 阅读全文
posted @ 2023-10-24 20:01 N0zoM1z0
摘要:直接打开什么都没有 但是IDA显示了是一个elf文件 所以改个后缀 IDA就可以打开了 main作了一堆反调试处理 由于函数少 很容易在generate里发现flag 虽说是道大水题 然而我想尝试动调分析一下它给can_continue赋值后怎么调用到generate的 这里绕过反调试很暴力简单 将 阅读全文
posted @ 2023-10-24 18:37 N0zoM1z0
摘要:好题 IDA打开一共就3个函数。。。 找到关键代码 这里要注意各个变量所存的值 重点在 v13 = *v7 == (unsigned __int8)v12; 这是check判断 v12是rol后+v10+v11得到 而v10跟v8有关 v8=a3++ 所以v12可以反推flag 这里check了v1 阅读全文
posted @ 2023-10-24 18:01 N0zoM1z0
摘要:在_ROL_处下断点 查看name[]的值 we1come_to_dasctf.com 然而并不对。。。 动调进入gethostbyname 发现跳转到另一个函数 这是静态分析看不出来的 然后下个断点 等他变换完 得到最终的name[] Just_An_APIH00k11.com 所以这里是在get 阅读全文
posted @ 2023-10-23 23:44 N0zoM1z0
摘要:学习sage用法 学习p高位泄露 chall.py from Crypto.Util.number import getPrime, bytes_to_long from secret import flag p = getPrime(1024) q = getPrime(1024) n = p * 阅读全文
posted @ 2023-10-22 17:24 N0zoM1z0
摘要:解方程组 sympy: from z3 import * from sympy import * from libnum import * from primefac import * n = 22307913740463468357754335486410675936913694858280706 阅读全文
posted @ 2023-10-22 16:29 N0zoM1z0
摘要:chall.py from Crypto.Util.number import * from secret import flag p = getPrime(1024) q = getPrime(16) n = p*q m = bytes_to_long(flag) for i in range(1 阅读全文
posted @ 2023-10-22 16:08 N0zoM1z0
摘要:详细分析了代码 作个记录 main 这里调用了两个lambda形式的函数 点进去查看 乍一看什么操作变换都没有 但是你会发现里面又有个lambda1 再次点击查看 这就是作了一个xor 1的操作 注意这里操作的是输入的9个整数 而不是每一位的数 main继续往下看 看到个depart 查看 相当于把 阅读全文
posted @ 2023-10-22 14:16 N0zoM1z0
摘要:chall.py from AITMCLAB.libnum import s2n, invmod cof_t = [[353, -1162, 32767], [206, -8021, 42110], [262, -7088, 31882], [388, -6394, 21225], [295, -9 阅读全文
posted @ 2023-10-22 12:29 N0zoM1z0
摘要:这里什么都没发生。。。 发现紧挨着main上方有个ques 打开查看 打印了一些东西 这里ida动调查看 下断点 运行到断点处后 将call ___main改为call _ques 然后回车 这样就修改了运行流(当然也可以修改后面的time函数亦可) 然后f8/f9运行即可得到 HACKIT4FUN 阅读全文
posted @ 2023-10-21 20:14 N0zoM1z0
摘要:关键是要找到&Buf2对应的值 直接静态是找不到的 注意到v12 = &Buf2而v12是rdx指向的 所以动调找到这条语句及后面rdx指向的地址即可 在 下断点 main开头也下一个 输入38个字符绕过长度判断后运行到断点处 右边调出rdx的窗口 从0Ah开始的一串就是Buf2 然后一个简单的异或 阅读全文
posted @ 2023-10-21 19:09 N0zoM1z0

上一页 1 2 3 4 5 6 7 ··· 11 下一页