上一页 1 ··· 5 6 7 8 9 10 下一页
摘要: 知识杂项 + 软连接 命令: ln s 原文件 目标文件 特征: 1.相当于windows的快捷方式 2.只是一个符号连接,所以软连接文件大小都很小 3.当运行软连接的时候,会根据连接指向找到真正的文件,然后执行 4.所有软连接文件的权限是777,而真正的权限是由指向的那个文件决定的 5.原文件丢失 阅读全文
posted @ 2019-05-28 20:21 PwnKi 阅读(171) 评论(0) 推荐(0) 编辑
摘要: Linux内核装载ELF过程 (1)bash进程调用fork()系统调用创建一个新的进程 (2)新的进程调用execve()系统调用执行指定的ELF文件,原先的bash进程继续返回等待刚才启动的新进程结束,然后继续等待用户输入命令。 (3)execve()系统调用相应的入口是sys_execve() 阅读全文
posted @ 2019-05-27 18:29 PwnKi 阅读(229) 评论(0) 推荐(0) 编辑
摘要: 可执行文件的装载与进程 覆盖装入和页映射是两种典型的动态装载方法 进程建立的三步 1.创建一个独立的虚拟地址空间 2.读取可执行文件头,并且建立虚拟空间与可执行文件的映射关系。 3.将CPU的指令寄存器设置成可执行文件的入口地址,启动运行。 常见段权限组合: + 以代码段为代表的权限为可读可执行段 阅读全文
posted @ 2019-05-23 21:15 PwnKi 阅读(222) 评论(0) 推荐(0) 编辑
摘要: windows PE/COFF章总结 本章学习了windows下的可执行文件和目标文件格式PE/COFF。PE/COFF文件与ELF文件非常相似,它们都是基于段的结构的二进制文件格式。Windows下最常见的目标文件格式就是COFF文件格式,微软的编译器产生的目标文件都是这种格式。COFF文件有一个 阅读全文
posted @ 2019-05-22 20:43 PwnKi 阅读(188) 评论(0) 推荐(0) 编辑
摘要: 知识杂项 + obj文件:当前源代码编译成二进制目标文件 + exe文件:将.obj文件与库文件.lib等文件链接生成的可执行文件 + 一个现代编译器的主要工作流程如下: 源程序(source code)→ 预处理器(preprocessor)→ 编译器(compiler)→ 汇编程序(assemb 阅读全文
posted @ 2019-05-21 20:53 PwnKi 阅读(246) 评论(0) 推荐(0) 编辑
摘要: 信息收集 信息收集的方式可以分为两种:主动和被动。 + 主动信息收集:通过直接访问、扫描网站,这种流量将流经网站。 + 被动信息收集:利用第三方的服务对目标进行访问了解,比例:Google搜索、Shodan搜索等。 Google Hacking 基本搜索 + 逻辑与:and + 逻辑或: or + 阅读全文
posted @ 2019-05-21 17:00 PwnKi 阅读(973) 评论(0) 推荐(0) 编辑
摘要: Android Stuidio的安装测试 + 参考http://www.cnblogs.com/rocedu/p/6371315.html SECANDROID,安装 Android Stuidio + 完成Hello World, 要求修改res目录中的内容,Hello World后要显示自己的学 阅读全文
posted @ 2019-05-19 14:06 PwnKi 阅读(277) 评论(0) 推荐(0) 编辑
摘要: 静态链接章小结 本章首先学习了静态链接的第一步骤,即目标文件在被链接成最终可执行文件时,输入目标文件中的各段是如何被合并到输出文件中的,链接器如何为它们分配在输出文件中的空间和地址。一旦输入段中的最终地址被确定,接下来就可以进行符号解析与重定位,链接器会把各个输入目标文件中对外部符号的引用进行解析, 阅读全文
posted @ 2019-05-13 21:23 PwnKi 阅读(232) 评论(0) 推荐(0) 编辑
摘要: "CTF Pwn入门及栈溢出原理解释" "CTF pwn 中最通俗易懂的堆入坑指南 " "看雪论坛" 阅读全文
posted @ 2019-05-12 21:06 PwnKi 阅读(570) 评论(0) 推荐(0) 编辑
摘要: 程序编译链接过程: 1.调用cc1程序,这个程序实际上就是GCC的C语言编译器,它将"hello.c"编译成一个临时的汇编文件"/tmp/ccUhtGSB.s"。 2.调用as程序,as程序是GNU的汇编器,它将"/tmp/ccUhtGSB.s"汇编成临时文件"/tmp/ccQZRPL5.o",这个 阅读全文
posted @ 2019-05-10 09:44 PwnKi 阅读(197) 评论(0) 推荐(0) 编辑
摘要: 目标文件:计算机科学中存放目标代码的计算机文件,包含着机器代码,代码在运行时使用的数据,调试信息等,是从源代码文件产生程序文件这一过程的中间产物。 目标代码(objectcode)指计算机科学中编译器或汇编器处理源代码后所生成的代码,它一般由机器代码或接近于机器语言的代码组成。目标文件(object 阅读全文
posted @ 2019-05-09 20:59 PwnKi 阅读(247) 评论(0) 推荐(0) 编辑
摘要: 重定位就是把程序的逻辑地址空间变换成内存中的实际物理地址空间的过程。它是实现多道程序在内存中同时运行的基础。重定位有两种,分别是动态重定位与静态重定位。 + 静态重定位:即在程序装入内存的过程中完成,是指在程序开始运行前,程序中的各个地址有关的项均已完成重定位,地址变换通常是在装入时一次完成的,以后 阅读全文
posted @ 2019-05-08 21:46 PwnKi 阅读(207) 评论(0) 推荐(0) 编辑
摘要: 目标文件里有什么 ELF各段 + 代码段 text + 数据段 data + bss段 + 只读数据段 rodata + 注释信息段 comment + 堆栈提示段 .note.GNU stack + comment 存放编译器版本信息 + debug 调试信息 + dynamic 动态链接信息 + 阅读全文
posted @ 2019-05-07 21:20 PwnKi 阅读(290) 评论(0) 推荐(0) 编辑
摘要: 阅读基础 计算机系统软件体系结构采用一种层的结构——计算机科学领域的任何问题都可以通过增加一个间接的中间层来解决。 多线程的优势: 1.某个操作可能会陷入长时间等待,等待的线程会进入睡眠状态,无法继续执行。多线程执行可以有效利用等待时间。典型的例子是等待网络响应,这可能要花费数秒甚至数十秒。 2.某 阅读全文
posted @ 2019-05-06 09:47 PwnKi 阅读(332) 评论(0) 推荐(0) 编辑
摘要: 第一章 从 Hello world 说起 抛出问题: 1.程序为什么要被编译器编译后才能执行? 2.编译器在把C语言程序转换成可以执行的机器码的过程中做了什么,怎么做的? 3.最后编译出来的可执行文件里面是什么?出了机器码还有什么?它们怎么存放的,怎么组织的? 4. include是什么意思?把包含 阅读全文
posted @ 2019-05-05 23:28 PwnKi 阅读(269) 评论(0) 推荐(0) 编辑
摘要: 敏捷开发与XP实践 1 敏捷开发与XP实践 2 敏捷开发与XP实践 3 1.重构1:重写toString时的@override标志 2.重构2:添加作者和日期 3.重构3:对类中的变量和方法进行封装 敏捷开发与XP实践 4 代码运行结果截图 "码云连接" "搭档码云连接" 阅读全文
posted @ 2019-05-05 16:01 PwnKi 阅读(155) 评论(0) 推荐(0) 编辑
摘要: 知识杂项 + libc是Linux下的ANSI C的函数库。 + LOOKUP函数 数组形式:公式为= LOOKUP(lookup_value,array) 式中 array—包含文本、数字或逻辑值的单元格区域或数组它的值用于与 lookup_value 进行比较。 + str.ljust(widt 阅读全文
posted @ 2019-05-04 21:25 PwnKi 阅读(396) 评论(0) 推荐(0) 编辑
摘要: 知识杂项 + aslr:是一种针对缓冲区溢出的安全保护技术,通过对堆、栈、共享库映射等线性区布局的随机化,通过增加攻击者预测目的地址的难度,防止攻击者直接定位攻击代码位置,达到阻止溢出攻击的目的的一种技术。 + str.strip([chars]); 用于移除字符串头尾指定的字符(默认为空格或换行符 阅读全文
posted @ 2019-05-03 22:50 PwnKi 阅读(222) 评论(0) 推荐(0) 编辑
摘要: 知识杂项 + strncpy(char s1,const char s2,int n); 其中有三个参数分别表示目标字符串s1,源字符串s2,拷贝长度。意思是将s2指向的字符串的前n个长度的字符放到s1指向的字符串中,并将s1原有的前n个字符覆盖。 + sys_execve() 在真正的开始执行系统 阅读全文
posted @ 2019-05-03 03:17 PwnKi 阅读(411) 评论(0) 推荐(0) 编辑
摘要: 知识杂项 + ELF:在计算机科学中,是一种用于二进制文件、可执行文件、目标代码、共享库和核心转储格式文件。 + char fgets(char buf, int bufsize, FILE stream); buf: 字符型指针,指向用来存储所得数据的地址。 bufsize: 整型数据,指明存储数 阅读全文
posted @ 2019-05-01 23:56 PwnKi 阅读(314) 评论(0) 推荐(0) 编辑
上一页 1 ··· 5 6 7 8 9 10 下一页