首页
社区
课程
招聘
[分享]iOS writeup
发表于: 2015-10-20 13:17 2710

[分享]iOS writeup

2015-10-20 13:17
2710
第一题就是比手快啊。。。IDA打开直接看到onClick函数,然后直接写代码就可以了。。
#!/usr/bin/env python
# encoding: utf-8

import string
from hashlib import sha256
from Crypto.Cipher import AES

def caesar(s, k):
	r = ''
	for c in s:
		if c in string.uppercase:
			r += chr((ord(c)-ord('A')-k) % 26 + ord('A'))
		elif c in string.lowercase:
			r += chr((ord(c)-ord('a')-k) % 26 + ord('a'))
		else:
			r += c
	return r


key = 'ZGlhb2RhX2ppYW5rYW5nCg=='
c = 'mrMZAbjtZozDOGI9UeeH6g0iLHNnTNsFyzS0tYca4R3KkaQ0doxdDVuxZ7HoqYOcxFhgDiEvdGKix95VJNEUP8rdox4cm7GHVkbVcTJPmrTtH7hompW+xjTgGg2zQhs0tUGQ8lCggev2SNoWcaUOUU=='
for k in xrange(4, -1, -1):
	t = caesar(c, k)
	aes = AES.new(sha256(key).digest(), AES.MODE_CBC, IV='\x00'*16)
	c = aes.decrypt(t.decode('base64'))
	c = c[:len(c)-ord(c[-1])]

print c


第二题
首先在这里找到了struct cdevsw的定义


然后Apple源码库中找到了引用过ptmx_cdev的代码


然后在kernelcache里搜索ptmx字符串找到了对应的函数sub_80293330:,


以及对应的结构体


接下来寻找调用`cdevsw_add`的地方,找到了random和pf对应的位置



最后将3*3=9个地址拼接起来,为flag:0x800c0ea1#0x800c0e39#0x800c0e05#0x802873ad#0x802873ad#0x80149d19#0x80292251#0x80292661#0x8029298d

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

上传的附件:
收藏
免费 0
支持
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回
//