- 博客(4)
- 收藏
- 关注
原创 攻防世界RESERVE练习区解析合集(下)
九:no-strings-attached 首先利用下载附件,使用EXEinfo PE查看文件类型 为32位 利用IDA打开,找到主函数查看伪代码 对比比较发现 最后一个函数与flag有关 不难分析出s2就是我们所需得flag decrypt是包装加码,我们点击跟踪 它先把参数 s 复制给 dest,与就是s=dest,然后把 dest 的每个值减去 a2 的值,然后再返回加密后的 dest。那么,我们就把s与a2找出来,相减就得到flag。 跟进s: shift+...
2022-01-31 22:47:50
765
原创 攻防世界RESERVE练习区解析合集(中)
首先利用下载附件,使用EXEinfo PE查看文件类型 为32位 利用IDA打开,找到主函数 同时Shift+F12 我们就此可以推测这就是flag 六:python-trade 我们利用软件打开为一堆乱码 反编码得到: import base64 #Base64是一种任意二进制到字符串的编码方法,.base64生成的编码都是ascii码。 base64编码或解码都返回的是字节,需要手动转换成字符 def enc.
2022-01-28 23:59:24
555
原创 攻防世界RESERVE练习区解析合集(上)
一:game 首先利用下载附件,使用EXEinfo PE查看文件类型 为32位 利用IDA打开,同时Shift+F12 找到flag,双击,利用F5查看伪代码 分析得。在最后的for循环中函数进行了两次异或运算( a^=b等价于a = a^b,其中^是位异或运算如果a、b两个值不相同,则异或结果为1。. 如果a、b两个值相同,异或结果为0),可以分别看做a[i]^b[i] 和a[i]^0x13u。 a=[18,64,98,5,2,4,6,3,6,48,49,65,32,12,48,65,31
2022-01-27 12:44:41
825
原创 学习记录11.23
#include <stdio.h>#include <string.h> int main(int argc, char *argv[]) { if (argc != 4) { // argc = 4 printf("what?\n"); exit(1); } unsigned int first = atoi(argv[1]); if (first != 0xcafe) { // fi...
2021-11-23 20:49:49
249
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人