自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 kali linux系统中文乱码问题的解决

echo $LANG发现是有UTF-8的,但是系统中文依然是乱码,猜测问题可能是字体不支持中文(apt-get upgrade之后的后遗症)LANG=en_US.UTF-8apt-get install ttf-wqy-microhei ttf-wqy-zenhei xfonts-wqygnome-tweak-tool选中font,然后将所有的font都改成我们刚刚下载的文泉驿的字体,一般是在最

2016-07-11 14:49:19 39554 1

原创 全国大学生信息安全竞赛writeup--拯救地球(reverse500)

描述什么?地球要爆炸了,据说拯救地球的代码就在这个程序里。使命貌似光荣又艰巨…tips:flag是flag{结果}附件描述:文件名:程序校验(SHA1):D78073A4C06468DFC95822A764D792C09A87F78A思路打开看,一个question,逆向发现加壳了,不过这个壳还好比较裸,目测通过加断点dump dex可行,不过把这个东西自动化了,直接找了一个工具就脱了。 工具地址

2016-07-10 22:54:28 3994 2

原创 全国大学生信息安全竞赛writeup--暗号(reverse300)

描述 George是一名FBI特工,昨天他获得了一个命令,在今天晚上纽约林肯中心的大都会歌剧院的演唱会上,将会有恐怖分子出没。George下午结果了一名恐怖分子,在他的身上发现了一个U盘,里面有这样一个程序。George看了程序之后,决定将自己伪装成刚解决掉的恐怖分子的身份。请你帮助George获得这名恐怖分子的姓名和暗号。注:为MadFrog生成注册码tips:flag是flag{暗号}附件描述

2016-07-10 22:48:22 6180

原创 全国大学生信息安全竞赛writeup--珍贵资料(reverse200)

描述你无意间得到了一些珍贵资料,可惜他们看起来不知道是什么,据说解开它可以得到flag神器。 tips:flag是flag{结果}附件描述:文件名:珍贵资料.zip校验(SHA1):4EF84DF5B34C12DED8EC3F603CFBC065251864B4思路一个压缩文件,打开解压得到unknown和unknown2,unknown2是一个apk,unknown不知道是啥。安装apk得到一个登

2016-07-10 22:27:33 6972

原创 全国大学生信息安全竞赛writeup--careful(pwn150)

