自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(22)
  • 收藏
  • 关注

原创 BUUCTF------mrctf2020_easyoverflow

环境:WSL2,ubuntu16.04,python2checksec文件:拖入ida分析:main函数中就有system(‘bin/sh’),只要check函数的返回值为1即可执行查看check函数:只要a1和fake_flag相等,函数就能返回1a1就是main函数里的v5,值为:ju3t_@_f@k3_f1@gfake_flag的值为:n0t_r3@11y_f1@g只要将v5的值覆盖为n0t_r3@11y_f1@g即可main函数中有get函数可用,v4:v4是var_

2021-10-08 16:49:22 354

原创 BUUCTF----cmcc_simplerop

环境:WSL2,ubuntu16.04,python2常规checksec文件:ida反编译:明显看到read函数会导致栈溢出gdb调试程序:用cyclic指令生成100个数字,运行程序:求输入点到返回地址的偏移:得到偏移是32,即0x20值得一提的是,在ida中,我们可以看到偏移是0x18+0x04=0x1c,以gdb调试为准原因可参考:https://blog.csdn.net/mcmuyanga/article/details/109260008文件名给了提示,使用

2021-09-28 21:45:33 412

原创 bjdctf_2020_babyrop2

环境:WSL2,ubuntu16.04,python2checksec文件:PIE保护没开,构造rop链存在Canary,需要找出Canary的值才能进行地址泄露文件拖入ida:在gift函数发现printf格式化漏洞,可以利用该漏洞获取Canary的值,但需要找出输入点参数在栈上的相对位置(找偏移量)由于scanf限制了只能输入6个字符,因此不能用AAAA %x %x %x.......来泄露值,改为:aa%6$p #6是一步步试出来的,可以从1开始尝试,p是十六进制形式结

2021-09-26 20:42:31 394

原创 BUUCTF----jarvisoj_level3_x64

环境:WSL2,ubuntu16.04,python2checksec文件:这道题level3的思路一样,只是32位的程序改成了64位。也就是说,在利用write函数泄露出libc的基地址时,需要用到寄存器来穿参数,write有三个参数,所以需要rdi,rsi,rdx三个寄存器,通过命令:ROPgadget --binary level3_x64 |grep "pop"结果:从图中可以看到只找到了rdi和rsi寄存器,没有rdx寄存器尝试gdb程序:在read函数下断点,可以看到rd

2021-09-26 16:21:53 484

原创 BUUCTF---jarvisoj_level4

