- 博客(12)
- 收藏
- 关注
原创 64位和32位的寄存器和汇编的比较
64位寄存器分配的不同 区别有:64位有16个寄存器,32位只有8个。但是32位前8个都有不同的命名,分别是e _ ,而64位前8个使用了r代替e,也就是r _。e开头的寄存器命名依然可以直接运用于相应寄存器的低32位。而剩下的寄存器名则是从r8 - r15,其低位分别用d,w,b指定长度。32位使用栈帧来作为传递的参数的保存位置,而64位使用寄存器,分别用rdi,rsi,rdx,rcx,r
2016-04-29 00:49:12 35690 4
原创 linux错误解决:CAN’T EXEC “LOCALE”: NO SUCH FILE OR DIRECTORY AT /USR/SHARE/PERL5/DEBCONF/ENCODING.PM
解决: CAN’T EXEC “LOCALE”: NO SUCH FILE OR DIRECTORY AT /USR/SHARE/PERL5/DEBCONF/ENCODING.PM问题:apt-get时出现问题:Can’t exec “locale”: No such file or directory at /usr/share/perl5/Debconf/Encoding.pm line 16.
2016-04-28 23:11:53 4411 1
原创 [Toddler's Bottle]flag
好吧,一个用upx压缩后的64位elf,拿着原文件看了半天啥都没看出来。。最后只能找别人的答案了。。。upx介绍https://zh.m.wikipedia.org/wiki/UPX解题upx -d flag 然后拿出来到IDA里边有一个flag直接就找到了
2016-04-28 22:03:19 466
原创 [Toddler's Bottle]bof
0x01 题目给出.c源代码#include <stdio.h>#include <string.h>#include <stdlib.h>void func(int key){ char overflowme[32]; printf("overflow me : "); gets(overflowme); // smash me! if(key == 0x
2016-04-28 20:56:21 464
原创 stack frame栈帧简介(逆向工程角度)
0x01 栈帧是什么“IA32 programs make use of the program stack to support procedure calls”. “IA32程序使用程序栈帧来支持子程序调用”(出自CSAPP,即《深入理解计算机系统》)个人理解,栈帧就是内存的一段数据,在内存栈区域,对子程序的数据进行一个临时保存。什么是栈?栈和堆类似,都是操作系统中分配给用
2016-04-28 15:29:47 3544
原创 bkdr hash
/* in C */#define MODULAR 12121212/* hash空间范围大小 */#define END_FLAG '\n' /*end_flag 用来标志字符串结束 当然也可以用\0 */unsigned int BKDRhash(char* str) { unsigned int seed = 131;//质数 unsigned int hash
2016-04-27 15:55:25 755
原创 [Toddler's Bottle]collision
0x01题目描述 Daddy told me about cool MD5 hash collision today. I wanna do something like that too!ssh [email protected] -p2222 (pw:guest)0x02ssh进去ls -al 理所当然 看到有flag 但是没有可读权限 有一个col文件可执行 col.c为它的源码 cat出
2016-04-18 00:26:21 781
原创 vimrc配置文件
我的配置(youcompleteme需要自己下载编译)"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" Maintainer: " Amir Salihefendic" http://amix.dk - [email protected]"" Version: " 5.0 - 29/
2016-04-17 23:48:52 456
原创 linux bash里的反引号和$内容替换
反引号和美元符号的替换两种符号 `xxx`(注意这里是反引号,就是键盘上1左边的那一个键的符号) 和$(xxx) 都是将xxx内容替换掉 区别在于bash里 使用反引号替换会导致开启子shell然后执行里边的内容然后再替换 而美元符号直接替换 不执行命令 所以可以通过`xxx`来通过shell构造字符串(比如需要调用python -c来构造一个字符串)
2016-04-17 23:40:28 820
原创 linux权限简介
关于权限用ls命令所得到的表示法的格式是类似这样的:-rwxr-xr-x 。下面解析一下格式所表示的意思。这种表示方法一共有十位: r w x r - x r - x 左起第1位表示文件类型,可以为p、d、l、s、c、b和-:p表示命名管道文件 d表示目录文件l表示符号连接文件-表示普通文件s表示socket文件c表示字符设备文件b表示块设备文件 剩下的位
2016-04-17 23:07:17 428
原创 [Toddler's Bottle]fd
题目描述解题过程0x01ssh 进入到目标服务器 输入password0x02ls 查看服务器上的文件 发现 0x03cat flag 失败 permission denied cat fd.c 太显然了。。 输入的参数减去0x1234(4660十进制)之后作为文件描述符读入 然后和LETMEWIN比较 如果相同就可以得到flag了0x04关键在这里!fd=0 是stdin fd=1 是
2016-04-17 22:49:47 422
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人