描述其实没有描述。。就是一个文件,careful. 打开发现输入index和value,10个之后会打出来一个数组。思路先逆向,ida看看。 main函数很简单,return一个init_array。 到init_array里边就比较好玩了,不想看汇编直接f5,大致函数如下int initarray(){ int result; char s[20]; int v2;

2016-07-10 21:40:32 3061

原创 逆向工程之表达式优化识别(5)-取模

取模优化取模运算是得到除法运算之后的余数的运算,这里简单提一下其相关的优化 示例:mov eax, VALand eax, 8000001Fjns LAB1dec eaxor eax, FFFFFFE0inc regLAB1:说明:这是一取模运算的示例,VAL是被除数,and的立即数是一个掩码,用来去掉高位保留地位,根据保留的低位数量,可以得到2^k次方的k,所以这里也就是一个x%(x

2016-07-05 11:07:42 821

原创 逆向工程之表达式优化识别(4)-除法(下)

除法优化继续说除法,之前说了除数为正数的除法,现在再来说除数为负的除法,其实基本思路都已经差不多了,区别在于关于取整时候的定理。 这里在理解的时候其实和之前类似,讨论a的大小即可,我这里只列出了向上取整的转换,因为默认是向下取整的,我们不需要向下取整的转换。向上取整也只需要讨论a<0的情况,因为只有这样才需要转换,所以只需要举例做简单思考,基本上和上一节除法的思考过程一样。1 除数为负2的幂说

2016-07-05 11:02:06 697

原创 逆向工程之表达式优化识别(3)-除法(上)

除法优化说明:除法相对其他几种运算的优化又要更难了,主要是其包含的数学知识(离散数学?) 由于我本人比较笨,也不喜欢深究数学,所以尽量跳过数学,以更直观的方式来解释(其实也就是我自己的理解方法了)0 取整问题取整分为向上取整和向下取整以及向0取整,我们在程序语言中的取整都是向0取整,但是有一些运算却是向下取整的,比如右移运算就是向下取整的,所以在负数的时候,为了保证向0取整,就会做一些调整。1 除

2016-07-05 01:32:38 1509

原创 逆向工程之表达式优化识别(2)-乘法

乘法优化说明:乘法和加减法相比,优化的可能性就高了很多了,主要是因为计算机对于乘法的运算速度不如加减法或者移位运算,所以如果可以转换成简单加减法和移位运算的乘法,编译器就可以选择不使用乘法,而用加减法+移位运算代替。 额外知识点:移位运算,左移和乘2的n次方结果一样,右移分为算术右移和逻辑右移,分别对应右移时左补位补的是符号位还是0。(算术右移补符号位,逻辑右移补0)可以简单理解为算术右移针对有

2016-07-04 22:44:22 723

原创 逆向工程之表达式优化识别(1)-加减法

前言看了《C++反汇编与逆向》那本书,对于加了优化的表达式虽然能够理解,但是由于不常见到又可能见到,见到的时候又经常想不起来,就干脆记下来,也算是督促自己对这一块理解透彻吧。加法优化优化是在代码编译的时候加入优化选项,可以减少占用空间或者减少运行时间消耗等方面进行优化,达到最佳效率。这里我们的优化单指运行时间的优化。1 常量传播说明:即在编译期间就可以得到结果的加法,可直接将变量替换为常量。 举例

2016-07-04 22:03:52 657

原创 gnu C语言__attribute__作用

关于attribute在看linux源码的时候我们可能会经常碰见相关的东西,比如在dl_open的函数里边:void* internal_function _dl_open (const char *file, int mode, const void *caller) { struct dl_open_args args; __rtld_lock_lock_recu

2016-07-03 16:02:14 1738

原创 记一次最简单的exploitme

0x01 前言闲来无事想写一个exploitme,之前虽然做过一些比较简单的ctf题目,可是还一直没有自己写过一个exploitme,本来是一个学长需要,结果由于落入各种坑导致最后没有成功在规定的时间给他。。顺带由此记录一下,如果一个裸的exploitme需要关闭的一些保护0x02 src code#include <stdio.h>#include <string.h>#include <st

2016-07-02 17:20:04 1242

原创 linux 僵尸进程和孤儿进程的简要介绍

进程?即linux(类unix系统)对于运行的程序的一个抽象。谈谈wait和waitpidwait和waitpid是linux支持的两种system call(系统调用),是父进程获取子进程状态的方式。 头文件:#include <sys/types.h>#include <sys/wait.h>函数原型:pid_t wait (int *status)pid_t waitpid(pid_t

2016-06-28 16:15:45 585

原创 linux hard link和soft link(硬链接和软链接)的简单介绍

文件由何决定?首先需要说明linux的文件的概念,我们如何分辨两个在linux里边的文件(以下简称文件)是不同的文件?由此就不得不说到一个东西,inode。根据维基的定义: inode是指在许多“类Unix文件系统”中的一种数据结构。每个inode保存了文件系统中的一个文件系统对象(包括文件、目录、设备文件、socket、管道, 等等)的元信息数据,但不包括数据内容或者文件名。注意,这里说明了

2016-06-28 01:06:28 3752

原创 C++函数返回引用的情况说明

引言(废话)即将考试C++,老师发了一些资料讲了一些比较琐碎的细节,其中有一个就是关于函数返回引用/非引用和在函数调用处使用该引用/费引用(即保存其值)的一些细节,发现自己对这个也不是很清楚,所以作一个记录和说明。返回引用/非引用函数返回非引用,一般情况下,都应该是返回对象的副本。函数返回引用,都应该是返回指向一个对象的引用(引用的实际实现其实就是指针,只不过该指针不允许被改变,且该指针每次使用

2016-06-26 11:44:04 978 2

原创 搜狗输入法Can not lock /tmp/sogou-qimpanel:0.pid: Resource temporarily unavailable.(资源不可用)问题解决

ps aux | grep sogou找到sogou-qimpanel的进程号 然后kill掉 然后重新在终端sogou-qimpanel就可以打开搜狗输入法了

2016-06-21 23:50:18 4050

原创 YCM Still no compile flags, no completions yet.解决

vim ~/.vimrc最后添加:let g:ycm_global_ycm_extra_conf = 'path to .ycm_extra_conf.py'如果已添加cd ~/.vim/bundle/YouCompleteMe/third_party/ycmd/cpp/ycmcp .ycm_extra_conf.py ~/

2016-06-15 17:51:38 3907

原创 apk重打包和签名(jarsigner)

生成keystore: keytool -genkey -v -keystore temp.keystore -alias temp.keystore -keyalg RSA -validity 20000jarsigner签名: jarsigner -verbose -keystore temp.keystore -signedjar android_signed.apk android.apk

2016-06-13 00:47:26 521

原创 2016 alictf Timer android writeup

题目提示:Do you want a time machine? 然后附带一个apk apk下载地址(可能会被ali删除掉)解析:apk安装之后出现一个读秒的,20万秒,大于3600,所以大于一个小时,所以太慢了,不等了。jeb反编译,MainActivity代码:package net.bluelotus.tomorrow.easyandroid;import android.os.Bundl

2016-06-13 00:45:06 2022

原创 2016 alictf LoopAndLoop write up

题目[ LoopAndLoop ] The friendship between native and dex. 给出了一个apk 下载地址:(目前可用,取决于alictf的网站)apk分析安装软件,打开,得到一个LoopAndLoop的apk,打开进去,让输密码,点击按钮,可以看到Not Right!或者Not a valid integer number的提示,显然,只要找到密码,应该

2016-06-07 23:40:08 2219

原创 arm汇编中ldr指令中出现的等号作用

ldr指令的格式:LDR R0, [R1]LDR R0, =NAMELDR R0, =0X123对于第一种没有等号的情况,R1寄存器对应地址的数据被取出放入R0 对于第二种有等号的情况,R0寄存器的值将为NAME标号对应的地址。 对于第三种有等号的情况,R0寄存器的值将为立即数的值

2016-06-07 15:37:29 6492

原创 lock cmpxchg指令

CMPXCHG - Compare and Exchange 0F B0/ r CMPXCHG r/m8,r8 Compare AL with r/m8. If equal, ZF is set and r8 is loaded into r/m8. Else, clear ZF and load r/m8 into AL. 0F B1/ r CMP

2016-06-07 15:04:56 5460

原创 SSE指令集简记

SSE?SSE(为Streaming SIMD Extensions的缩写)是由 Intel公司,在1999年推出Pentium III处理器时,同时推出的新指令集。如同其名称所表示的,SSE是一种SIMD指令集。所谓的SIMD是指single instruction, multiple data,也就是一个指令同时对多个资料进行相同的动作。较早的MMX和 AMD的3DNow!也都是SIMD指令集。

2016-06-07 14:54:01 2273

原创 jeb打开出现Cannot load 32-bit SWT libraries on 64-bit JVM异常解决方法

jeb使用的swt.jar位于 jeb的位置/bin/ 默认带的32位(看雪版本带的32位) 解决方法,搜索一个64位的swt,下载下来解压,将swt.jar替换掉jeb_directory/bin/里的swt.jar即可

2016-06-07 01:29:45 3575

原创 Python星号操作符的作用

作用作用于函数中的形式参数,使函数具有接收可变参数的功能作用于函数调用时的实际参数,单星号对应元组,双星号对应字典。对于元组,将元组中对应值传给对应参数,对于字典,将字典中对应key-value对指定的值传给对应的参数。用法对于第一种:def somefunc(*arg): #code goes here这样,传入的参数将会先被“打包”成为一个元组,然后再当做参数传入。def some

2016-06-07 00:46:11 5049

原创 androlyze 出现trait config相关的错误解决方法

关于没有trait模块的错误:sudo pip install traitlets关于安装之后打不开shell,出现一大坨trait config相关的错误,有什么specified,检查下ipython的版本,应该是ipython的版本不够。如果ipython版本通过Pip无法更新,出现invalid syntax,首先检查python版本(2.7),然后pip版本,sudo pip insta

2016-06-06 10:44:04 482

原创 ubuntu更改网卡设置等出现输入default keyring密码的解决方法

打开终端,输入seahorse 如果提示没有seahorse命令的sudo apt-get install seahorse然后在seahorse打开一个界面之后可以看到左边栏的password里边有一个default keyring,右键删掉,之后到输密码的时候会提示输新密码,之后输新密码就可以了。

2016-06-06 08:46:37 2010

原创 androlyze(或是其他Python程序)出现No module named traitlets.config异常的解决方法

其实就是缺少一个模块 如果没有pip ubuntu下(centos可以用yum,类似的命令)安装python-pipsudo apt-get install python-pip然后使用Pip安装这个模块就可以了sudo pip install traitlets

2016-06-06 00:52:20 5087 1

转载 Python文件操作

http://www.cnblogs.com/allenblogs/archive/2010/09/13/1824842.html

2016-06-04 00:11:49 579

原创 idea vim安装(android studio vim插件)

android studio中: file -> settings -> plugins -> install JetBrains plugin 搜索vim会看到有一个idea vim 点install 然后会提示重启, 重启就好了

2016-05-31 12:57:44 2295

原创 android studio导入第三方jar

1将所需的jar包下载下来2放到对应app的app/libs/文件夹3到android studio中在对应的jar上右键点击,add as Library 就可以了。

2016-05-31 12:51:32 255

转载 Surface, SurfaceView和SurfaceHolder

http://blog.csdn.net/conowen/article/details/7821409

2016-05-31 00:50:03 273

原创 设计模式学习笔记之工厂模式

工厂模式?一个创建型模式。不用new来创建对象,而是使用一个共用的接口来指向新创建的对象。 简单点说,如果我们需要一个物品(即需要获取一个对象,或者更确切些,一个新建的对象),我们不是直接去制造(不是直接new一个),而是通过“工厂”去获取,这个工厂就是我们需要的一个工厂类,由工厂类的对象来完成创造对象的工作。举例理解如果我们需要分别获取实现了Shape接口的三个类,square,circle,

2016-05-30 22:50:49 509

原创 设计模式学习笔记之综述

设计模式?不讲历史,不讲来源,就讲需要记住,需要知道的东西。设计模式就是用来解决软件工程实践中的一些问题而想出来的一些办法(比如,如何应对不断更改的需求…),可以理解为,被人逼出来的(/大哭)。类型分为 1. 创建型(用来创建对象) 2. 结构型(关注类和对象) 3. 行为型 (关注对象与对象)六大原则 1、开闭原则(Open Close Principle) 开闭原则的意思是:

2016-05-30 22:38:37 365

原创 java 集合框架(4)NavigableSet接口

简介NavigableSet接口扩展了SortedSet接口,声明了支持基于最接近匹配原则检索元素的行为。声明interface NavigableSet独有的方法 方法 描述 E ceiling(E obj) 在组中查找大于等于obj的最小元素,没有返回null Iterator<E> descendingIterator() 返回一个从最大元素向最小元素移动的迭代器 N

2016-05-30 22:13:36 561

原创 java 集合框架(3)Set接口和SortedSet接口

Set接口简介扩展Collection接口,并且不允许有重复元素,Set 没有定义自己的其他方法(),如果add()重复元素,add将返回false。声明interface SetSortedSet接口简介扩展了Set接口,并且声明了以升序进行排序的组行为。声明interface SortedSet方法 方法 描述 Comparator<? super E> comparator()

2016-05-30 15:30:04 320

原创 java 集合框架(2)List接口

简介List接口扩展了Collection,生命了用来存储一连串元素的集合的行为。列表中可以使用从0开始的索引,通过元素的位置插入或访问元素,可以包含重复的元素。声明interface List方法 方法 描述 void add(int index, E obj) 将obj插入到调用列表中由index指定的索引位置。在插入点及之后的元素将被后移(没有覆盖元素) boolean ad

2016-05-30 15:22:23 471

原创 java 集合框架(1)奠定基础的接口和Collection

概述(略)关于集合的概述很多资料都可以找到,这里就不再列出,仅列出一些相对需要时刻复习的东西。奠定集合基础的接口 接 口 描 述 Collection 允许操作一组对象,位于集合层次的顶部 Deque 扩展Queue以实现双端队列 List 扩展Collection以处理序列(对象列表) NavigableSet 扩展SortedSet以基于最接近匹配原则检索元

2016-05-30 13:40:21 498

原创 android启动画面静态版本实现

应用软件一般在启动的时候都会有一个启动的画面,用来显示一个图片或者是几页介绍,下面是简单实现。AndroidManifest.xml <application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_nam

2016-05-29 21:06:21 499

转载 linux chrome标签页乱码

sudo apt-get install ttf-wqy-microhei ttf-wqy-zenhei xfonts-wqy

2016-05-29 20:58:47 517

空空如也

空空如也

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

TA关注的人

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