保研面试(英语)
保研面试1.读过哪些书,哪些著作,哪些期刊 A Federated Learning Paradigm for Heart Sound Classification FedProto: Federated Prototype Learning across Heterogeneous Clients Communication-Efficient Learning of Deep Networks from Decentralized Data 从分散的数据中进行深度网络的通信高效学习 没听清:sorry, could you repeat your question again? ==Please introduce your hometown== ==Please introduce your collage school.== ==Please introduce your parents== ==What’s your...
逆向攻防世界CTF系列8-getit
逆向攻防世界CTF系列8-getit 其中 123strcpy(filename, "/tmp/flag.txt"); #此行代码将指定文件的路径存储在 filename 中。stream = fopen(filename, "w"); #stream 是一个 FILE* 类型的指针,指向打开的文件。fprintf(stream, "%s\n", u, v5); #是一个格式化输出函数,用于向指定的文件流写入格式化的数据。 因此这是写出flag的内容到txt,我们关注上面的代码 12345678v9 = __readfsqword(40u);LODWORD(v5) = 0;while ( (signed int)v5 < strlen(s)){ if ( v5 & 1 ) v3 = 1; else v3 = -1; *(&t + (signed int)v5 + 10) = s[(signed int)v5] + v3; LODWORD(v5) = v5 +...
Spring5
Spring5一、Spring 框架概述 Spring 是轻量级的开源的 JavaEE 框架 Spring 可以解决企业应用开发的复杂性 Spring 有两个核心部分:IOC 和 Aop IOC:控制反转,把创建对象过程交给 Spring 进行管理 Aop:面向切面,不修改源代码进行功能增强 Spring 特点 方便解耦,简化开发 Aop 编程支持 方便程序测试 方便和其他框架进行整合 方便进行事务操作 降低 API 开发难度 ==Spring5 入门案例== jar包地址:https://repo.spring.io/release/org/springframework/spring/ 创建普通类,在这个类创建普通方法 12345public class User { public void add() { System.out.println("add......"); }} 创建 Spring...
逆向攻防世界CTF系列7-logmein
逆向攻防世界CTF系列7-logmein==重要知识点:不同ida版本的反编译结果不同!!!== 64位,main函数 目的是执行最后的这段代码 审计代码,v3长度>=v8长度 if ( i >= strlen(v8) ) sub_4007C0(); 则可知v3长度必须等于v8长度,否则下标i会>=v8 ==看到下面那段代码的时候发现怎么都解释不通,后来发现了一个震惊小白的事,就是不同版本的ida反编译的伪代码不同,我刚才用的是idapro 8.3 然后去试了idapro7.7 和idapro 7.0,发现7的反编译结果才是正确的,如下图== 用上了v6和v7,而之前的伪代码都没有用上!!!! 让我们再解读一下下面那个语句吧: 重点是:(_BYTE...
SpringBoot基础篇
SpringBoot基础篇一、Springboot介绍 基于SpringBoot官网创建项目,地址:https://start.spring.io/,**需联网** 基于阿里云创建项目,地址:https://start.aliyun.com 示例如图 建议选定2.5.7版本 隐藏文件 1.1...
SpringMVC
SpringMVC一、SpringMVC简介1.1 什么是MVCMVC是一种软件架构的思想,将软件按照模型、视图、控制器来划分 M:Model,模型层,指工程中的JavaBean,作用是==处理数据== JavaBean分为两类: 一类称为实体类Bean:专门存储业务数据的,如 ==Student、User== 等 一类称为业务处理 Bean:指 ==Service 或 Dao...
逆向攻防世界CTF系列6-simple-unpack
逆向攻防世界CTF系列6-simple-unpack 发现被加壳了,要脱壳,根据信息upx去寻找,找到脱壳工具脱壳,这里我提供一个,当然你也可以根据exeinfo后面的提示 https://pan.xunlei.com/s/VNu8zizHwjh-TCsW336-Hl0jA1?pwd=f3u5# 没壳了,扔进IDApro 64位,shift+F12找到flag flag{Upx_1s_n0t_a_d3liv3r_c0mp4ny}
GDB基本使用及pwn常用命令
GDB基本使用及pwn常用命令i r查看寄存器 start 运行程序,停在 main 函数的第一行。 run 从程序的入口点开始执行,并会一直运行,直到.程序正常结束。 b main ,b *(0xdsds)设置断点 i b查看断点,d main删除断电,disable b 2,让断点失效。enable b 3 si会进入xx方法实现的里面 ni是下一步。finish步出 c继续 显示从地址0x100开始的10个十六进制数:x/10x 0x100 显示从寄存器$rax开始的4个无符号十进制数:x/4uw $rax 显示字符数组str的内容,直到遇到’\0’结束:x/s str x/20g $rbp-0x20:这个命令表示从地址$rbp-0x20开始,以十六进制格式打印20个g大小的内存单元。这里的g通常代表8字节(64位)的巨量(giant word)。所以它会打印20个8字节的值,总共160字节的数据。这种格式通常用于查看较大数值或指针地址(在64位系统上指针也是8字节)。 x/20b...
逆向攻防世界CTF系列5-open-source
逆向攻防世界CTF系列5-open-source12345678910111213141516171819202122232425262728293031323334#include <stdio.h>#include <string.h>int main(int argc, char *argv[]) { if (argc != 4) { printf("what?\n"); exit(1); } unsigned int first = atoi(argv[1]); if (first != 0xcafe) { printf("you are wrong, sorry.\n"); exit(2); } unsigned int second = atoi(argv[2]); if (second % 5 == 3 || second % 17 != 8) { ...
pwn细节
pwn细节send和sendlineread(fd, buf, count) 文件描述符,为0,从输入的缓冲区中读取(标准输入),通俗理解为从哪读,即使超过count也能输入到缓冲区;读到哪;读入字符数。 sendline和send都是发送数据,sendline会在发送的数据末尾加一个回车。而这个回车所造成的影响,是跟对应的输入函数有关系,输入函数有scanf(”%s”),gets(),read(),fgets(),这四个函数。 read会把这个回车(ASCII码也就是0a)存入到栈中 输入的数据先是放入了缓冲区中,再从缓冲区中写到了指定的地址,虽然sendline的回车没有被写进去,但是回车停留在了缓冲区中。接下来如果有gets函数需要获取输入的话,gets函数会因为这个缓冲区里的回车直接结束,不会从用户这里获取输入。 使用 gets() 时,系统会将最后输入的换行符(也就是回车)从缓冲区中取出来,然后给舍弃,因此缓冲区中不会遗留换行符(不用考虑send和sendline的区别) scanf是从第一个非空白字符(空格 换行...