- 博客(34)
- 收藏
- 关注
转载 小甲鱼PE详解之输入表(导入表)详解(PE详解07)
捷径并不是把弯路改直了,而是帮你把岔道堵上!走得弯路跟成长的速度是成正比的!不要害怕走上弯路,弯路会让你懂得更多,最终还是会在终点交汇!岔路会将你引入万劫不复的深渊,并越走越深……在开始讲解输入表(导入表)概念之前,请允许小甲鱼童鞋用简短的几句话来总结之前我们学过的内容,并做进一步的思想综合提升,注意咯!首先,我们知道PE 文件中的数据被载入内存后根据不同页面属
2015-06-21 20:47:43 552
原创 解密系列(系统篇_PE结构详讲笔记6)
已发表至CSDN博客。 通常区块中的数据逻辑上是关联的。PE文件一般至少有两个区块:一个是代码块,另一个是数据块。每一个区块都有截然不同的名字,然而这个名字并没有多少卵用,只是标明这个区块主要的用途。例如有一个区块叫.rdata,表明它是一个只读区块。还有其他的一些区块,例如.text一般都是存代码的,.reloc存放可执行文件的基址重定位内容····· 我们可以创建和命名自己
2015-06-20 18:24:24 671
原创 web渗透(asp数字型注入模拟实战)
昨晚花了一整晚的时间找一套没有防注入的网站源码,太难找了,今天六点多就起床,终于找到了。(原谅我笨)打开虚拟机→打开asp小旋风→将网站程序放到asp小旋风下的wwwroot目录,打开网址http://127.0.0.1/,OK,能运行。梳理一下注入的流程:查注入点→判断是否能注入→猜表段→猜字段→爆管理员账户密码OK,往下走。打开本地搭的站点→随便点看看哪里能
2015-06-19 08:11:55 5142 1
原创 解密系列(系统篇_PE结构详讲笔记5)
前几节,我们已经掌握了DOS头、NT头的内容,我们通过NT头IMAGE_OPTIONAL_HEADER结构的第30字段了解该可执行文件的数据目录表的项目,也了解了该结构的相关字段。接下来我们主要是了解区块表与区块。 区块表紧跟着NT结构,它是一个IMAGE_SECTION_HEADER结构数组。每个结构包含它所关联区块的信息。 typedef struct _IMAGE_SEC
2015-06-18 17:41:42 585
原创 C高级篇(非BUG的语言特性)
许多新手程序员经常会犯的一种错误,就是将 i = 3; 与 i == 3 相互混淆,前者表示一个赋值语句,而后者常常作为判断的条件。还有的程序员想将指针指向NULL时,写成了p == NULL; 这样的话变成了什么?不过不用担心,这种错误编译器能够辨别。 NUL与NULL:在C语言中,NUL表示一个字符串的结束,用字符表示为'\0',我们通常用'\0'这种字符常量作为判断条件而不是NUL
2015-06-17 16:50:47 1198 2
原创 C高级篇(穿越时空的迷雾)
C的产生源于一个失败的项目,由通用电气公司、麻省理工学院与贝尔实验室联合创立的一个庞大的项目——Multics工程。虽然开发小组最终勉强的让Mulitics动了起来,但是他们还是陷入了泥淖,心灰意冷的贝尔实验室专家们撤离该工程后,去寻找其他任务。其中一位名叫Ken Thompson的研究人员对另一个操作系统很感兴趣,他为此好几次向贝尔管理层提议,但均遭否决。Thompson加紧工作,为PDP-
2015-06-17 16:49:10 1053
原创 数据结构与算法(单循环链表_约瑟夫问题)
据说著名犹太历史学家 Josephus有过以下的故事:在罗马人占领乔塔帕特后,39个犹太人与Josephus及他的朋友躲到一个洞中,39个犹太人决定宁愿死也不要被敌人抓到,于是决定了一个自杀方式,41个人排成一个圆圈,由第1个人开始报数,每报数到第3人该人就必须自杀,然后再由下一个重新报数,直到所有人都自杀身亡为止。然而Josephus和他的朋友并不想遵从,Josephus要他的朋友先假装遵从,他
2015-06-09 23:02:29 1716
原创 C实战开发(PE结构查询)
学了一些PE结构的知识,看着许多大神都写了自己的PE结构查询软件,我也尝试写一个,照葫芦画瓢,查询几个关键的,代码如下(不定时更新):#include#include#includeint main(int argc, char* argv[]){ FILE *f; long e_lfanew; //存放IMAGE_NT_HEADERS32结构在文件中的偏移 char *Ma
2015-06-08 08:46:37 464
原创 解密系列(系统篇_PE结构详讲笔记4)
PE文件到内存的映射,说白了就是将磁盘上的文件放到内存中,但事实上并不是这样。在执行一个PE文件的时候,Windows并不是一开始就将整个文件映射到内存,而是采用与内存映射文件类似的机制。Windows装载器在装载的时候建立好虚拟地址和PE文件之间的映射关系。真正执行某个内存页中的指令或者访问某一页中的数据时,这个页面才会被从磁盘提交到物理内存。 Windows装载器在装载DOS部分
2015-06-06 21:34:18 423
原创 解密系列(系统篇_PE结构详解笔记3)
IMAGE_OPTIONAL_HEADER32 叫可选映象头结构,定义在IMAGE_FILE_HEADER结构里面的第三个字段。虽然名字上说是可选的,但是它要与IMAGE_OPTONAL_HEADER结合起来,才是一个完整的“PE文件结构”。 typedef struct _IMAGE_OPTIONAL_HEADER { //
2015-06-06 14:38:11 598
原创 解密系列(系统篇_PE结构详解笔记2)
MS-DOS头部: 每一个PE文件是以一个DOS程序开始的,有了它一旦程序在DOS下运行,DOS才能识别出这是有效的执行体。 PE文件的第一个字节起始于一个传统的MS-DOS头部,称为IMAGE-DOS-HEADER,这实际上就是一个结构体。 typedef struct _IMAGE_DOS_HEADER { // DOS .EXE header
2015-06-06 09:57:26 702
原创 解密系列(系统篇_PE结构详解笔记1)
从某种意义上讲,可执行文件的格式是操作系统本身执行机制的反映。掌握可执行文件的数据结构及其一些运行机理,也是研究软件安全的必修课。 EXE文件和DLL文件之间区别完全是语义的,因为它们使用相同的PE结构,唯一的区别就是一个字段,标识出是EXE还是DLL。 PE格式定义的主要地方位于我们的文件winnnt.h,这个头文件几乎能找到关于PE文件的所有定义。 PE文件中的数
2015-06-06 09:56:44 938
原创 计算机网络(浅谈DNS协议)
DNS我们并不陌生,全名叫域名解析系统,其核心功能就是将主机名转换成IP地址,但是DNS远远比我们想象的要复杂得多。 人类能以很多方式来标识,例如我们的名字,用来标识一个人。在因特网上,主机和人类一样能使用多种方式进行标识。第一种是用主机名,应该可以理解为域名,例如cloudker.com,人们乐意用这种方式,因为便于记忆嘛。然而,这些由不定长字母数字组成的字符串,却没有提供主机在因特网
2015-06-05 08:52:29 866
原创 数据结构与算法(单循环链表)
单循环链表实际上只是在单链表的基础上,多加了个尾指针的概念,将尾结点的指针指向头结点,构成一个单循环,难度并不难。许多功能跟单循环都是一样的,不解释,上代码。#include#include#includeint Sdata; //链表数据数量#define LEN sizeof(struct listdata)typedef struct listdata{ i
2015-06-04 18:17:17 769
原创 Windows程序设计(消息机制)
句柄是Windows程序设计的基础,而消息机制又是Windows程序设计的核心。 众所皆知,Windows是一个事件驱动,基于消息的操作系统。Windows强调的是事件触发,并且事件之间是无序的。在DOS下,代码的执行都是井然有序的,也就是说你在执行这个程序的时候不能执行另一个程序,单任务。而在强大的Windows下,能同时执行几个或者几十个程序。那么什么是触发事件?我们点一下鼠标、移动
2015-05-29 22:32:36 922
原创 免杀(必备汇编基础_壹)
汇编又作为一门必学的基础出现~ 总之,汇编真的是很重要很重要。关于汇编的概述我们这里不多讲,但是要想更好的学习编程,还有诸如破解之类的技术,汇编是必备的基础,大神必啃。 寄存器:顾名思义,寄存器就是暂时存储数据的地方,寄存器被设计在CPU内部,对于一个汇编程序员来说,CPU中最主要的部分就是寄存器了。寄存器是程序员能通过指令读写的部件,程序员通过改变寄存器的值间接的控制CPU。现在我
2015-05-26 19:35:38 1362
原创 Windows程序设计(与窗口的第一次)
无可非议,装B已成为21世纪的一种艺术,作为标题党的我也得学着,赶赶世界潮流。让我们记住这个引发读者深(xie)沉(e)思考的标题往看学吧~ 前阵子不造什么原因,空间发日志被限制,索性就开了个博客,点我进入,以后文章会同步到博客。 这节核心:掌握窗口的创建,还有其他的一些知识,教材依旧用我们的“圣经”。 我们能用MessageBox来向使用者输出文字,但我们还不知
2015-05-23 09:01:24 1478
原创 Windows程序设计(Hello,word!)
我用"Hello,word!"代替了原标题的“你的第一个程序”,相信学过C的童鞋大多数都是用K&R写的教材,开头第一章的第一个程序就是编程输出"Hello,word!",所以我们学习Windows程序设计也从这个程序入手,进行分析。 工欲善其事必先利其器,学习Windows程序设计,我们用的开发工具不再是VC++,而是高大上的VS,到哪里下载和安装这里略···上图是用C写的在
2015-05-15 18:47:53 1318
转载 解密系列(基础篇_转-Windows体系结构)
分析环境reactos0.3.1 ,i386体系]了解了windows的体系结构才知道reactos到底要干什么,以及如何干,因为reactos的目标是兼容windows。下面是windows的体系结构:这是整个windows的体系结构的总览。从图上可以看出系统被分成内核模式和用户模式。内核模式的构成文件是系统的核心文件她包含:hal.dllntos
2015-05-15 18:43:14 671
原创 解密系列(基础篇_必备知识)
教程:鱼C解密系列 教材:《加密与解密》 多字节数据存放顺序与CPU有关,微处理器的存储顺序有正序和逆序(即大端存储和小端存储)。 常见的Intel系列使用的编码方式为逆序,某些RISC架构的CPU(例如IBM的Power-PC)属于正序。 例如将12345678H写入以1000H开始的内存中: Little-Endian是逆序,而Bi
2015-05-15 18:40:28 1081
原创 8086汇编语言(灵活定位内存)
把最近学的两章总结一起写了,这两章涉及的都是一个重点内容:如何灵活的定位内存,重点就在“灵活”两个字。学会灵活的定位内存,能提高编程的效率。因为许多编程语言在编译的时候,都会将代码首先转化成汇编指令。 现在我们已经知道,我们可以用ds存放数据所存放地址的段地址,然后用[0]或者[bx]的方法,定位一个内存地址。接下来我们将引入其他的一些寄存器,以及寄存器与寄存器、寄存器与常数的结合灵活定
2015-05-15 18:34:28 775
原创 数据结构与算法(线性表_静态链表)
碰过C的人都不禁感叹C的伟大与强大,C的强大在于它能灵活的使用指针对内存进行操作。当然指针这个搞点也不仅只在C有,其他的一些开发语言有的都是通过使用对象引用机制间接的实现指针的都某些功能。而在以前的时候,C语言还没出现,也没有java,只有一些原始的语言,这些语言没有类似于C指针的功能,但是他们又想实现单链表,于是··· 有人想出了用数组代替指针来描述单链表,用数组描述的链表我们称之
2015-05-15 18:30:19 668
原创 计算机网络(邮件访问协议_POP3&IMAP)
书籍:《计算机网络_自动向下方法》 一旦SMTP将邮件报文从A的邮件服务器交付给B的邮件服务器,该报文就被放入了B的邮箱中。假设B在其本地PC上运行用户代理程序,考虑在他的本地PC上也放置一个邮件服务器。在这种情况下,A的邮件服务器就能直接与B的PC进行对话,然而这种方法会有一个问题,若B的邮件服务器位于其PC上,那他的PC就要日夜不停的运行着,因为他要及时的接收可能在任何时候到达的新
2015-05-15 18:28:29 3653
原创 计算机网络(浅谈SMTP协议)
本节主要目的:了解互联网电子邮件协议_STMP的工作原理。 书籍:《计算机网络_自顶向下方法》 有关文献:RFC 5321 当互联网还在襁褓中时,电子邮件已经成为最为流行的应用程序,速度快且成本低,现在国内比较多用的就是163邮箱、QQ邮箱,大部分的邮件都是基于SMTP协议上接收发送的。在80年代到90年代末的电子邮件程序功能非常少,现在还比较强大,能有附件、超链接
2015-05-15 18:26:28 3857
原创 计算机网络(浅谈FTP协议)
本节主要目的:了解互联网电子邮件协议_STMP的工作原理。 书籍:《计算机网络_自顶向下方法》 有关文献:RFC 5321 当互联网还在襁褓中时,电子邮件已经成为最为流行的应用程序,速度快且成本低,现在国内比较多用的就是163邮箱、QQ邮箱,大部分的邮件都是基于SMTP协议上接收发送的。在80年代到90年代末的电子邮件程序功能非常少,现在还比较强大,能有附件、超链接
2015-05-15 18:25:45 946
原创 免杀(杀毒软件杀毒原理)
坑坑洼洼近两年,虽然有碰过些免杀工具(加壳、加花、修改特征码),但是并没有真正的去学这门技术。直到现在才知道发展近二十年的传统免杀技术,基本已经濒临淘汰,而主流变成了Rootkit。感觉心里酸酸的,现在才刚开始捧《终极免杀》和《杀不死的秘密》,实在是落伍,Rootkit再主流也先放一边吧,不管怎样还是要啃啃这些免杀技术,毕竟流行了那么久~ 是先有操作系统还是先有编程,答案是先有编程,是先
2015-05-15 18:23:59 1392
原创 计算机网络(Web和HTTP)
Web就是万维网,因为Web的出现,给我们带来了极大的便利,足不出户而知天下。当用户需要时,就能得到所想要的内容,网络之大各式各样的资源都有。 web的应用层协议就是有名的HTTP(超文本传输协议),通常被称为web的核心。HTTP的实现需要有一个服务端和一个客户端,通过交换HTTP报文进行会话。HTTP定义了这些报文的结构格式以及进行报文交换的方式。 web页面是由对象组成的
2015-05-15 18:14:07 1744
原创 计算机网络(浅谈应用层协议原理)
个人用的教材是比较有名的《计算机网络_自顶向下方法》,这本书比较权威,个人比较推荐,深入了解计算机网络运行原理必备~ 虽然说有人不推荐用这本书入门,我还可以,我的学习方式,只要看不懂的就多看个几次,看到懂为止。 过渡段··· 这节主要是记录一下最近学习的一些内容,当作巩固,加深印象。 在网络中,我们通常将一个主动向另一个端系统发送连接请求的端系统称为客户端
2015-05-15 18:13:11 1225 1
原创 C开发实战(弱指令生成器)
最近啃数据结构中,刚啃完单链表,关于单链表我啃了不下三次吧,感觉每次的收获都不一样,并不是做无用功。这个月要完成的比较多,感觉压力还是很萌萌哒的,但是计划赶不上变化,现在想利用C写一个弱指令生成工具。可以当作练练手,生成的字典以后也会有用处的吧。 个人感觉难度并不是很大。首先了解弱指令,弱指令就是按照规定遍历生成的密码列表,弱指令有什么用呢?在破解密码方面会有点用,暴力破解法的核心也是字
2015-05-15 18:08:59 756
原创 数据结构与算法(线性表_链式存储结构)
上次顺序表没有总结,就在这次一起写。顺序表比较适合存储稳定的数据,不大适合经常增减数据,如果在最后增加一个结点,这个时间复杂度为O(1),但如果要在最前面插入一个结点时,时间复杂度就变成了O(n),因为它要搬动后面所有的结点,依次往后面移动一个位置。如果表太大的时候,有时难以分配足够的连续存储空间。因此有了一种拟补它缺点的另一种结构——链式存储结构。 提到链式存储结构,我们都会想到什么
2015-05-15 18:03:03 743
原创 基础科学(浅谈黑洞I)
时间有初始吗?时间有结束吗?科学家们认为,宇宙大爆炸的那一瞬间就是时间的起点。时间和空间是物质的必然属性,爆炸的那一瞬间物质产生了,从而时间和空间也就跟着出现了。那么现在回到一个问题,时间的终点在哪呢?——黑洞,The time is over。 相信大家对黑洞这种特殊天体,有着异乎寻常的好奇心,但是直到现在,关于黑洞的许多秘密我们仍旧弄明白,这属于科学比较前沿的内容。好奇心产生兴趣爱好
2015-05-15 17:58:32 843
原创 数据结构与算法(线性表_顺序表存储结构)
——C描述 以前经常听说,C语言的灵魂是指针,那么再扩大的来说,什么是程序的灵魂呢?大神们默默的说了一声:数据结构与算法。从现在开始我踏入了数据结构与算法的世界,首先开始学最简单的数据结构——线性表。 逻辑上来说,线性表就是由n(n≥0)个数据元素a1、a2···an组成的有限序列。 对于线性表,有以下几点需要说明: --数据元素的个数为n,也称为表的长度,
2015-05-15 17:50:52 777 1
原创 计算机网络(分组交换与电路交换)
在网络中,端系统彼此交换报文,而在通信的过程,分组(即报文)要经过许多通信链路和分组交换机。现在我们主要谈的是通信过程移动数据的两种基本方法,分别是分组交换和电路交换,这两种方法都有各自的特点吧。 分组交换采用存储转发机制,这个机制是指在交换机能够开始向传输出链路传输该分组的第一个比特之前(冗杂),必须接收到整个分组。例如说一个分组被分为三份,一次传一份,交换机必须等这三份都接收到了才能
2015-05-15 17:48:07 2477
原创 计算机网络(基础入门篇)
关于计算机网络基础,以前看的是谢希仁前辈的那本,最近买了本国外的(自顶向下方法),感觉还是有点门槛的,书到的时候我自己都吓到了,一本比词典还厚,不过想想也对,内容满满的,刚看了第一章的一些内容就把之前的许多疑惑都解开了。此外,这本书好像被一些计算机学院用做教材,满是精髓。文章只是个人笔记,有错误的地方恳请大神大牛们纠正。 计算机网络的核心部分非常复杂,是由许多分组交换机和通信链路组成,它
2015-05-15 17:46:29 723
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人