源代码

ctf题目writeup(8)

对着背影说爱祢 提交于 2019-12-25 04:41:38
2019.2.11 南京邮电的ctf平台: 地址http://ctf.nuptzj.cn/challenges# 他们好像搭新的平台了。。。我注册弄了好半天。。。 1. 签到题,打开网址: 查看一下页面源代码: 2. 这道题很熟悉,就是找 md5后开头为0e的 然后传参就行了: 比如 ?a=s878926199a nctf{md5_collision_is_easy} 3. 这里查看页面源代码: 这里最大长度是10 肯定不够 改成12什么的,足够我们输入 zhimakaimen nctf{follow_me_to_exploit} 4. 打开后: 查看页面源代码,没发现什么有用的。试了试把index.html改成Index.php也不行。 就把图片保存到本地,notepad++打开: 最后一行: nctf{photo_can_also_hid3_msg} 5. 这道题打开后是这样的: 打开后查看页面源代码(总共需要三次) 分别是 S0.html S0.htm 404.htm 最后进入404.html: 这个后退没什么用。直接查看源代码: 这段注释 竖着看 就是flag nctf{this_is_a_fl4g} 6. 打开后这样: 这里需要用unicode看: 去百度一下aaencode http://utf-8.jp/public/aaencode.html

CentOS6.4 VPS安装Git

南楼画角 提交于 2019-12-24 19:57:26
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> Git是一个开源的分布式版本控制系统由Linus Torvalds,Linux的创造者。 它功能简单的分支和合并,为单个项目管理多个远程仓库,和真正的分布式开发。 尽管git是美好的在管理大型、复杂的项目也许成百上千的贡献者,它还可以为小型项目工作非常好与一个人或一个小团队。 这种灵活性使它实现版本的一个很好的选择,为任何规模的软件项目源代码控制。 在本文中,我们将介绍如何安装CentOS 6.4服务器使用git 百胜 CentOS包管理器。 我们将展示如何从源代码安装git,以防你想从最新的改进中获益。 如何安装Git使用Yum 和大多数Linux发行版一样,git是可以从CentOS的默认存储库。 我们可以安装包维护者的最新版本: sudo yum install git 你要确认安装“y”型。 后来,git将安装并可以使用了。 如何安装Git在CentOS从源代码吗 如果你想要最新版本的git,最好下载最新版本从源代码和编译。 CentOS的版本库1.7.1上在撰写本文时,最新版本的git 1.8.4,这是一个很大的不同之处。 首先,我们需要下载编译工具CentOS使用以下命令: sudo yum groupinstall "Development Tools"

JDK和OpenJDK的区别

心已入冬 提交于 2019-12-24 14:11:24
简言之,open jdk 是 oracle(sun) jdk的精简版,如果本地运行有问题,linux服务器有问题,首先排除open jdk版本的问题。 使用过LINUX的人都应该知道,在大多数LINUX发行版本里,内置或者通过软件源安装JDK的话,都是安装的openjdk,那么到底什么是openjdk,它与sun jdk有什么关系和区别呢? 历史上的原因是,openjdk是jdk的开放原始码版本,以GPL协议的形式放出。在JDK7的时候,openjdk已经成为jdk7的主干开发,sun jdk7是在openjdk7的基础上发布的,其大部分原始码都相同,只有少部分原始码被替换掉。使用JRL(JavaResearch License,Java研究授权协议)发布。 至于openjdk6则更是有其复杂的一面,首先是openjdk6是jdk7的一个分支,并且尽量去除Java SE7的新特性,使其尽量的符合Java6的标准。 关于JDK和OpenJDK的区别,可以归纳为以下几点: 授权协议的不同: openjdk采用GPL V2协议放出,而JDK则采用JRL放出。两者协议虽然都是开放源代码的,但是在使用上的不同在于GPL V2允许在商业上使用,而JRL只允许个人研究使用。 OpenJDK不包含Deployment(部署)功能: 部署的功能包括:Browser Plugin、Java Web

工作杂谈(八)——代码对比工具

