- gh0st远程控制——客户端界面编写(三)
Tandy12356_
windowsc++c语言网络安全
◉主控端界面添加右键弹出菜单的功能为Onlie_List区域添加右键弹出菜单项的功能:3个视图:类视图、解决方案视图、资源视图在资源视图下添加一个Menu:更改Menu的ID为IDR_MENU_ONLINE:为各控件添加便于区分的ID:在类视图下,点击CPCRemoteDlg类,选择事件,为IDC_ONLINE添加消息处理函数补充知识点:事件:我们自定义的控件产生的消息消息:系统定义的消息重写:重
- gh0st远程控制——客户端界面编写(四)
Tandy12356_
windowsc语言c++网络安全
本节任务点◉为所有菜单项添加测试响应函数◉添加删除列表指定条目的功能为所有菜单项添加测试响应函数:添加菜单响应函数:voidCPCRemoteDlg::OnOnlineCmd(){if(TEST_MODE){MessageBox("终端管理界面");}}voidCPCRemoteDlg::OnOnlineDesktop(){if(TEST_MODE){MessageBox("桌面管理界面");}}
- gh0st远程控制——客户端界面编写(一)
Tandy12356_
c语言windows网络安全网络协议
1、新建一个基于对话框的MFC程序ghost内核对unicode支持不好,所以不要勾选在静态库使用MFC有助于我们的代码供别人使用2、设置窗口可最大最小化对话框》右键属性3、为对话框添加列表一个代表列表框架,一个代表日志框架分别为2个控件添加唯一的ID值:但是这里有个问题就是列表框的大小不会随着对话框的大小而变化:那么应该如何使二者同步伸缩呢?4、使列表框随着对话框的大小同步伸缩分别为2个对话框添
- gh0st远程控制——客户端界面编写(二)
Tandy12356_
网络安全网络协议windowsc语言c++
●补充小知识:枚举类型的使用每个控件(比如列表)都对应一个自己的唯一的变量使用枚举类型可以将变量名与编号进行绑定,以后程序需要扩展的时候,只需要在定义枚举变量的位置重新修改编号就可以了,这样全局的所有变量的编号就都跟着修改了由于列表这个数据结构在本项目中十分重要,所有需要放在一个每一个文件都能访问到的文件当中,比如"pcb.h"示例1:默认是012345这样和数组一样递增的enumDay{Mond
- 基于C++6.0的Gh0st远控源码研究及在VS2019下的编译修正和测试
左眼看成爱
C++Gh0st3.6源码
最近闲着无聊,研究了一下Gh0st的源码,这个源码现在也很难白嫖到了,花了200多积分从CSDN下了好几个版本。在VC2019下都编译不了。看来只能自己修改了:经过一天一夜的折腾(昨晚通宵到早上6点,哈哈.....)。终于拿下来了。成功在VS2019+win10(21H2)上跑起来了,理论上Win11也是可以的。通宵的证据,哈哈哈:一,主控端的编译(完全无错误Pass)1>------已启动全部重
- 另类远控:木马借道商业级远控软件的隐藏运行实现
weixin_33895604
360安全卫士·2015/10/2013:51提起远控木马,灰鸽子、Gh0st等等都是臭名昭著。与这些木马相比,商业级远控软件的监控能力毫不逊色,只不过这类软件有着合法身份,并且在安装和运行时都会有明显提示。但如果商业级远控软件能够被黑客玩坏,让它实现隐藏运行,那么它就会变成威力巨大的远控木马,因为这类商业级软件会被大多数安全厂商识别为合法程序。360QVM团队就数次发现商业级远控软件遭恶意利用的
- gh0st远控源码分析
_feivirus_
客户端及安全
四个工程,gh0st,install,loadmr,svchost。分别是控制端,安装程序,xxx,被控端。一。install工程,安装程序.1.WinMain函数。加载svchost工程的dll为服务,启动服务。二。svchost工程.被控端(服务端).1.main函数,在当前目录获取上线名称,获取不到退出。设置当前进程为winsta0的windowsstation。通过SetUnhandled
- Gh0st通信协议解析(2)
ccnyou
Windows开发
原文链接:http://blog.renren.com/blog/bp/Q78RzCJjOx从被控端主动去连接主控端开始谈起。世间万事万物有始有终,宇宙环宇的动力起点就是上帝的那一推之力。当然,主控端与被控端的交互总是从被控端主动连接到主控端开始的,让我们从发起连接这个引爆点谈起……**********************************************************
- Gh0st通信协议解析(3)
ccnyou
Windows开发
原文链接:http://blog.renren.com/blog/bp/Q782_Jqytx当顺利的连接到主控端之后,按照程序的一个执行逻辑,被控端会将本机上的一些反映本机状态的一个信息发送到主控端,这个过程其实涉及到了被控端与主控端间信息的交互过程。**************************************************************************
- C++Buffer缓冲区-Gh0st远程控制源码摘取
Syee001
C++
//缓冲器类classBuffer{public:Buffer(void);virtual~Buffer(void);/*函数说明:功能:清空缓冲区参数:返回值:时间:2014/01/26*/voidClearBuffer();/*函数说明:功能:删除缓冲区数据参数:1.nSize:删除的长度返回值:返回删除后的数据长度时间:2014/01/26*/UINTDelete(UINTnSize);/*
- gh0st远控流量分析报告
DFMASTER
远控工具
使用方法1.运行编译后bin目录下的gh0st.exe文件,Settinas为设置监听选项,Build为创建木马。2.设置监听端口和攻击机ip,并记录上线字段。3.复制之前的上线字段,点击生成服务器即可生成木马。4.等待受害者靶机运行木马即可。检测方案1.检测心跳包,时间间隔为3分钟。2.上行流量大于下行流量上行数据包统计下行数据包统计3.检测Magic字段在一些变种中常见为F1X6B和FLYNN
- Gh0st通信协议解析(1)
ccnyou
Windows开发
原文来自:http://blog.renren.com/blog/bp/Q78BR_Gw0x,有改动界面篇等我先搞完这个通信协议解析再说,要不我老觉得自己是在扯淡。在这里我也给自己这两天搞的协议解析找个网络存储做一下备份。Gh0st通信协议解析(1)正所谓蛇打七寸,今天我们对gh0st的通信协议进行一个完整的解析,看看gh0st这款远控的核心技术的来龙去脉。********************
- gh0st 远程桌面控制源码分析
LENOVO_
远程主机流程图:客户机流程图:CGh0stApptheApp;唯一的实例在初始化中调用了主框架的Activate函数:BOOLCGh0stApp::InitInstance(){((CMainFrame*)m_pMainWnd)->Activate(nPort,nMaxConnection);}Activate函数构造了一个CIOCPServer对象,然后调用Initialize函数初始化:voi
- 远控软件GHOST源码免杀
HEJSCLK
黑客技术
远控软件gh0st源码免杀远控软件gh0st3.6开源了,开源意味着我们可以在此基础上进行二次开发,同时也意味着杀软可以较容易的查杀该款远控木马,既然要利用,我们就做好源码基础上的木马免杀工作。好久没有来博客了,我把免杀这部分整理了一下,先抛一砖头,有兴趣的朋友可以接着做,也可以和本人交流。序gh0st远控软件采用驱动级RESSDT过主动,svchost参数启动,替换系统服务的方式工作的,工作方式
- Gh0st通信协议解析(3)
oceanark
当顺利的连接到主控端之后,按照程序的一个执行逻辑,被控端会将本机上的一些反映本机状态的一个信息发送到主控端,这个过程其实涉及到了被控端与主控端间信息的交互过程。*******************************************************************************我们需要从sendLoginInfo这个函数讲起。先看看这个函数的实现过程讲解这个
- gh0st通信协议解析(1)
oceanark
界面篇等我先搞完这个通信协议解析再说,要不我老觉得自己是在扯淡。在这里我也给自己这两天搞的协议解析找个网络存储做一下备份。Gh0st通信协议解析(1)正所谓蛇打七寸,今天我们对gh0st的通信协议进行一个完整的解析,看看gh0st这款远控的核心技术的来龙去脉。**********************************************************************
- gh0st通信协议解析(2)
oceanark
Gh0st通信协议解析(2)从被控端主动去连接主控端开始谈起。世间万事万物有始有终,宇宙环宇的动力起点就是上帝的那一推之力。当然,主控端与被控端的交互总是从被控端主动连接到主控端开始的,让我们从发起连接这个引爆点谈起……*******************************************************************************首先,我需要声明一点,
- gh0st远控官方源码编译步骤
雁子
C++/MFC
所需工具:VC++6.0下载地址-http://115.com/file/aqzyw8oePlatformSDK:SoftwareDevelopmentKit软件开发工具包下载地址-http://www.ctdisk.com/file/770607WindowsDDK:DeviceDevelopmentKit设备开发工具包下载地址-http://www.ctdisk.com/file/770549
- Gh0st 源码分析(一)
weixin_33690963
Gh0st的编译与使用方法相信很多人应该或多或少地听说过gh0st的大名,正如上面所说,它是一款远程控制软件,其原始版本的代码和作者已经无从考证,笔者手里这一份也来源于网络,我修正一些bug并作了一些优化,仅供个人学习研究,不可用于商业用途和任何非法用途,否则后果自负。代码下载方式,微信扫描以下二维码关注【高性能服务器开发】公众号,关注后回复【gh0st】即可得到下载链接:编译方法下载好代码以后,
- 攻防技术——源码免杀实战
amingMM
破解免杀杀软免杀
源码免杀实战QQ1285575001WechatM010527技术交流QQ群599020441纪年科技aming#1看一下今天的马子Gh0st改良版开始搞事免杀原理病毒样本内存地址/段分析师定位原始特征码01----->a02----->b03----->c(异常/病毒)04----->d05----->e01----->a02----->b0201----->b1(新加入)03----->c(异
- 加载Dll的两种方法(一)
poppy飞翔
gh0st
加载Dll有两种方法,分别为隐式加载(MemLoadDll)和显示加载(LoadLibrary)。(一)在gh0st中,得到server.dll之后,我使用了这两种加载dll的方式。显示加载Dll方法:1、使用LoadLibrary加载dll文件,获得dll模块的句柄2、定义一个函数指针,并声明一个变量,即导出函数3、使用GetProcAddress取得该dll中目标函数的地址,赋值给指针变量。4
- VS 2010编译Gh0st 3.6
javaweb_research
用Vs编译Gh0st修改的工作量还是挺大的,毕竟从VC6.0移植到VS2010平台,已经是一个很大的跨越了,VS2010相对于VC6.0也改进了不止一点了。Gh0st3.6使用了第三方界面库CJ60Lib,目前这个库只支持到VC6.0,而其后的版本已经商业化,所以使用VS2010编译Gh0st的时候,需要重新编译CJ60Lib。VS2010的自带安装的WindowsSDK已经到了7.1版,也不需要
- VS2010编译Gh0st3.6 (一)
cosmoslife
Windows编程
Vs编译Gh0st修改的工作量还是挺大的,毕竟从VC6.0移植到VS2010平台,已经是一个很大的跨越了,VS2010相对于VC6.0也改进了不止一点了。Gh0st3.6使用了第三方界面库CJ60Lib,目前这个库只支持到VC6.0,而其后的版本已经商业化,所以使用VS2010编译Gh0st的时候,需要重新编译CJ60Lib。VS2010的自带安装的WindowsSDK已经到了7.1版,也不需要像
- 从学习远程控制中所学所感
闰土和迅哥儿没抓住的猹
目的:远程访问计算机,从中获取所需要的文件,并拷贝至本地计算机。灵感:从许多间谍窃取文件机密的程序中,获得灵感。木马病毒可以在植入“肉鸡”以后从中搜索相应文件,并远程通过互联网传送回“靶机”。思考:因为涉及底层文件处理,选用C/C++语言进行编写。但由于之前并未接触类似知识,得一高人指路,自此得gh0st源码。开始学习之路。从互联网上多方搜索,并对学习方案进行比对,最终选用“老狼”的gh0st课程
- gh0st源码分析与远控的编写(一)
gogocsdn1
再过几天期末考试了,还有好多要复习。。蛋都快碎了。最近在看老狼的gh0st内核编程,想了很久要不要写文章,最后还是觉得很有必要,原因过一会讲。先送上老狼的gh0st无加密(lxe格式)视频下载地址:http://phith0n.400gb.com/u/29415/3193732其中包含的gh0st源码(乱七八糟的被我的卡巴斯基杀过一遍,仅仅是源码):http://www.400gb.com/fil
- 网络小黑揭秘系列之-------私服牧马人
KALI_LINUX
应用程序实验室传奇私服游戏程序后门事件
人在做,天在看。对360天眼实验室来说,一次次的扒皮往往都是从一个最简单的线索开始,比如一个IP、域名或程序样本。这回的也不例外,引起我们注意的是一个程序样本,名为“仙侠迷失之横扫千军.exe”。嗯,看起来是个游戏程序,执行起来也是:不过有点不对劲,开玩游戏的同时竟然触发了我们基于网络的木马检测告警,使用了Gh0st/大灰狼的通信协议结构。其实,绑了木马的应用程序并不鲜见,前一阵子沸沸扬扬的Xco
- 读gh0st代码---发文于2015.8.30
feivirus
木马远控gh0st
四个工程,gh0st,install,loadmr,svchost。分别是控制端,安装程序,xxx,被控端。一。install工程,安装程序.1.WinMain函数。 加载svchost工程的dll为服务,启动服务。二。svchost工程.被控端(服务端).1.main函数,在当前目录获取上线名称,获取不到退出。设置当前进程为winsta0的windowsstation。通过SetUnhandle
- C++源代码免杀之函数的动态调用
C++
最近也在学着修改Gh0st远控的源代码,源代码免杀起来还是方便、简单、有效和简单点。针对于输入输出表盯的比较紧的杀毒软件,最有效的还是进行函数动态调用。也就是说找到函数的原定义,包括值类型和参数等等,再在调用该函数的地方重新定义这个函数,其实也只是改下函数名而已,下面举个例子:CreateRemoteThread 作用是创建远线程,假设杀毒软件现在就杀在这个函数上,我们就这样处理,首先在代码中右键
- gh0st源码分析:屏幕监控
royhawk
这两天一直看gh0st源码,看得也是一头雾水,下面就分析一下屏幕监控的通信过程,对屏幕扫描算法以及绘图方面就不分析了,因为我也不懂。写的有点乱,就当作个笔记了。首先从控制端按下屏幕监控选项开始,这时控制端就会调用OnScreenspy()函数。这个函数很简单,向被控端发送COMMAND_SCREEN_SPY指令,告诉被控端我要监控你的屏幕了。此时被控端还在等待控制端的命令(ClientSocket
- 每周精选编程技术文章与资源_9月8日至9月14日
yingzheng1983
原文:http://bbs.panshy.com/thread-518-1-1.html时间过得真快,转眼程序员云集网每周精选 第二期就到了,每周一或周二,我们都会精选出一些文章,源码,视频等,这次的精选是由QQ:1013276894选出来的,在此表示感谢。这次涉及的技术有,Android软件开发,驱动开发,单片机程序设计,C语言设计,木马查杀技术,gh0st远控制术现在我一一列出Android
- xml解析
小猪猪08
xml
1、DOM解析的步奏
准备工作:
1.创建DocumentBuilderFactory的对象
2.创建DocumentBuilder对象
3.通过DocumentBuilder对象的parse(String fileName)方法解析xml文件
4.通过Document的getElem
- 每个开发人员都需要了解的一个SQL技巧
brotherlamp
linuxlinux视频linux教程linux自学linux资料
对于数据过滤而言CHECK约束已经算是相当不错了。然而它仍存在一些缺陷,比如说它们是应用到表上面的,但有的时候你可能希望指定一条约束,而它只在特定条件下才生效。
使用SQL标准的WITH CHECK OPTION子句就能完成这点,至少Oracle和SQL Server都实现了这个功能。下面是实现方式:
CREATE TABLE books (
id &
- Quartz——CronTrigger触发器
eksliang
quartzCronTrigger
转载请出自出处:http://eksliang.iteye.com/blog/2208295 一.概述
CronTrigger 能够提供比 SimpleTrigger 更有具体实际意义的调度方案,调度规则基于 Cron 表达式,CronTrigger 支持日历相关的重复时间间隔(比如每月第一个周一执行),而不是简单的周期时间间隔。 二.Cron表达式介绍 1)Cron表达式规则表
Quartz
- Informatica基础
18289753290
InformaticaMonitormanagerworkflowDesigner
1.
1)PowerCenter Designer:设计开发环境,定义源及目标数据结构;设计转换规则,生成ETL映射。
2)Workflow Manager:合理地实现复杂的ETL工作流,基于时间,事件的作业调度
3)Workflow Monitor:监控Workflow和Session运行情况,生成日志和报告
4)Repository Manager:
- linux下为程序创建启动和关闭的的sh文件,scrapyd为例
酷的飞上天空
scrapy
对于一些未提供service管理的程序 每次启动和关闭都要加上全部路径,想到可以做一个简单的启动和关闭控制的文件
下面以scrapy启动server为例,文件名为run.sh:
#端口号,根据此端口号确定PID
PORT=6800
#启动命令所在目录
HOME='/home/jmscra/scrapy/'
#查询出监听了PORT端口
- 人--自私与无私
永夜-极光
今天上毛概课,老师提出一个问题--人是自私的还是无私的,根源是什么?
从客观的角度来看,人有自私的行为,也有无私的
- Ubuntu安装NS-3 环境脚本
随便小屋
ubuntu
将附件下载下来之后解压,将解压后的文件ns3environment.sh复制到下载目录下(其实放在哪里都可以,就是为了和我下面的命令相统一)。输入命令:
sudo ./ns3environment.sh >>result
这样系统就自动安装ns3的环境,运行的结果在result文件中,如果提示
com
- 创业的简单感受
aijuans
创业的简单感受
2009年11月9日我进入a公司实习,2012年4月26日,我离开a公司,开始自己的创业之旅。
今天是2012年5月30日,我忽然很想谈谈自己创业一个月的感受。
当初离开边锋时,我就对自己说:“自己选择的路,就是跪着也要把他走完”,我也做好了心理准备,准备迎接一次次的困难。我这次走出来,不管成败
- 如何经营自己的独立人脉
aoyouzi
如何经营自己的独立人脉
独立人脉不是父母、亲戚的人脉,而是自己主动投入构造的人脉圈。“放长线,钓大鱼”,先行投入才能产生后续产出。 现在几乎做所有的事情都需要人脉。以银行柜员为例,需要拉储户,而其本质就是社会人脉,就是社交!很多人都说,人脉我不行,因为我爸不行、我妈不行、我姨不行、我舅不行……我谁谁谁都不行,怎么能建立人脉?我这里说的人脉,是你的独立人脉。 以一个普通的银行柜员
- JSP基础
百合不是茶
jsp注释隐式对象
1,JSP语句的声明
<%! 声明 %> 声明:这个就是提供java代码声明变量、方法等的场所。
表达式 <%= 表达式 %> 这个相当于赋值,可以在页面上显示表达式的结果,
程序代码段/小型指令 <% 程序代码片段 %>
2,JSP的注释
<!-- -->
- web.xml之session-config、mime-mapping
bijian1013
javaweb.xmlservletsession-configmime-mapping
session-config
1.定义:
<session-config>
<session-timeout>20</session-timeout>
</session-config>
2.作用:用于定义整个WEB站点session的有效期限,单位是分钟。
mime-mapping
1.定义:
<mime-m
- 互联网开放平台(1)
Bill_chen
互联网qq新浪微博百度腾讯
现在各互联网公司都推出了自己的开放平台供用户创造自己的应用,互联网的开放技术欣欣向荣,自己总结如下:
1.淘宝开放平台(TOP)
网址:http://open.taobao.com/
依赖淘宝强大的电子商务数据,将淘宝内部业务数据作为API开放出去,同时将外部ISV的应用引入进来。
目前TOP的三条主线:
TOP访问网站:open.taobao.com
ISV后台:my.open.ta
- 【MongoDB学习笔记九】MongoDB索引
bit1129
mongodb
索引
可以在任意列上建立索引
索引的构造和使用与传统关系型数据库几乎一样,适用于Oracle的索引优化技巧也适用于Mongodb
使用索引可以加快查询,但同时会降低修改,插入等的性能
内嵌文档照样可以建立使用索引
测试数据
var p1 = {
"name":"Jack",
"age&q
- JDBC常用API之外的总结
白糖_
jdbc
做JAVA的人玩JDBC肯定已经很熟练了,像DriverManager、Connection、ResultSet、Statement这些基本类大家肯定很常用啦,我不赘述那些诸如注册JDBC驱动、创建连接、获取数据集的API了,在这我介绍一些写框架时常用的API,大家共同学习吧。
ResultSetMetaData获取ResultSet对象的元数据信息
- apache VelocityEngine使用记录
bozch
VelocityEngine
VelocityEngine是一个模板引擎,能够基于模板生成指定的文件代码。
使用方法如下:
VelocityEngine engine = new VelocityEngine();// 定义模板引擎
Properties properties = new Properties();// 模板引擎属
- 编程之美-快速找出故障机器
bylijinnan
编程之美
package beautyOfCoding;
import java.util.Arrays;
public class TheLostID {
/*编程之美
假设一个机器仅存储一个标号为ID的记录,假设机器总量在10亿以下且ID是小于10亿的整数,假设每份数据保存两个备份,这样就有两个机器存储了同样的数据。
1.假设在某个时间得到一个数据文件ID的列表,是
- 关于Java中redirect与forward的区别
chenbowen00
javaservlet
在Servlet中两种实现:
forward方式:request.getRequestDispatcher(“/somePage.jsp”).forward(request, response);
redirect方式:response.sendRedirect(“/somePage.jsp”);
forward是服务器内部重定向,程序收到请求后重新定向到另一个程序,客户机并不知
- [信号与系统]人体最关键的两个信号节点
comsci
系统
如果把人体看做是一个带生物磁场的导体,那么这个导体有两个很重要的节点,第一个在头部,中医的名称叫做 百汇穴, 另外一个节点在腰部,中医的名称叫做 命门
如果要保护自己的脑部磁场不受到外界有害信号的攻击,最简单的
- oracle 存储过程执行权限
daizj
oracle存储过程权限执行者调用者
在数据库系统中存储过程是必不可少的利器,存储过程是预先编译好的为实现一个复杂功能的一段Sql语句集合。它的优点我就不多说了,说一下我碰到的问题吧。我在项目开发的过程中需要用存储过程来实现一个功能,其中涉及到判断一张表是否已经建立,没有建立就由存储过程来建立这张表。
CREATE OR REPLACE PROCEDURE TestProc
IS
fla
- 为mysql数据库建立索引
dengkane
mysql性能索引
前些时候,一位颇高级的程序员居然问我什么叫做索引,令我感到十分的惊奇,我想这绝不会是沧海一粟,因为有成千上万的开发者(可能大部分是使用MySQL的)都没有受过有关数据库的正规培训,尽管他们都为客户做过一些开发,但却对如何为数据库建立适当的索引所知较少,因此我起了写一篇相关文章的念头。 最普通的情况,是为出现在where子句的字段建一个索引。为方便讲述,我们先建立一个如下的表。
- 学习C语言常见误区 如何看懂一个程序 如何掌握一个程序以及几个小题目示例
dcj3sjt126com
c算法
如果看懂一个程序,分三步
1、流程
2、每个语句的功能
3、试数
如何学习一些小算法的程序
尝试自己去编程解决它,大部分人都自己无法解决
如果解决不了就看答案
关键是把答案看懂,这个是要花很大的精力,也是我们学习的重点
看懂之后尝试自己去修改程序,并且知道修改之后程序的不同输出结果的含义
照着答案去敲
调试错误
- centos6.3安装php5.4报错
dcj3sjt126com
centos6
报错内容如下:
Resolving Dependencies
--> Running transaction check
---> Package php54w.x86_64 0:5.4.38-1.w6 will be installed
--> Processing Dependency: php54w-common(x86-64) = 5.4.38-1.w6 for
- JSONP请求
flyer0126
jsonp
使用jsonp不能发起POST请求。
It is not possible to make a JSONP POST request.
JSONP works by creating a <script> tag that executes Javascript from a different domain; it is not pos
- Spring Security(03)——核心类简介
234390216
Authentication
核心类简介
目录
1.1 Authentication
1.2 SecurityContextHolder
1.3 AuthenticationManager和AuthenticationProvider
1.3.1 &nb
- 在CentOS上部署JAVA服务
java--hhf
javajdkcentosJava服务
本文将介绍如何在CentOS上运行Java Web服务,其中将包括如何搭建JAVA运行环境、如何开启端口号、如何使得服务在命令执行窗口关闭后依旧运行
第一步:卸载旧Linux自带的JDK
①查看本机JDK版本
java -version
结果如下
java version "1.6.0"
- oracle、sqlserver、mysql常用函数对比[to_char、to_number、to_date]
ldzyz007
oraclemysqlSQL Server
oracle &n
- 记Protocol Oriented Programming in Swift of WWDC 2015
ningandjin
protocolWWDC 2015Swift2.0
其实最先朋友让我就这个题目写篇文章的时候,我是拒绝的,因为觉得苹果就是在炒冷饭, 把已经流行了数十年的OOP中的“面向接口编程”还拿来讲,看完整个Session之后呢,虽然还是觉得在炒冷饭,但是毕竟还是加了蛋的,有些东西还是值得说说的。
通常谈到面向接口编程,其主要作用是把系统设计和具体实现分离开,让系统的每个部分都可以在不影响别的部分的情况下,改变自身的具体实现。接口的设计就反映了系统
- 搭建 CentOS 6 服务器(15) - Keepalived、HAProxy、LVS
rensanning
keepalived
(一)Keepalived
(1)安装
# cd /usr/local/src
# wget http://www.keepalived.org/software/keepalived-1.2.15.tar.gz
# tar zxvf keepalived-1.2.15.tar.gz
# cd keepalived-1.2.15
# ./configure
# make &a
- ORACLE数据库SCN和时间的互相转换
tomcat_oracle
oraclesql
SCN(System Change Number 简称 SCN)是当Oracle数据库更新后,由DBMS自动维护去累积递增的一个数字,可以理解成ORACLE数据库的时间戳,从ORACLE 10G开始,提供了函数可以实现SCN和时间进行相互转换;
用途:在进行数据库的还原和利用数据库的闪回功能时,进行SCN和时间的转换就变的非常必要了;
操作方法: 1、通过dbms_f
- Spring MVC 方法注解拦截器
xp9802
spring mvc
应用场景,在方法级别对本次调用进行鉴权,如api接口中有个用户唯一标示accessToken,对于有accessToken的每次请求可以在方法加一个拦截器,获得本次请求的用户,存放到request或者session域。
python中,之前在python flask中可以使用装饰器来对方法进行预处理,进行权限处理
先看一个实例,使用@access_required拦截:
?