环境:WSL2,ubuntu16.04,python2checksec文件:将文件拖入ida溢出点:和level3不同的是read函数之前没有调用write函数,因此要泄露libc的基地址需要用read函数,利用write函数将read函数在got表中的地址泄露出来payload = (0x88+0x04)*'a'+p32(write_plt)+p32(main_addr)+p(1)+p32(read_got)+p(4)接受泄露出来的地址read_addr = u32(io.recv(

2021-09-26 14:46:19 284

原创 ComSec学前作业一:C语言程序包GMP的使用

GMP库的应用:参考网站:https://blog.csdn.net/m0_43406494/article/details/109089658https://blog.csdn.net/m0_46296905/article/details/117091377https://blog.csdn.net/qq_40129237/article/details/81286199GMP版本:6.2.1平台:WSL2上的Ubuntu18.04LTS代码:#include <gmp.h>

2021-08-30 22:20:12 317

原创 Leetcode 消失的数字

原链接:https://leetcode-cn.com/problems/missing-number-lcci/异或解决(学到了)int missingNumber(int* nums, int numsSize){ int res = numsSize; for(int i=0;i<numsSize;i++){ res ^= i; res ^= nums[i]; } return res;}...

2021-03-21 20:17:01 67

原创 命题6.8的应用

设GGG是阿贝尔群,m是任意整数,记GGGm = { gggm: g∈Gg∈ Gg∈G }。请证明GGGm是GGG的一个子群.引用命题6.8:群GGG的非空子集HHH是GGG的子群,当且仅当H=∅H = ∅H=∅,且对任意a,b∈Ha, b ∈ Ha,b∈H,ababab-1 ∈H∈H∈H。显然GGGm非空且是群GGG的非空子集。取任意g1g1g1m,g2g2g2m∈G∈G∈Gm,由于g2∈g2∈g2∈群GGG,则存在g2g2g2的逆元g2g2g2-1 ∈G∈G∈G,则(g2g2g2-1)m∈G∈G∈G

2021-01-05 21:07:40 157

原创 CINTA命题6.8

证明:群G的非空子集H是G的子群,当且仅当H=∅,且对任意a,b∈H群 G 的非空子集 H 是 G 的子群,当且仅当 H = ∅,且对任意 a, b ∈ H群G的非空子集H是G的子群,当且仅当H=∅,且对任意a,b∈H,ababab-1 ∈H∈H∈H。充分性:HHH是GGG的子群,则对于任意a,b∈Ha,b∈Ha,b∈H,存在bbb的逆元bbb-1,由群的封闭性可得ababab-1 ∈H∈H∈H。必要性:令a=ba = ba=b,则依题意有e=aae= aae=aa-1 ∈H∈H∈H,则HHH存在单位

2021-01-05 20:43:28 133

原创 证明贝祖定理

定理2.2:设 a 和 b 为非零整数,存在整数 r 和 s 使得:gcd(a,b)=ar+bsgcd(a, b) = ar + bsgcd(a,b)=ar+bs而且,a 与 b 的最大公因子是惟一的。称 r 和 s 为 Bézout 系数。证明:构造集合S=S =S= {am+bn:m,n∈Z且am+bn>=0am+bn:m,n∈Z且am+bn>=0am+bn:m,n∈Z且am+bn>=0}。显然集合SSS非空,根据良序原则,取其中最小值d=ax+byd=ax+byd=ax+b

2021-01-05 15:58:13 881

原创 CINTA作业十二、Ring和Ideal

2.如果任取环RRR中的元素xxx使得xxx2 = xxx,请证明环RRR是交换环证明:任取a,b∈R,则a2 = a,b2 = b,a∗*∗a∗*∗b∗*∗b = a2 ∗*∗ b2 = a∗*∗b = (ab)2 = a∗*∗b∗*∗a∗*∗b。所以a∗*∗b = b∗*∗a,即环RRR的乘法满足交换律,所以环RRR是交换环。3.记ZZZ[√2√2√2] = {a + b√2 : a,b∈ZZZ},请证明ZZZ[√2√2√2]是环,且是整环。证明:①.设GGG = <ZZZ[√2√2√2

2020-12-15 23:20:59 285 2

原创 CINTA作业十:QR编程

利用二次互反律,写程序完成勒让德符号(qp)\left(\frac{q}{p}\right)(pq​)的计算,ppp和qqq是任意的奇素数。//利用欧拉准则#include <iostream>using namespace std;int pow(int a, int n, int m) { long long ans = 1; long long x = a; while (n) { if (n & 1 == 1) { ans = ans * x % m;

2020-12-05 16:35:06 293 1

原创 CINTA加分作业QR

证明:使用抽象代数的语言重新证明欧拉准则。①对于奇素数ppp,对 Zp∗Z_p^*Zp∗​构建一个映射ϕϕϕ:Zp∗Z_p^*Zp∗​ → Zp∗Z_p^*Zp∗​,对于任意aaa∈∈∈Zp∗Z_p^*Zp∗​,ϕ(a)ϕ(a)ϕ(a) = a(p−1)/2。对于任意a,ba,ba,b∈∈∈Zp∗Z_p^*Zp∗​,有ϕ(a∗b)ϕ(a*b)ϕ(a∗b) = (ab)(p−1)/2,ϕ(a)ϕ(a)ϕ(a) = a(p−1)/2,ϕ(b)ϕ(b)ϕ(b) = b(p−1)/2,又Zp∗Z_p^*Zp∗​是

2020-12-02 23:43:58 162

原创 CINTA作业十

证明:设ppp是奇素数,请证明Zp∗\Z_p^*Zp∗​的所有生成元都是模ppp的二次非剩余。①因为ppp是奇素数,则群Zp∗\Z_p^*Zp∗​中一共有ϕ(p−1)ϕ(p − 1)ϕ(p−1)个生成元,且群中的元素除单位元eee之外都是生成元。②假设Zp∗\Z_p^*Zp∗​的所有生成元都是模ppp的二次剩余,则对于任意aaa∈∈∈Zp∗\Z_p^*Zp∗​,存在bbb∈∈∈Zp∗\Z_p^*Zp∗​,使得aaa≡≡≡b2b^2b2(mod p)。③而根据群的封闭性可得b2b^2b2∈∈∈Zp∗\Z

2020-12-02 19:49:37 433 2

原创 CINTA加分作业5

1、利用中国剩余定理证明欧拉 Phi 函数 φ 是积性函数。证明:设p,q为两个互质的整数,且n = pq。设a与p互质(a<p),b与q互质(b<q),c与n互质(c<n),则由中国剩余定理得c与数对(a,b)一一对应。由于a的值有 ϕ( p)种可能,b的值有 ϕ(q)种可能,c的值有 ϕ(n)种可能。所以 ϕ(n) = ϕ( p) ϕ(q),即 ϕ(pq) = ϕ(p ) ϕ(q),所以欧拉 Phi 函数 φ 是积性函数。2、设 m 和 n 为互素的正整数,且 m, n &g

2020-11-24 23:00:46 247

原创 CINTA第九章作业

#include<iostream>using namespace std;void exchange(int *a,int *b){ int temp = *a; *a = *b; *b = temp;}int egcd(int a,int b,int &r0,int r1,int &s0,int s1){ int tempa=a; int tempb=b; int k=0; while(a&1==0 &&a

2020-11-24 22:36:31 125

原创 CINTA加分作业4

设p和q是两个不同的素数,G是阶为pq的阿贝尔群,请证明G是循环群。证明:若G没有非平凡子群,则G显然是循环群。当G有非平凡子群时,由拉格朗日定理得存在G的一个阶为p的子群H,且H是循环群,对于任意非单位元h∈H都是H的生成元。同理可得存在另一个阶为q的子群K,则K = < b >,H = < a >。由于G是阿贝尔群,所以H,K也是阿贝尔群。则apbpaqbq = apaqbpbq = apqbpq = (ab)pq ,则对于任意g∈G,存在a,b使得g = (ab)pq,所

2020-11-17 19:43:44 777

原创 CINTA加分作业2

第一题:当G是阿贝尔群时,任取h1n1,h2n2∈HN,(h2n2)(-1) = n2(-1)h2(-1) ,所以(h1n1) * (h2n2)(-1) = e∈H,所以HN是G的子群,当G不是阿贝尔群时,HN不具有封闭性,不是群。第二题:①.任取h1k1,h2k2∈HK,则(h1k1)(h2k2)(-1) = h1k1k2(-1)h2(-1) , 设k1k2(-1) = k’,则有(h1k1)(h2k2)(-1) = h1(h2(-1)h2)k’h2(-1) = (h1h2(-1))(h2k’h

2020-11-15 11:49:15 117

原创 CINTA第九章课后练习

4.如果G是循环群,则存在g^k3,g^k1,g^k2∈G,使得g^k3 = g^k1 * g^k2,则*ϕ*(g^k2· g^k1) = *ϕ*(g^k1) *◦* *ϕ*(g^k2) = *ϕ*(g^k3),所以*ϕ*(G)也是循环群;如果G是交换群,则对于任意a,b∈G有ab = ba,则有ϕ(ab) = ϕ(ba),所以ϕ(ab) = ϕ(a) ◦ ϕ(b) = ϕ(b) ◦ ϕ(a) = ϕ(ba),所以ϕ(G)也是交换群。5.由题目可得[G:H] = 2,即群G有两个不同的左(右)陪集,

2020-10-28 22:51:40 233 1

原创 洛谷P1563玩具谜题

简单的模拟,用结构体管理数据,一共就两种情况#include <iostream>#include <cstring>using namespace std;struct people{ int po; string work;};int main(){ int n,m,i,j,a,b,dir = 0; cin>>n&...

2020-04-28 09:41:09 132

原创 洛谷P5720题解

暴力破解,无需多言#include <iostream>#include <string>#include <cstdlib>using namespace std;void drawnum(int key,int order,int flag){ switch(order){ case 1: switch(key){...

2020-04-13 15:45:27 520

原创 算法导论10.1.6--------c++

10.1.6用栈实现队列Show how to implement a queue using two stacks. Analyze the running time of the queue operations.ENQUEUE: Θ(1).DEQUEUE: worst O(n), amortized Θ(1).Let the two stacks be A and B.入列:将元素...

2020-03-31 22:25:29 177

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除