╄→гoц情女王★ 提交于 2019-12-24 11:36:46
在程序开发的过程中,程序员会经常对源代码以及库文件进行代码对比,在这篇文章里我们向大家介绍六款程序员常用的代码比较工具 WinMerge WinMerge是一款运行于Windows系统下的文件比较和合并工具,使用它可以非常方便地比较多个文档内容,适合程序员或者经常需要撰写文稿的朋友使用。 WinMerge会将两个文件内容做对比,并在相异之处以高亮度的方式显示,让使用者可以很快的查知;可以直接让左方的文件内容直接覆盖至右方,或者反过来也可以覆盖。 Diffuse Diffuse在命令行中的速度是相当快的,支持像 C++、Python、Java、XML 等语言的语法高亮显示。可视化比较,非常直观,支持两相比较和三相比较。这就是说,使用 Diffuse 你可以同时比较两个或三个文本文件。 支持常见的版本控制工具,包括 CVS、subversion、git、mercurial 等,你可以通过 Diffuse 直接从版本控制系统获取源代码,以便对其进行比较和合并。 Beyond Compare Beyond Compare可以很方便地对比出两份源代码文件之间的不同之处,相差的每一个字节用颜色加以表示,查看方便,支持多种规则对比。 Beyond Compare选择最好的方法来突出不同之处,文本文件可以用语法高亮和设置比较规则的方法进行查看和编辑,适用于用于文档、源代码和HTML。 Altova

OpenJDK和JDK区别

喜你入骨 提交于 2019-12-23 15:56:42
使用过LINUX的人都应该知道,在大多数LINUX发行版本里,内置或者通过软件源安装JDK的话,都是安装的openjdk,那么到底什么是openjdk,它与sun jdk有什么关系和区别呢? 历史上的原因是,openjdk是jdk的开放原始码版本,以GPL协议的形式放出。在JDK7的时候,openjdk已经成为jdk7的主干开 发,sun jdk7是在openjdk7的基础上发布的,其大部分原始码都相同,只有少部分原始码被替换掉。使用JRL(JavaResearch License,Java研究授权协议)发布。 至于openjdk6则更是有其复杂的一面,首先是openjdk6是jdk7的一个分支,并且尽量去除Java SE7的新特性,使其尽量的符合Java6的标准。 关于JDK和OpenJDK的区别,可以归纳为以下几点: 授权协议的不同: openjdk采用GPL V2协议放出,而JDK则采用JRL放出。两者协议虽然都是开放源代码的,但是在使用上的不同在于GPL V2允许在商业上使用,而JRL只允许个人研究使用。 OpenJDK不包含Deployment(部署)功能: 部署的功能包括:Browser Plugin、Java Web Start、以及Java控制面板,这些功能在Openjdk中是找不到的。 OpenJDK源代码不完整: 这个很容易想到

66.Spring源代码分析-代码下载

筅森魡賤 提交于 2019-12-21 23:22:09
一. 简介 spring的大名想必做过Java后台的同学都不会陌生,什么spring mvc, spring boot,spring全家桶等等,所以想系统学习下spring的源代码。 而学习源代码的话,首先得去下载spring的源代码,目前spring的源代码都开放在github上面,在下面地址,大家去用git clone即可。 https://github.com/spring-projects/ 二. spring结构简介 spring有3个基础框架,其他的服务是基于这3个基础框架spring-core, spring-context, spring-beans,这3个统一放在spring-framework里面。 三. 编译 每个项目里面有介绍,然后用IntelliJ IDEA打开代码即可,如下: 四. 研究入口 由于自己项目里面使用springboot比较多,所以决定从 springboot 入手开始研究,springboot的源代码在上面spring project的源代码页面有链接。 看代码之前,我一般先问自己几个问题 springboot怎么启动的? springboot怎么启动tomcat的?因为我们只要写几个映射,就可以完成几个restful接口。 接口访问时怎么调用到springboot里面的,也就是tomcat怎么和springboot关联起来? 带着这些问题

为什么要阅读Tornado的源代码

放肆的年华 提交于 2019-12-21 10:53:09
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 为什么要阅读Tornado的源代码 Tornado由前google员工开发, 代码非常精练, 实现也很轻巧, 加上清晰的注释和丰富的demo, 我们可以很容易的阅读分析tornado. 通过阅读Tornado的源码, 你将学到: * 理解Tornado的内部实现, 使用tornado进行web开发将更加得心应手 * 如何实现一个高性能,非阻塞的http服务器 * 如何实现一个web框架 * 各种网络编程的知识, 比如epoll * python编程的绝佳实践 来源: oschina 链接: https://my.oschina.net/u/940444/blog/273174

