- 博客(18)
- 收藏
- 关注
原创 MSC-第四题
整理资料,发现上次MSC第四题没爆,那就爆一下吧。-----------------------------------------------------------------------0x01 脱壳:脱壳方法差不多,不过脱壳出来直接baksmali发现有错误,是StubRuntimeException annotation有误。既然是StubRuntimeException
2015-04-29 22:48:29 669
原创 第二届Alictf-初赛第四题
上月的ctf木有机会参加,不过技术比较菜,不献丑也好。。。废话不多说,拿来看看。--------------------------------------------------------------------------------0x01 脱壳脱壳方法和年初的MSC相同,看雪有各路大牛的技巧。 脱壳修复dex之后,用jd查看。从入口函数看起,根据布局文件,结合apk界面,
2015-04-27 15:58:32 788 1
原创 2014年娜迦CM赛第四题
这题有点意思。http://bbs.pediy.com/showthread.php?t=193953APK直接运行,有许多LOG。拿出SO文件,查看segment,按上题修复。IDA打开,和上题类似,dump出解密段。修复SO,在打开,发现一个问题:直接运行,肯定要崩溃,我还是去了.init入口尝试了执行,崩溃了。这题有LOG,估计是提示。 里面有一个HO
2015-03-12 16:39:48 1143
原创 2014娜迦CM赛第三题
继续练手,http://bbs.pediy.com/showthread.php?t=193877-------------------------------------------------------------------------------尝试和第二题的方法,ATTACH到进程退出,估计有反调试。查看task目录,多了几个线程,估计是反调试用的。纠结了半天,还是
2015-03-10 16:56:27 1054
原创 2014年娜迦CM赛第二题
晚上再看雪搜到第二题,再拿来玩玩儿。和第一题不同, Attach到进程后,IDA module里面木有crack.so,但maps文件中存在。这样貌似就找不到被注册的JNI函数下断点了。好像木有什么办法,不过有一点,这个是JNI函数,故可以在 类的Method结构体insn找到函数地址。具体做法就有点之前的NDK native函数HOOK了,减少替换函数而已。找到 crack.so的基
2015-03-07 23:13:56 1098
原创 2014年娜迦CM赛 第一题(原帖:记一次算法逆向)
偶然翻到去年玩命大哥举办的CM大赛第一题APK,拿来逆向练手。(好久没写博客,刷下存在感)---------------------------------------------------------------------------------------由于壳子是自定义的加载器,ELF文件格式DIY得比较厉害,IDA直接打开就崩溃了。反编译查看APK,算法放在了SO中,JAVA层
2015-03-06 17:36:25 1014
原创 Android SO CM小记
http://bbs.pediy.com/showthread.php?t=188793帖子给出了算法分析,注册机等。出于汇编分析练习,将之爆破。Step1: 通过SODUMPER工具,DUMP解密后的SO文件。Step2: 分析去花后的verify函数:arg_8 = 8arg_28 = 0x28 STMFD SP!, {R4-R8,LR}MOV
2014-11-23 20:02:21 692
原创 从零打造简单的SODUMP工具
从零打造简单的SODUMP工具Author: ThomasKing最近翻看之前的帖子,发现基于linker init_array加密的SO文件的静态分析稍微麻烦。虽然原理很清楚,但是需要dump之后再进行section修复才能放入ida。可以看到,上述两步骤其实很机械。那么应该可以实现一个自动化工具,帮助我们解决上述问题,让我们可以精力专注于其他地方,提高效率。实现上述工具需要解决两个问题
2014-11-18 22:35:19 3453
原创 ELF Format DIY For Android
ELF Format DIY For AndroidAuthor: ThomasKing本文只讨论安卓平台ELF格式一些可以DIY的地方。当然,有些DIY有使用价值,有些DIY仅好玩而已。为了完整性,均在下文讨论。一、Elf32_Ehdr1. e_ident[16]这个字段,现ELF标准只使用了前7个字节,后9个字节是未定义的。在linux平台,这9个字节是填0,且不能动。而安
2014-11-18 22:30:19 1449
原创 python语言快速入门
一、数据类型:IntegerLongFloatComplex number: (-5 + 4j) 二、字符串:单引号:’hello’双引号: “world”三引号:’’’ or “”” 多行输入 or (行尾\)Raw String: 无任何转义, r or R 开头Unicode String: u or U开头无字符一说 三、变量无需声
2014-09-29 19:51:17 686
原创 无源码加解密实现 && NDK Native Hook
一、概述在上个帖子http://bbs.pediy.com/showthread.php?t=191649中介绍了so加解密实现的基本思路和有源码自加解密实现。仅仅实现有源码的方式,肯定不是我们想要的。下面介绍一种无源码的加解密实现和简单的Native method hook思路。 二、无源码加解密实现在上个简单粗暴的so加解密帖子中,介绍了基于section和特定目标函数(或数据
2014-09-08 17:34:22 2377
原创 简单粗暴的so加解密实现
利用动态链接库实现安卓应用的核心部分,能一定程度的对抗逆向。由于ida等神器的存在,还需要对核心部分进行加密。动态链接库的加密,在我看来,有两种实现方式:1. 有源码; 2、无源码。无源码的加密,类似window平台的加壳和对.dex文件的加壳,需要对文件进行分析,在合适的地方插入解密代码,并修正一些参数。而如果有源码,则可以构造解密代码,并让解密过程在.so被加载时完成。(当然,应用程序加载了.
2014-08-30 08:58:12 2583
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人