(加密基础)AES篇

AES加密AES算法原理和C语言实现AES加密算法图解AES算法原理:AES算法可以归纳为四种操作处理,分别为密钥加法层、字节代换层、行位移层、列混淆层标准的AES算法密钥和明文都是等长的,一共有128位,196位和256位三种长度,这里重点讲解128位的情况:128位(16个字节)的的明文会被处理成4X4的二维数组12345678910111213141516↓转化15913261014371115
分类: 其他 发布时间: 10-03 22:46 阅读次数: 0

2020网鼎杯玄武组移动安全wp

ps:题目是别人发给我的,本人太菜没资格参加这个比赛vulcrack首先jadx打开,发现是一个壳程序libjiabu.so和包名这些很容易看出是一个360壳,这里采用最近各大论坛比较流行的frida-dexDump进行脱壳讲道理这题挺恶心人的,我用安卓模拟器打开的时候无法运行,感觉可能是该360壳存在模拟器检测,那么没办法只有使用真机进行操作,然鹅我的真机的比较辣鸡,启动frida经常报错,其中甚至考虑过手动脱壳,最后折腾半天终于完成脱壳。脱壳过程启动frida_server:cd /.
分类: 其他 发布时间: 10-03 22:46 阅读次数: 0

攻防世界密码学新手区解题思路

1.base64直接使用工具解密base642.Caesar使用工具进行解密,发现偏移为123.Morse将1看成-,0看成.转化成小写4.混合编码首先base64解码:LzExOS8xMDEvMTA4L&a
分类: 其他 发布时间: 10-03 22:46 阅读次数: 0

(加密基础)RSA篇

RSA算法RSA是一种非对称加密算法,假如甲要和乙通讯,甲使用公钥 A 加密,将密文传递给乙,乙使用私钥 B 解密得到明文,其中公钥是在网络上进行传递的,私钥只有乙自己拥有,不在网络上传递,这样即使知道了公钥 A 也无法解密传输的信息RSA算法原理和python代码实现1.生成公私钥1.1给定两个质数P,Q这里的P,Q越大,该算法就会越安全,为了方便描述,这里给定P=67,Q=71,那么他们的乘积n=47571.2计算n的欧拉函数φ(n)根据欧拉函数的定义,φ(n)等于所有小于等于n的正整数中
分类: 其他 发布时间: 10-03 22:46 阅读次数: 0

(加密基础)TEA篇