Python学习一:Python简介

徘徊边缘 提交于 2019-12-21 02:43:45
  Python简介 :   Python是目前广泛使用的一门动态语言,类似Java,源代码必须首先由编译器转换成字节码(byte code),然后再由解释器来执行字节码。与Java不同的是,Python的编译器和解释器都是一个程序。因此,源代码也可以直接交给这个编译器/解释器来执行。   使用Python编写程序,你不需要预先声明好变量的类型,因为Python中变量的类型是动态确定的,即动态绑定。    Python是一种简单易学,功能强大的编程语言,它有高效率的高层数据结构,简单而有效地实现面向对象编程。Python简洁的语法和对动态输入的支持,再加上解释性语言的本质,使得它在大多数平台上的许多领域都是一个理想的脚本语言,特别适用于快速的应用程序开发。 Python语言的特点: 第一,纯面向对象的语言。与传统的面向对象语言(C++, Java)不同的是,在Python的世界里,万物皆为对象。模块,类,函数,变量,类的实例都属于Python中的对象,例如函数是一个对象,它有自己的代码块,注释文档以及变量字典。 第二,支持面向过程和面向对象的编程范式。Python不强制你使用类的概念组织软件,你可以以面向过程的思想编写你的软件。这个类似于C++,完全可以不用C++面向对象的特性编写软件,退化为C语言了。 第三,非常丰富的标准库支持。Python提供了一套功能完善的内置库支持

IOS设计模式-备忘录模式

不打扰是莪最后的温柔 提交于 2019-12-20 18:29:31
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 1、如何存储记录 在存储记录时,第一步我们需要用一把钥匙去打开一把锁。第二步,当我们打开锁之后就会有黑盒子,我们一开始还不知道里面有什么,所以是黑盒子。 1、存储记录的必要性 生活中,比如去超市购物有时候就需要在入口储物柜存放自己的包裹 2、记录的唯一标示 储物柜对应一把钥匙和号码标示。 3、存储记录与取出记录 =============================================================================================== 根据上面的思维导图:备忘录模式有:1.有key值(唯一标示符) 2.获取与key对应的存储物品 3.可以存储多样性的对象。 备忘录模式的UML图: 2、备忘录模式的基本原理 Originator起因;起源;创作者;发起人,对象:能够生成备忘录中心的状态值 Memento纪念品,记录,备忘录中心,能够将对象生成的备忘录中的状态值进行存储或者取出值 Caretaker看门人,备忘录中心存在黑箱子里的物品   设计存储中心,比如超市里的储物柜   指定存储接口,   实现存储机制, 备忘录模式(Memento Pattern)又叫做快照模式(Snapshot Pattern)或Token模式,是GoF的23种设计模式之一

CentOS和ssh

痞子三分冷 提交于 2019-12-20 10:33:33
CentOS 介绍 最新版本 特点 版本列表 ssh 功能 验证 详细 层次 CentOS CentOS(Community Enterprise Operating System,中文意思是社区企业操作系统,又称CenOS)是Linux发行版之一,它是来自于Red Hat Enterprise Linux依照开放源代码规定释出的源代码所编译而成。由于出自同样的源代码,因此有些要求高度稳定性的服务器以CentOS替代商业版的Red Hat Enterprise Linux使用。两者的不同,在于CentOS完全开源。 介绍 CentOS 是一个基于Red Hat Linux 提供的可自由使用源代码的企业级Linux发行版本。每个版本的 CentOS都会获得十年的支持(通过安全更新方式)。新版本的 CentOS 大约每两年发行一次,而每个版本的 CentOS 会定期(大概每六个月)更新一次,以便支持新的硬件。这样,建立一个安全、低维护、稳定、高预测性、高重复性的 Linux 环境。CentOS是Community Enterprise Operating System的缩写。 CentOS 是RHEL(Red Hat Enterprise Linux)源代码再编译的产物,而且在RHEL的基础上修正了不少已知的 Bug ,相对于其他 Linux 发行版,其稳定性值得信赖。