自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(45)
  • 收藏
  • 关注

原创 C语言获取文本字符串以及字符过滤

今年开始准备考研,所以准备把C语言,数据结构,算法统一复习一遍,虽然做逆向这么久了,但是我的代码功底也不是那么好千里之行,始于足下,今天,学习下C语言获取文本字符串以及字符过滤:代码:int main(){ //读取文件 int c; while ((c = getchar()) != EOF) { if (c < '5') putch...

2019-05-29 18:49:25 3359

原创 [原创]FPS网络游戏自动瞄准自瞄外挂漏洞分析以及实现

0x0. 前言来到论坛已经有一段时间了,目前大三学生,乐于分享知识,看到论坛招聘讲师的帖子,于是想发点文字,分享知识,不知道能不能申请精华。新年刚刚过去,不知道大家亲戚走没走完,新的一年里,祝大家财源广进,身体健康,万事如意,一切都会好起来的!0x1. 了解FPS游戏自瞄漏洞经常玩游戏的朋友,应该知道FPS游戏,例如:穿越火线,逆战等等,他们的特点就是以第一人称视角进行操作人...

2019-05-08 11:12:11 10868 5

原创 FPS游戏->无后坐力功能分析

游戏后坐力的设计方法:静止状态,不开枪的时候,后坐力值为0:按住鼠标左键开枪后可观察到后坐力的数据一直增加,迅速截图如下:传统无后坐力方法:锁定不开枪时候的数值0,但是锁定后发现无法实现完美的无后坐力,枪口的抖动程度和子弹射出的偏差依然很大因此,我们判断,后坐力的数据,应该还有其他的地址或者函数往该地址进行写入,...

2019-05-08 00:01:20 3748

原创 逆向工程核心原理学习笔记(二十七):abex'crackme #2 破解算法

这次我们来看一下这个程序是如何加密的,我们重新开始我们的调试然后我们在win7中调试的时候利用查找所有参考字符串并没有我们之前的信息框字符串信息:我们这一次使用中文搜索引擎-智能搜索:双击倒数第二个,然后我们知道这是一个信息框的提示信息,所以这应该处于一个按钮的处理函

2017-05-25 21:43:39 1918

原创 逆向工程核心原理学习笔记(二十六):abex'crackme #2 name的存取

我们依然跳转到上一次的地址:我们得知,信息框在这边弹出,而且上面有个JE,所以这些肯定在一个函数中,就像我们写代码一样,面向过程,这些代码被封装在了一个函数中,我们慢慢往上找一直往上找,我们到了这个地方:我们看到了栈帧,由此我们推断这个地方就是函数的开始。我们往下调试,对每一个call进行判断,通过

2017-05-13 16:46:03 600 2

原创 逆向工程核心原理学习笔记(二十五):abex'crackme #2初步破解

首先我们随便输入试一下然后我们打开OD进行调试:我们根据字符串来检索,然后找到相应的地址,OK,我们点进去。然后,跟进:我们从这里发现了信息框的标题,信息框的内容,然后上面我们还发现了条件分支,我们猜测这里就有可能是一个字符串的判断后的跳转上面的call就是判

2017-05-13 14:54:28 920

原创 逆向工程核心原理学习笔记(二十四):abex'crackme #2 初探

下载地址:http://t.cn/RaoP3si首先OD载入程序:然后停在了程序的入口点,我们F7跟入下面的call.发现先调用了VB引擎的主函数,然后push 401e14把RT_MainStruct结构体地址压入栈,然后转过头来调用401232地址处的代码,跳转到了JMP DWORD PTR DS:

2017-05-13 10:44:30 2088

原创 逆向工程核心原理学习笔记(二十三):栈帧10:设置返回值,删除栈帧&main()函数终止

main()函数使用该语句设置返回值0XOR a,a  即计算两个相同的值,结果为0因为计算速度比MOV EAX,0  速度快,所以通常永XOR对寄存器进行初始化操作最终主函数终止运行,同add()函数一样,返回前要先从栈中删除与其对应的栈帧执行上图所示的命令后,main函数的栈

2017-05-09 21:57:21 307

原创 逆向工程核心原理学习笔记(二十二):栈帧9:调用printf()函数

我们可以清楚的看到printf函数的调用。然后我们转向汇编代码:首先PUSH EAX,将add()函数的返回值放进EAX寄存器中,然后将打印的内容压入410DC4地址紧接着调用40107C地址的函数,这个地址的函数是C的标准函数——printf,我们不必跟进去。最后,ADD ESP,8为啥呢

2017-05-09 21:42:04 484

原创 逆向工程核心原理学习笔记(二十一):栈帧8:删除函数add()的参数(整理栈)

add函数执行完后,下面的指令是add esp,8因为我们之前声明了两个变量,占用了8个字节,现在add函数调用完了,我们已经不需要了,所以将ESP+8此时栈内的情况如图的右边红圈所示

2017-05-09 21:22:21 847

原创 逆向工程核心原理学习笔记(二十):栈帧7:删除函数add()的栈帧&函数返回

在执行return代码时,会先删除add函数的栈帧先把EBP的值还原给ESP,然后POP  删除EBP此时EBP已经还原回了当初的模样了。然后一个retn,函数就完成了它的工作。

2017-05-07 16:45:14 346

原创 逆向工程核心原理学习笔记(十九):栈帧6:ADD运算

还是回到add函数此时EAX=1,然后执行完后:EAX=3,汇编代码中,先是把EBP-4放入EAX,然后让此时的EAX+[EBP-8]计算完成就是最终结果了。执行运算过程中,栈内情况保持不变。

2017-05-07 16:33:32 488

原创 逆向工程核心原理学习笔记(十八):栈帧5:设置add()函数的局部变量(x,y)

我们重新载入程序然后跳转到00401000地址这个地址反映的是是我们源代码中的,如图:我们回过头来看汇编:红线中的代码为局部变量开辟了8个字节的空间,用来存放X和Y。我们继续往下走:EBP+8指向了a,EBP+C指向了b。EBP-8指向了y,EBP-4

2017-05-07 14:57:27 345

原创 逆向工程核心原理学习笔记(十七):栈帧4:开始执行add()函数&生成栈帧

我们重新调试我们的程序,然后走到401020处然后我们走到401023处,观察一下EBP的值:此时的EBP指向了19FF38,我们记录一下。然后我们继续往下走,走进add()函数里面:上图显示了add()函数栈帧的形成,我们走两步:

2017-05-07 10:13:10 323

原创 逆向工程核心原理学习笔记(十六):栈帧3:add()函数参数传递与调用

从源代码中我们可以看到调用了printf函数,里面调用了add函数,但是add函数有两个参数。我们转向汇编代码,看一下是如何传参的。从401034这个地址开始,就开始把参数压入栈中,直到40103B,把所有的参数都压入到了栈中,然后带哦用401000地址的函数,即add函数。我们F7往下走,直到走到40103B的地

2017-05-06 20:08:21 469

原创 逆向工程核心原理学习笔记(十五):栈帧2:设置局部变量

源码的main函数中我们设置了局部变量 long a = 1, b = 2;我们回到OD,看汇编代码:00401020 >/$  55            PUSH EBP                                 ;  #main00401021  |.  8BEC    

2017-05-06 19:41:25 406

原创 逆向工程核心原理学习笔记(十四):栈帧1

栈帧的话,直接截了一些图,大家看一下就好了,理解起来很简单,就是简单的参数转存。看完之后,我们需要用一个小程序来进一步学习我们的栈帧了。下载地址:http://t.cn/RaUSglI代码写法:取消优化,编译发布版本,代码生成格式为MT。载入OD查看:我们直接跳转到0x401000地址处

2017-05-06 17:06:09 451 1

原创 逆向工程核心原理学习笔记(十三):分析abex' crackme #1 的延伸:将参数压入栈

还是上一次的abex' crackme #1,我们用OD附加看一下。我们发现在调用这个MessageBox函数的时候,用了4个PUSH指令,我们在后面的注释中可以清楚的看到压入参数的内容。如果我们将它还原成C语言的形式,是这样的:我们可以清楚的看到汇编代码中压入参数的顺序和我们写代码时候的顺序恰恰是相反的。这是因为栈内

2017-05-06 16:48:31 352

原创 逆向工程核心原理学习笔记(十二):分析abex' crackme #1

程序下载地址:http://t.cn/RX1wpX7我们首先运行一下,看看提示什么:我们初步推测,这个程序应该是判断磁盘是否运行在一个CD-ROM上。为了验证我们的推测,我们拖进OD看一下。我们现在可以划重点了:这个重要的跳转是信息框提示什么内容的关键。我

2017-04-28 22:42:46 1020

原创 逆向工程核心原理学习笔记(十一):栈

栈(stack)用途广泛,通常用于存储局部变量、传递函数参数,保存函数返回地址等。调试程序需要不断查看栈内存,这是很有必要的。栈是一种数据结构,按照后进先出的原则存储数据。栈的特征:一个进程中,栈顶指针(ESP)初始状态指向栈顶端。执行PUSH命令将数据压入栈的时候,栈顶指针就会上移到栈顶端。执行POP命令从栈

2017-04-28 11:21:02 897

原创 常用大部分渗透工具下载

ARP欺骗ARP EMP V1.0http://www.xdowns.com/soft/1/44/2014/Soft_133963.htmlCain_v4.9汉化版http://www.orsoon.com/Soft/105715.htmlMAC地址扫描器http://www.pc6.com/softview/SoftView_61658.html

2017-04-28 10:50:27 7627

原创 UDP-Based Amplification DDOS攻击代码实现

/* DB2 Amplification */ #include time .h>#include pthread .h>#include unistd .h>#include stdio .h>#include stdlib .h>#include string .h>#include sys /socket.h>#include netinet /ip.h>#include /netinet>

2017-04-28 10:42:48 789

原创 Udp DDOS攻击代码实现

#include #include #include #include #include #include #include #include #include #include #include #include #define MAX_PACKET_SIZE 4096#define PHI 0x9e3779b9static uint32_t Q[4096], c =

2017-04-28 10:39:51 5756 6

原创 逆向工程核心原理学习笔记(十):IA-32寄存器基本讲解

什么是CPU寄存器:为什么要学习寄存器:IA-32寄存器:基本程序运行寄存器:下面介绍一下各种寄存器:

2017-04-27 21:33:52 302

原创 逆向工程核心原理学习笔记(九):小端序标记法2

程序地址:http://t.cn/RXnT2pD我们用OD查看小端序。代码如下:我们编译,然后拖进OD查看,直接跳到0x401000入口点。我们看到几个位置:由此处我们可以推测后面括号中存放的地址就存放着我们的数据。我们在数据区跳转过去,第一个:0x45A0EE

2017-04-27 21:21:32 403 3

原创 逆向工程核心原理学习笔记(八):小端序标记法1

2017-04-26 22:39:51 341

转载 浅谈拒绝服务攻击的原理与防御(5):NTP反射攻击复现

0×01 故事起因系列回顾前两天以为网友stream(年龄、性别不详)私信我说他在阿里云上的服务器被NTP攻击了,流量超过10G,希望我帮忙一起分析一下,复现一下攻击。我这当代雷锋当然非常乐意了,于是我就和stream联系(勾搭)上了,今天我就详细讲一下我们一起复现NTP反射攻击的过程。0×02 分析攻击数据stream大兄弟把当时抓到的包发给了我,数据包不大只有3

2017-04-25 22:07:34 2551 1

转载 浅谈拒绝服务攻击的原理与防御(4):新型DDOS攻击 – Websocket和临时透镜

0×01 前言前几天我已经分别发了三篇关于DDOS攻击相关的文章,前几天我为大家介绍的DDOS攻击的方法和原理都是已经出现过大规模攻击行为的,或者说是已经实践过的,今天我要讲的是还没有发生过大规模攻击行为的新方法–websocket和临时透镜,这两种方法其实以前早就有人介绍过了,但是我做的研究比以前发表过的那些可能更具体些,我也想把我的试验过程和一些心得分享给大家,大家一起交流一下将新技术

2017-04-25 22:04:11 1915

转载 浅谈拒绝服务攻击的原理与防御(3):反射DDOS攻击利用代码

0×01 前言之前发了一篇关于反射DDOS攻击原理以及反射资源扫描的文章,本来今天的这个应该并到那篇文章里,共称为反射DDOS攻击扫描与利用,但是我怕这样做会教坏小孩子,但是我想了一天以后我觉得我还是发出来吧,毕竟我写的也不好,没必要藏着掖着的,我还会把payload去掉,让大家自己填写,这就不算是我搞破坏了。废话不多说了,赶紧发完了。0×02 代码的使用方法首先,我这是在

2017-04-23 17:04:54 587

转载 浅谈拒绝服务攻击的原理与防御(2):反射型DDOS

0×01 前言今天我就不多说废话了直接来干货。目前来说流量型反射DDOS攻击都是以UDP为载体的,毕竟TCP的三次握手就让伪造源地址反射大流量变得不现实(tcp反射ACK倒是还行- -!)下面来看看一般能用于反射放大的协议以及放大倍数吧现在TFTP也被利用来进行DDOS反射了,据说放大倍数也很可观,根据表中显示看来NTP放大倍数最高,不过NTP服务器不多,而

2017-04-23 15:47:26 1330

转载 浅谈拒绝服务攻击的原理与防御(1):普通拒绝服务攻击

普通拒绝服务攻击是指一些传统的攻击方式,如:SYN FLOOD攻击、ACK FLOOD攻击、CC攻击、UDP  FLOOD攻击 等等,下面会详细介绍。SYN FLOOD攻击Syn flood攻击是利用TCP协议的一些特性发动的,通过发送大量 伪造的带有syn标志位的TCP报文 使 目标服务器连接耗尽,达到拒绝服务的目的。要想理解 syn flood的 攻击原理 必须要先了解TCP协

2017-04-23 15:44:33 903

原创 逆向工程核心原理学习笔记(七):总结

首先就是上一节,我们尝试把修改后的代码保存后运行,发现不可以,。这是由于我们修改的那部分缓冲区造成的。可执行文件加大再到内存中兵役进程的形式运行并非原封不动的载入内存,而是遵循一定的规则进行,这一个过程中,进程的内存是的确存在的,但是文件偏移(offset)是不存在的,所以程序无法正常运行。以后们们学习PE文件格式的时候就知道了。下面总结一下这一章的

2017-04-23 15:40:09 3308

原创 逆向工程核心原理学习笔记(六):实战开辟新内存区域写入缓冲区跳转修改字符串

首先我们跳转到程序的入口点,然后观察00401007      68 00ED4000   push    0x40ED00                         ;  Hello World!我们在数据区仍然跳转到0x40ED00     我们往下拉,往下拉,发现很多空的内存区域:我们就从这

2017-04-23 15:27:52 387

原创 逆向工程核心原理学习笔记(五):实战“打补丁方法”修改字符串

打补丁方法可以修复程序的BUG,给程序添加新功能。打补丁的对象可以是文件,内存,数据,代码,等等。。。我们今天就用打补丁的方法来把helloworld程序中的字符串改掉!首先呢,OD载入程序,然后,我们跳到程序入口点,也就是main函数,之前我们讲过,可能大家也记得,0x401000.我们可以清楚的看到hellow

2017-04-23 11:16:46 428

原创 逆向工程核心原理学习笔记(四):检索API方法2-设置断点

同样,还是用我们的那个helloworld小程序,然后,如图所示,查找所有模块的名称然后,结果如图所示在这个界面,我们敲键盘字母,messagebox,一个一个敲出来,就会自己跳到相应的地址,如图所示:因为messagebox这个函数是从user32.dll中实现的,所以我们可以随便点击一个进去看看:

2017-04-23 10:47:29 386

原创 逆向工程核心原理学习笔记(三):检索API方法

打开OD,载入程序鼠标右键,如图。然后就可以看到程序调用的所有API函数,便于分析。找到messagebox函数,双击进去,就是函数所在反汇编地址了

2017-04-17 13:13:22 606

原创 逆向工程核心原理学习笔记(二):字符串检索法查找main函数

首先就是OD载入我们的程序然后鼠标右键,如图,找到智能搜索.然后点击,找到了HelloWord字符串双击跟进去就是main函数的地址了这样做的前提是因为我们知道线索(程序在运行时就弹出信息框),所以才可以这样做。同时我们看到了此时这个地址PUSH的参数push    0x40ED00我们在下面的数据窗口看看里面是什么东西。

2017-04-14 16:39:41 668

转载 打开文件夹就运行?COM劫持利用姿势

打开文件夹就能运行指定的程序?这不是天方夜谭,而是在现实世界中确实存在的。利用本文探讨的COM劫持技术,可以轻松实现出打开文件夹就运行指定代码的功能。对于COM劫持技术,国内很少有资料进行原理阐述,本文结合自身分析经验对COM劫持技术进行归纳总结。同时,希望各大安全厂商针对此类利用做好防护,保护用户信息安全。前言所谓“骂人先骂娘,擒贼先擒王”,首先给出读者最最关心的劫持文件夹的利用

2017-04-14 10:57:50 1659

原创 逆向工程核心原理学习笔记(一):寻找程序的主函数(Main)

首先编译release版本的helloword程序,代码如下:编译完成,拖进OD,结果如图。程序断在了004011A1 这个地址,这个就是EntryPoint.这个地址调用了004022DF这个地址的函数,F7跟进函数,如图。并没有什么有用的信息让我们查找Main函数,然后Ctrl+F9调到函数结尾,retn.然后F8跳出,到达了

2017-04-14 10:25:37 3864 1

转载 不借助工具清除Windows7密码

一般清除电脑密码办法就是利用PE等工具,如果没有任何工具的情况下该怎么办?现在说一个办法,不借助任何工具,实现添加系统用户或者修改密码等操作。开机后按F8,选择正常启动Windows,然后强制关机或者断电。接着在继续启动电脑,会提示让你修复,选择启动修复(推荐)。启动修复一两分钟后,会弹出一个对话框,然后点击箭头查看详细信息。点击tx

2017-04-11 09:39:12 9231 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除