• 算法与程序设计实验

    算法与程序设计实验要求 1.复现代码,写上自己的注释 2.结果展示 3.将代码进行修改,bug修改,内容提升 第二章逆序计数12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061import java.io.*;import java.util.*;public class Countlnversions { publi...
  • how2heap漏洞和解析

    First fit原理 1234567891011121314151617演示glibc 的分配机制glibc 使用首次适应算法选择空闲的堆块如果有一个空闲堆块且足够大,那么 malloc 将选择它如果存在 use-after-free 的情况那可以利用这一特性首先申请两个比较大的 chunk第一个 a = malloc(0x512) 在: 0x1682010第二个 b = malloc(0x256) 在: 0x1682530我们可以继续分配它现在我们把 "AAAAAAAA" 这个字符串写到 a 那里 第一次...
  • LLVM PASS PWN(一)

    LLVM PASS PWN(一)前置知识简述为什么要编译程序机器语言是用1和0组成的代码,但机器是识别不了1和0的,更具体的是如何识别的呢?对机器电路进行设计之后,机器能识别高电平还是低电平,刚好与2进制很相似,想输入0就给机器输入低电平,想输入1,就给机器输入高电平,所以就看到了1和0的表示形式 机器语言它是计算机唯一能识别和执行的语言,但它的直观性差,可读性差,比如一串11110000111100001111机器可以快速识别是什么但是我们很难理解,再比如我们想要在屏幕上输出hello world那我们该如...
  • ret2dlresolve

    借鉴文档:【精选】ret2dlresolve超详细教程(x86&x64)-CSDN博客 x86前置知识在Linux中,程序使用_dl_runtime_resolve(link_map,reloc_offset)来对动态链接的函数进行重定位。 而ret2dlresolve攻击的核心就是控制相应的参数及其对应地址的内容,从而控制解析的函数。 延迟绑定机制第一次调用一个函数时,先是到plt表,然后jmp到got表 image.png 此时got表存的地址是在plt表上 image.png 其实也就是jmp ...
  • SROP

    高级ROP-SROP之前一直没掌握SROP技术,以此篇重新学习一下SROP 利用工具在目前的pwntools中已经集成了对于srop的攻击。 使用情况在汇编代码中看到存在systemcall的时候可以考虑采用该方法进行尝试 下面给出我们将会用到的64位函数及函数调用号和函数原型 系统调用 调用号 函数原型 read 0 read( int fd, void *buf, size_t count ) write 1 write( int fd, const void *buf, size_t c...
  • 移动开发实验1:类微信界面

    AS类微信界面开发功能要求1.、请根据课程内容设计一个app的门户框架,需要实现3-4个tab切换效果;本功能要求需要的技术为:activity、xml、fragment 2、在任一tab页中实现列表效果;本功能的实现需要使用 recycleview; 开发技术开发工具:as 版本:API 24 Android 7.0 思路分析类微信界面主要分为上中下三个部分,其中上下为 top.xml和 bottom.xml 为基础信息显示。 主界面中间部分由4个页面叠加,在进行选择内容时变换界面 其中我选择在聊天界面实...
1456789