首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
AI 模拟面试
简历
求职
学习
基础学习课
实战项目课
求职辅导课
专栏&文章
竞赛
搜索
我要招人
发布职位
发布职位、邀约牛人
更多企业解决方案
在线笔面试、雇主品牌宣传
登录
/
注册
开开心心写
获赞
11
粉丝
1
关注
1
看过 TA
16
西北工业大学
2024
Java
IP属地:未知
暂未填写个人简介
私信
关注
拉黑
举报
举报
确定要拉黑开开心心写吗?
发布(444)
评论
刷题
开开心心写
关注TA,不错过内容更新
关注
2020-05-03 22:50
已编辑
西北工业大学 Java
20180CTF g0g0g0 writeup
一道很好的题目,从逆向到数学密码到工具 贴几个writeup吧,比较难找: https://www.jianshu.com/p/d906619a01b7 https://github.com/xiaohuajiao/my-ctf/tree/master/2018/0ctf/g0g0g0 http://westerns.tokyo/writeups/0ctf2018quals.html#g0g0g0 上面的链接,把solve.py改成solve.sage,linux下装个sage,直接跑就可以得到结果 当得到了数学表达式后,可以从这个网站上直接得到结果: https://math.stacke...
0
点赞
评论
收藏
分享
2020-05-03 22:49
西北工业大学 Java
go语言
用最简单的方式学懂go的语法 https://coolshell.cn/articles/8460.html https://coolshell.cn/articles/8489.html go语言官方指南 最好还是安装在linux下: 安装go,查看go版本,给go语言创建工作区workspace sudo apt-get install golang go version mkdir ~/workspace echo 'export GOPATH="$HOME/workspace"' >> ~/.bashrc source ~/.bashrc
0
点赞
评论
收藏
分享
2020-05-03 22:49
已编辑
西北工业大学 Java
20180CTF udp writeup
一道linux下的父子进程调试题 首先分析main: A:绑定了5999端口 B:fork了4000个子进程,并对齐进行阻塞 C:对于fork的4000个子进程的每一个,进行一次数据交互,先发送,再等待接收 D:持续和子进程0进行交互,发送3过去,当接收回来是4,flag++,接收回来是5,输出flag 然后就是另一个重要函数:0x400B45,son_udp 在main中每一个子进程fork成功时,都会调用该函数 A:与main交互,发送数据 B:在子进程中,开始对main中的数据值进行判断,并针对操作 当recvbuf为3时,说明是子进程0在操作 C:在之后的分析中,多...
0
点赞
评论
收藏
分享
2020-05-03 22:48
西北工业大学 Java
状压dp POJ 3254 Corn Fields
链接:http://poj.org/problem?id=3254 题意:m*n的矩阵,每个格子中都有个0或者1,0表示不能放牧,1表示可以放牧,要求不能出现相邻的牧场都放牧了。求方案总数 注意到这个题的m和n都特别小,都不超过12 那么:想到状态压缩 枚举每一行的所有放牧的方案,用1表示放牧,用0表示不放牧,每一个数的二进制展开均为0和1的形式 那么:所有的状态总数也是很小的:2^12 = 4096种 题目要求:相邻的不能放牧:上下左右称为相邻,也就是说,当前行的枚举判断的条件,只与当前行的状态与上一行的状态有关系。定义dp[i][j]:前i行,且第i行状态为j时的方案数 考虑状态转移:我们...
0
点赞
评论
收藏
分享
2020-05-03 22:48
已编辑
西北工业大学 Java
状压dp POJ1185 炮兵阵地
题目链接:http://poj.org/problem?id=1185 和POJ3254一个套路:只是把“相邻”的定义改了一下 POJ3254:相邻指的是上下左右各一格 本题:相邻指的是上下左右各两格 同样地:数据还是很小,那么我们可以枚举前一行,以及前两行的状态来实现dp转移 dp[i][j][k]:前i行,第i行状态为k,第i-1行状态为j时放置炮兵数量的最大值 注意这里状态为j,指的是第j个合法状态,初始化的时候已经一一对应的枚举过了 #include <cstdio> #include <cstring> #include <iostream> ...
0
点赞
评论
收藏
分享
2020-05-03 22:48
已编辑
西北工业大学 Java
恶意代码分析实战Lab1101
双机调试一直出了不晓得为什么的问题,导致第十章的东西一直不晓得怎么调试 先往后走一章,windbg之后再补习好了 IDA分析该程序 main中的重要函数有两个,分别是401080和401000 分析401080函数: 第一眼看到的是FindResource的API调用,该函数确定指定模块中指定类型和名称的资源所在位置。其中参数是: 第一个参数是被提取资源文件的句柄,第二个参数是被提取资源的名称,第三个参数是需要提取的类型 然后执行了打开文件、写入文件的操作,文件名为: 可见,底下应该会生成一个伪造的(蓝色标记) 在程序运行之前,搜索msgina32.dll 这个版本下搜索不到ms...
0
点赞
评论
收藏
分享
2020-05-03 22:47
已编辑
西北工业大学 Java
恶意代码分析实战Lab1102
打开ini文件,看到一个字符串,明显是加密过的,很容易猜想dll会对其进行解密 首先关注到ini文件的使用方式 可知ini文件需要放到system32目录下,该dll才可以正确运行 100010B3函数对读取的每一位做计算 不晓得这堆数据有什么用 然后分析到100014B6函数: 合理猜测当这些dll或者exe运行时,会调用该恶意代码 分析installer函数: 很常见的注册表键值操作以及文件操作 分析113D函数块: 这里有可能是作为控制端的后门回传 接下来就可以试着动态调一调会发生什么 记得把ini文件放到C:\Windows\System32目录下 变化如下:...
0
点赞
评论
收藏
分享
2020-05-03 22:47
西北工业大学 Java
inetsim安装
http://www.inetsim.org/packages.html 果然官方的东西是最好的~~~不走弯路 成功了之后是这样: INetSim 1.2.7 (2017-10-22) by Matthias Eckert & Thomas Hungenberg Main logfile '/home/pang/inetsim-1.2.7/inetsim-1.2.7/log/main.log' does not exist. Trying to create it... Main logfile '/home/pang/inetsim-1.2.7/inetsim-1.2.7/log/m...
0
点赞
评论
收藏
分享
2020-05-03 22:46
已编辑
西北工业大学 Java
Rabin加密解密算法
取两个大素数p和q,n=pq 选择这样的pq可以方便简化计算 加密: 为明文空间,选择 为某一明文,加密公式为 . 例子:p=7,q=11,n=77,P={0,...,76},当m=20时,密文c=400 % 77 = 15 解密: 当n无法分解时,我们是无法计算的,还是刚才的例子,我们假设已经用某种方法得到了n=pq,即77=7*11 已知n=77,77=7*11,明文c=15,求密文m 先计算在同余意义下的平方根 当 时,更方便计算,公式为: . 计算得...
0
点赞
评论
收藏
分享
2020-05-03 22:44
西北工业大学 Java
LSB oracle attack
原理: https://crypto.stackexchange.com/questions/11053/rsa-least-significant-bit-oracle-attack 例题: 2016 Plaid CTF:rabit(rabin加密解密的LSB oracle攻击) 2016 sharif CTF:lsb-oracle-150(RSA加密解密的LSB oracle攻击) 可能出现的问题: WindowsError:当py脚本调用exe时,找不到文件路径 linux下需要安装wine来运行exe文件 sudo apt-get install wine
0
点赞
评论
收藏
分享
2020-05-03 22:44
已编辑
西北工业大学 Java
2016 Sharif CTF unterscheide
知识点:费马小定理 当p为素数时,a^(p-1)≡1(mod p) 题目分析: #!/usr/bin/python import gmpy import random, os from Crypto.Util.number import * from Crypto.Cipher import AES from secret import flag, q, p1, p2, h assert (gmpy.is_prime(q) == 0) + (q-1) % p1 + (q-1) % p2 + (p2 - p1 > 10**8) + (pow(h, 1023*p1*p2, q)...
0
点赞
评论
收藏
分享
2020-05-03 22:43
已编辑
西北工业大学 Java
2016 0CTF rsa
知识点:多素数,中国剩余定理,模三次剩余 题目给了一个flag.enc,还有一个public.pem 安装openssl可以读取到n和e,因为n不大,可以在yafu或者factordb.com上分解得到n = p * q * r 根据flag.enc,可以得到密文m 根据中国剩余定理,我们要求得m在p,q,r下的余数,不妨设为pmod,qmod,rmod 然后根据模三次剩余,即:proot ^ 3 ≡ pmod ( mod p),求得:proot,同理求得qroot,rroot 利用网页工具可以直接计算得到: http://www.wolframalpha.com/input/?i=x%5...
0
点赞
评论
收藏
分享
2020-05-03 22:43
西北工业大学 Java
2016 Boston Key Party CTF bobs-hat RSA-attack
知识点:Fermat分解 首先使用openssl: openssl rsa -text -modulus -pubin < almost_almost_almost_almost_there.pub 得到第一关的n和e(这里也可以yafu.exe) 然后使用Fermat分解,得到p和q,求得明文(即压缩包的密码) def isqrt(n): x = n y = (x + n // x) // 2 while y < x: x = y y = (x + n // x) // 2 return x def fermat(n): x = isqrt(...
0
点赞
评论
收藏
分享
2020-05-03 22:43
西北工业大学 Java
2016 Boston Key Party CTF hmac-crc
这种做法应该算是:选择密钥攻击 http://mslc.ctf.su/wp/boston-key-party-ctf-2016-hmac-crc-crypto-5pts/ HMAC–CRC(m,k)=(qm(x)⊕rm(x)k(x))modP(x), 根据这个式子,当m不变时,qm(x)和rm(x)不变 令k(x)=0,则有:HMAC–CRC(m,0) = (qm(x))modP(x), 令k(x)=1,则有:HMAC–CRC(m,1) = (qm(x)⊕rm(x))modP(x), 两式异或得到: HMAC–CRC(m,0)⊕ HMAC–CRC(m,1) = rm(x) modP(x) HM...
0
点赞
评论
收藏
分享
2020-05-03 22:42
已编辑
西北工业大学 Java
恶意代码分析实战Lab1103
把当前目录下的dll复制一份到system32系统目录 接着开启了服务名称叫做:cisvc 分析401070: 新建一个文件,可能还有其他的判断标志 接下来分析dll DllEntryPoint没什么特别 Dllmain直接return 1 这个导出函数创建了一个线程,并且调用了StartAddress函数 如果互斥量成功打开,则在System32这个系统目录下新建一个kernel64x.dll 且写入数据: 剩下的需要动态运行判断 exe成功将1103.dll复制到了system32目录下 问题3:exe如何安装dll来实现长期驻留 问题4:恶意代码感染...
0
点赞
评论
收藏
分享
1
23
24
25
26
27
30
关注他的用户也关注了:
牛客网
牛客企业服务