lycium blog

学无止境.

收藏优秀的技术博客

优秀技术博客镜像页

互联网优秀的博客 安装s390x虚拟机=>在hercules上安装Ubuntu 18.04 s390x SROP=>Sigreturn Oriented Programming (SROP) Attack攻击原理 Qemu CVE-2015-5165=>QEMU 信息泄露漏洞 CVE-2015-5165 分析及利用

Macos逆向杂记

初探Macos dylib格式

Macos逆向杂记 Macos 文件格式 今天需要分析一个程序,好贵,买不起,于是只能对此学习,网上的学习版软件怎么来的呢?好奇 于是下载,是著名团队“TNT”,于是分析,得知DYLD_INSERTPOSE宏实现hook,原来dalao写注册机这么优雅,于是分析学习版软件。 dyld详解和dylib动态库加载过程分析并且自己拿clang写了几个例子载入IDA看看长啥样,学习了不少文件格式...

android gradle sync fail

gradle sync fail

解决办法,换成阿里镜像 build.gradle buildscript { repositories { //google() //jcenter() maven { url 'https://maven.aliyun.com/repository/google' } maven { url 'https://ma...

macOS-automaker-初次尝试

批量ppt转换为pdf

批量转换ppt为pdf流程 automaker->文件和文件夹->获取制定的访达项目 实用工具->运行applescript on run {input, parameters} set theOutput to {} tell application "Microsoft PowerPoint" -- work on version 15.15 or newer...

chunk-extend-and-overlap

chunk-extend-and-overlap

chunk extend overlap条件 程序中需要存在基于堆的漏洞 漏洞需要可以控制chunk header的数据 攻击举例 对inuse的fastbin进行extend 对inuse的smallbin进行extend 对free的smallbin进行extend 通过extend后向overlap 通过篡改presize size实现向前overl...

heapoverflow-and-off-by-one

heap attack

堆攻击技巧:heap over flow 和 off by one 一般情况而言一下两个可以发生堆溢出的前提 程序向堆上写入数据 写入的数据大小没有被很好的控制 我们利用堆溢出的基本策略 覆盖下一个chunk的prevsize、size、chunk_content 利用堆的机制来进行数据的写入例如unlink 一下函数可能会发生溢出 gets scanf...

linux-amd64-printable-shellcode

linux-amd64-shellcode

amd64 linux printable shellcode amd64 linux shellcode的编写很简单有很多的工具,pwntools,roputils可以帮助我们十分方便的生成shellcode。 在一些非常限制的应用中我们要使用printable shellcode。 一下工具配合asm生成工具可以轻松生成shellcode https://github.com/ecx8...

ascii-shellcode

ascii-shellcode

Ascii shellcode 一般一下指令在printable范围内 1.数据传送: push/pop eax… pusha/popa 2.算术运算: inc/dec eax… sub al, 立即数 sub byte ptr [eax… + 立即数], al dl… sub byte ptr [eax… + 立即数], ah dh… sub dword ptr [eax… + 立即数]...

fake FILE struct

fake FILE

FILE struct linux中标准IO库中使用FILE 结构体来描述文件的结构。此结构体会在调用open时创建。 struct _IO_FILE { int _flags; /* High-order word is _IO_MAGIC; rest is flags. */ #define _IO_file_flags _flags /* The followin...

堆数据结构的理解

堆的数据结构

_int_malloc _int_malloc是内存分配的核心函数它主要进行一下思想的核心操作: 根据用户申请的内存块大小来进行分配(fastbin,small bin,large bin,unsorted bin) 有小到大依次检查不同的bin又不是有相应的块可以用来分配 当所有的chunk无法满足则会考虑top chunk top chunk无法满足则会内存申请 ...