存档

‘Linux’ 分类的存档

简单Android CrackMe分析3

2013年7月25日 5 条评论

作者:代码疯子
博客:Http://Www.ProgramLife.Net/ 求关注,求勾搭!
这是在crackmes.de上找到的一个Android CrackMe,也属于比较简单的类型,当然如果从学习的角度玩,可以尝试通过阅读smali代码并手动将其翻译成Java代码,最终写出一个Keygen出来。
分析之前先把apk装到模拟器上看一下,有两个Activity,提示了两个Hardware ID,需要输入用户名和注册码进行注册。
使用Apktool GUI将apk解包,查看AndroidMan[......]

继续阅读

简单Android CrackMe分析2

2013年7月8日 没有评论

作者:代码疯子
博客:Http://Www.ProgramLife.Net/ 求关注,求勾搭!
这是在网上找到的一个Android CrackMe,属于比较简单的类型,只是使用了ProGuard进行处理。
一、switch结构
在分析这个CrackMe之前,先说一下JD-GUI对switch结构的支持问题,知道这个BUG的存在就好了。JD-GUI反编译出来的switch语句可读性很差,所以最好结合一下smali代码看一下分支的走向。我们先来自己写一段switch代码,体会一下这个BUG。编译下面[......]

继续阅读

简单Android CrackMe分析

2013年7月3日 8 条评论

这是今年ISCC的一道Android CrackMe题目,相对简单的题,懂点ARM指令就差不多了,至于smali什么的,随便看看就好。大概玩一两个这样的CrackMe就对Android的逆向有个大概的了解了。不过后来发现这玩意是从非虫的《Android软件安全与逆向分析》上拿过来的原题,略显蛋疼。
这是个重启注册型APK,题目要求对其进行Patch,使得进入程序后就是企业版程序。首先,使用ApkTool GUI进行解包,发现这个App调用了一个NDK编写的so库文件,crackme6\lib\a[......]

继续阅读

分类: Android安全, CTF 标签: , , ,

Linux使用ROP进行栈溢出攻击

2013年6月25日 6 条评论

通过Protostar stack6演示Linux下ROP的简单使用,ROP就是所谓的Return Orientated Programming,早期也叫ret2libc,关于ROP的介绍可以看早期的文章《CVE2012-1889 Exploit编写(三)》,思路是一样的,只是平台换到了Linux下而已。
0×01. __builtin_return_address函数
先介绍下__builtin_return_address这个函数,这个函数接收一个参数,可以是0,1,2等。__bu[......]

继续阅读

分类: CTF, Linux安全 标签: , , , ,

Linux GOT与PLT

2013年6月19日 2 条评论

读《深入理解计算机系统》第七章《链接》笔记。

在ELF文件的动态连接机制中,每一个外部定义的符号在全局偏移表 (Global Offset Table,GOT)中有相应的条目,如果符号是函数则在过程连接表(Procedure Linkage Table,PLT)中也有相应的条目,且一个PLT条目对应一个GOT条目。以简单的例子观察GOT与PLT的变化机制。

其实就是第一次调用函数之后,会修改GOT条目的内容,第一次相对来说慢一点,以后快一点。有点像Windows下PE文件的导出表条目中的FirstThunk和OriginalFirstThunk的东西。Linux的东西刚接触,如有错误,欢迎指正。

下面是一个简单的Hello World程序:[......]

分类: CTF, Linux安全 标签: , ,