自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 arm逆向工程abi

/* * linux/arch/arm/kernel/armksyms.c * * Copyright (C) 2000 Russell King * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public Licen

2016-07-19 18:48:35 2092

原创 android AES加密代码

package com.example.crack_me;import java.security.Key;import java.security.SecureRandom;import javax.crypto.Cipher;import javax.crypto.KeyGenerator;import javax.crypto.SecretKey;import javax.crypto

2016-07-19 16:21:49 481

转载 JNI接口函数

typedef const struct JNINativeInterface *JNIEnv;const struct JNINativeInterface … = {NULL, NULL, NULL, NULL, GetVersion, //获取JNI版本号DefineClass, //通过指定ClassLoader对象加载类FindC

2016-07-19 14:08:40 821

原创 android studio xposed教程(含jar下载地址)

0x01 什么是xposed? Xposed是一款可以在不修改APK的情况下影响程序运行的框架服务,基于Xposed能够制作出许多功能强大的模块,且在功能不冲突的情况下同时运作。xposed是一个框架,可以通过xposed installer安装,具体安装方法我就不在这里详述了,需要的同学请自行搜索。这里我们主要介绍其hook函数的方法。其api jar包下载地址:api下载地址0x02 使用

2016-07-19 01:26:52 11994

原创 Android ndk class file for android.support.v7.app.AppCompatActivity not found

在使用android ndk的时候,今天突然遇到了这样的问题,在android studio中安装了ndk,build成功之后,最后一步使用javah的时候一直出现这样的错误Error: cannot access android.support.v7.app.AppCompatActivity class file for android.support.v7.app.AppCompatAct

2016-07-17 00:11:12 2822

原创 kali(ubuntu)linux Oracle jdk 8安装

kali 自带的是openjdk,如果要写安卓得用oracle的jdk,但是不知道为啥apt不能用,就只能自己手动安装了。0x01 jdk下载官网下载jdk,tar.xz后缀的,注意是64还是32位。不知道为啥我这边下载速度超级慢。。。。0x02 卸载openjdksudo apt-get remove openjdk-8-jdk这里如果是其他版本的jdk也得相应的remove掉,我看有的地方使用了

2016-07-16 21:13:13 6048

原创 python之描述符

前言感谢文章,python描述符。之前对这个东西一直是听说过但是不知道怎么回事,看了几篇文章也是不知道为什么有这样的设计,这篇文章看了之后算是基本上懂了,所以稍微记录一下自己的理解。propertyproperty是将函数调用伪装成对属性的访问,相信很多文章里边也提到这个说法了,我也只是照抄一下。关键是为什么?为什么有property?property将一个函数变成了类似于属性的使用,我可以很单纯的

2016-07-15 23:05:00 881

原创 设计模式学习笔记之观察者模式

观察者模式定义:在对象之间定义一对多的依赖,这样一来,当一个对象改变状态,依赖它的对象都会收到通知,并自动更新 解释:这里是松耦合的一种体现,主要是将需要变化的东西作为subject,将因为subject的变化而做出相应动作的东西作为观察者,当subject发生变化时即通知观察者示例同样的java的实现我做一个描述即可。一种方法是使用java内置的java.util.Observable,另外一种

2016-07-15 13:58:51 316

原创 设计模式学习笔记之策略模式

策略模式定义:定义算法族,分别封装起来,让它们之间可以互相替换,此模式让算法的变化独立于使用算法的客户 解释:这种模式是对几种原则的体现,封装变化,多用组合少用集成,和针对接口编程。主要的问题来源于当我们需要一些行为(方法),但是这些行为是可以改变的,我们想将这些行为独立出来,这就使用到策略模式,将行为变为接口,具体的实现由运行时来确定。示例套用一下head first的duck示例,即我需要一个

2016-07-15 12:12:29 373

原创 linux终端文件名颜色问题(文件夹具有可执行文件颜色之类的问题)

问题主要是因为权限,文件夹其实也是文件,而将文件权限设置为可执行可能就会导致其颜色显示为绿色,也就是一般时候可执行文件才有的颜色,只需要更改颜色就可以了。 问题一般是在chmod 777 之后,只需要 chmod 755 目录文件名 即可解决,如果其还有子目录,可以 chmod 755 name/*

2016-07-11 14:52:04 7740 1

原创 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 39555 1

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

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

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

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

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

2016-07-10 22:48:22 6185

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

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

2016-07-10 22:27:33 6975

原创 全国大学生信息安全竞赛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 3062

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

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

2016-07-05 11:07:42 822

原创 逆向工程之表达式优化识别(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 1511

原创 逆向工程之表达式优化识别(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 1739

原创 记一次最简单的exploitme

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

2016-07-02 17:20:04 1243

空空如也

空空如也

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

TA关注的人

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