TEA算法1.简介TEA算法全称微型加密算法(Tiny Encryption Algorithm)是一种简单容易实现的加密算法,通常只需要很少的代码就可以实现2.加密过程在加密过程中,需要使用2个32位的无符号整数,密钥为128位,四个32位无符号整数流程图:加密中一共有五个量参与运算,l(第一个明文),r(第二个明文),sum=0,delta给定一个定值,密钥key每一轮:sum+=delta;l += ((r << 4) + key[0]) ^ (r + sum) ^ ((
分类: 其他 发布时间: 10-03 22:46 阅读次数: 0

Android ptrace注入基础

一、Android ptrace注入基础1.可执行文件建立首先建立一个ELF可执行文件target,使用ndk-build进行编译需要先在任意地方建立一个jni,然后在jni目录下建立Android.mk,Application.mk,target.cAndroid.mk:LOCAL_PATH := $(call my-dir)include $(CLEAR_VARS)LOCAL_MODULE := targetLOCAL_SRC_FILES := target.cinclude
分类: 其他 发布时间: 10-03 22:46 阅读次数: 0

某运动APP登录协议分析

因为一直忙于考试,很久没有学习了,今天随意分析了一个app就当是恢复训练了某APP登录协议分析一、抓包主要分析的是该APP的手机验证登录协议,首先启动Fillder开始抓包,打开该app,输入相关手机号和验证码抓到的包如下:POST https://api.gotokeep.com/account/v2/sms HTTP/1.1Content-Type: application/json; charset=UTF-8Content-Length: 163Host: api.gotoke.
分类: 其他 发布时间: 10-03 22:46 阅读次数: 0

统计工龄 (20分)(map一招搞定)

给定公司N名员工的工龄,要求按工龄增序输出每个工龄段有多少员工。输入格式:输入首先给出正整数N(≤10​5),即员工总人数;随后给出N个整数,即每个员工的工龄,范围在[0, 50]。输出格式:按工龄的递增顺序输出每个工龄的员工个数,格式为:“工龄:人数”。每项占一行。如果人数为0则不输出该项。输入样例:810 2 0 5 7 2 5 2输出样例:0:12:35:27:110:1这道题让按工龄升序输出,直接map,键不重复且map中键值本身就是从小到大排序,直接把排序搞定了
分类: 其他 发布时间: 10-03 22:46 阅读次数: 0

【GPLT】L1-011 A-B (20分)

本题要求你计算A−B。不过麻烦的是,A和B都是字符串 —— 即从字符串A中把字符串B所包含的字符全删掉,剩下的字符组成的就是字符串A−B。输入格式:输入在2行中先后给出字符串A和B。两字符串的长度都不超过10​4,并且保证每个字符串都是由可见的ASCII码和空白字符组成,最后以换行符结束。输出格式:在一行中打印出A−B的结果字符串。输入样例:I love GPLT! It’s a fun game!aeiou输出样例:I lv GPLT! It’s fn gm!#inclu
分类: 其他 发布时间: 10-03 22:46 阅读次数: 0

电话聊天狂人 (25分)(map做法,散列不会)

给定大量手机用户通话记录,找出其中通话次数最多的聊天狂人。输入格式:输入首先给出正整数N(≤10​5),为通话记录条数。随后N行,每行给出一条通话记录。简单起见,这里只列出拨出方和接收方的11位数字构成的手机号码,其中以空格分隔。输出格式:在一行中给出聊天狂人的手机号码及其通话次数,其间以空格分隔。如果这样的人不唯一,则输出狂人中最小的号码及其通话次数,并且附加给出并列狂人的人数。输入样例:413005711862 1358862583213505711862 1308862583213
分类: 其他 发布时间: 10-03 22:46 阅读次数: 0

1-4 列车厢调度 (25分)(不会做)

1 ====== <--移动方向 / 3 ===== \ 2 ====== -->移动方向 大家或许在某些数据结构教材上见到过“列车厢调度问题”(当然没见过也不要紧)。今天,我们就来实际操作一下列车厢的调度。对照上方的ASCII字符图,问题描述如下:有三条平行的列车轨道(1、2、3)以及1-3和2-3两段连接轨道。现有一列车厢停在1号轨道上,请利用两条连接轨道以及3号轨道,将车厢按照要求的顺序转移到2号轨道。规则...
分类: 其他 发布时间: 10-03 22:45 阅读次数: 0

PAT排名汇总 (25分)(巧妙排序+存储)

计算机程序设计能力考试(Programming Ability Test,简称PAT)旨在通过统一组织的在线考试及自动评测方法客观地评判考生的算法设计与程序设计实现能力,科学的评价计算机程序设计人才,为企业选拔人才提供参考标准(网址http://www.patest.cn)。每次考试会在若干个不同的考点同时举行,每个考点用局域网,产生本考点的成绩。考试结束后,各个考点的成绩将即刻汇总成一张总的排名表。现在就请你写一个程序自动归并各个考点的成绩并生成总排名表。输入格式:输入的第一行给出一个正整数N(≤
分类: 其他 发布时间: 10-03 22:45 阅读次数: 0

QQ帐户的申请与登陆 (25分)

实现QQ新帐户申请和老帐户登陆的简化版功能。最大挑战是:据说现在的QQ号码已经有10位数了。输入格式:输入首先给出一个正整数N(≤105 ),随后给出N行指令。每行指令的格式为:“命令符(空格)QQ号码(空格)密码”。其中命令符为“N”(代表New)时表示要新申请一个QQ号,后面是新帐户的号码和密码;命令符为“L”(代表Login)时表示是老帐户登陆,后面是登陆信息。QQ号码为一个不超过10位、但大于1000(据说QQ老总的号码是1001)的整数。密码为不小于6位、不超过16位、且不包含空格的字符串。
分类: 其他 发布时间: 10-03 22:45 阅读次数: 0

【GPLT】L1-035 情人节 (15分)

以上是朋友圈中一奇葩贴:“2月14情人节了,我决定造福大家。第2个赞和第14个赞的,我介绍你俩认识…………咱三吃饭…你俩请…”。现给出此贴下点赞的朋友名单,请你找出那两位要请客的倒霉蛋。输入格式:输入按照点赞的先后顺序给出不知道多少个点赞的人名,每个人名占一行,为不超过10个英文字母的非空单词,以回车结束。一个英文句点.标志输入的结束,这个符号不算在点赞名单里。输出格式:根据点赞情况在一行中输出结论:若存在第2个人A和第14个人B,则输出“A and B are inviting you to di
分类: 其他 发布时间: 10-03 22:45 阅读次数: 0

【MOOC】03-树3 Tree Traversals Again (25分)

An inorder binary tree traversal can be implemented in a non-recursive way with a stack. For example, suppose that when a 6-node binary tree (with the keys numbered from 1 to 6) is traversed, the stack operations are: push(1); push(2); push(3); pop(); pop(
分类: 其他 发布时间: 10-03 22:45 阅读次数: 0

2-3 链表拼接 (20分)(注意C与C++的不同)

本题要求实现一个合并两个有序链表的简单函数。链表结点定义如下:struct ListNode { int data; struct ListNode *next;};函数接口定义:struct ListNode *mergelists(struct ListNode *list1, struct ListNode *list2);其中list1和list2是用户传入的两个按data升序链接的链表的头指针;函数mergelists将两个链表合并成一个按data升序链接的链表,并返回
分类: 其他 发布时间: 10-03 22:45 阅读次数: 0

6-3 Add Two Polynomials (20分)(附测试点)

Write a function to add two polynomials. Do not destroy the input. Use a linked list implementation with a dummy head node. Note: The zero polynomial is represented by an empty list with only the dummy head node.Format of functions:Polynomial Add( Polyno
分类: 其他 发布时间: 10-03 22:45 阅读次数: 0

2-4 另类堆栈 (20分)

在栈的顺序存储实现中,另有一种方法是将Top定义为栈顶的上一个位置。请编写程序实现这种定义下堆栈的入栈、出栈操作。如何判断堆栈为空或者满?函数接口定义:bool Push( Stack S, ElementType X );ElementType Pop( Stack S );其中Stack结构定义如下:typedef int Position;typedef struct SNode *PtrToSNode;struct SNode { ElementType *Data; /*
分类: 其他 发布时间: 10-03 22:45 阅读次数: 0

【CCF——202009-1】称检测点查询(编译出错?)

题目背景2020 年 6 月 8 日,国务院联防联控机制发布《关于加快推进新冠病毒核酸检测的实施意见》,提出对“密切接触者”等八类重点人群“应检尽检”,其他人群“愿检尽检”。问题描述某市设有n个核酸检测点,编号从1到n,其中i号检测点的位置可以表示为一个平面整数坐标 。为方便预约核酸检测,请根据市民所在位置 ,查询距其最近的三个检测点。多个检测点距离相同时,编号较小的视为更近。输入格式输入共n+1行。第一行包含用空格分隔的三个整数 n、X和Y,表示检测点总数和市民所在位置。第二行到第 n+
分类: 其他 发布时间: 10-03 22:45 阅读次数: 0

KMP 串的模式匹配 (25分)(3种方法)

给定两个由英文字母组成的字符串 String 和 Pattern,要求找到 Pattern 在 String 中第一次出现的位置,并将此位置后的 String 的子串输出。如果找不到,则输出“Not Found”。本题旨在测试各种不同的匹配算法在各种数据情况下的表现。各组测试数据特点如下:数据0:小规模字符串,测试基本正确性;数据1:随机数据,String 长度为 10​5,Pattern 长度为 10;数据2:随机数据,String 长度为 10​5,Pattern 长度为 102;数据3:随机
分类: 其他 发布时间: 10-03 22:45 阅读次数: 0