攻击目标叫什么名字
来源:互联网 发布:易语言砍价源码 编辑:程序博客网 时间:2024/06/11 16:02
叶孤城原创,转载须授权。
小白:叶城主,你要攻击的目标叫西门吹雪啊,你忘了?
叶孤城:闭嘴,我要攻击的目标是各种app里面的类!
小白:你为什么要知道类名?难道你要诅咒它不成?
叶孤城:知道类名可以发起攻击,比如我可以注入进去,让程序自动切换界面,甚至把它的机密数据拿回来……
小白:你这偷窥狂!
本文解决一个问题:定位目标类的类名。
定位类名,有两个办法,一个是classdump出头文件后再通过静态或动态的分析办法定位出类名,另一个办法是通过分析界面布局来定位类名。
小白:classdump个头?你能不能不要讲这么长的句子,都是什么来的?
花满楼:classdump是倚天剑,我后续再介绍。
小白:又是剑……
这里介绍分析界面布局并获取类名的办法。
使用的工具为Reveal。
小白:在哪里下载Reveal?
花满楼:不要问我这种问题啦。
(一)使用Reveal
先下载一个破解版本呗,比如1.6版本或1.5版本。
(1)拷贝libReveal.dylib到手机
在mac上运行Reveal后,菜单Help -> Show Reveal Library in Finder,再点击iOS Library,就可以找到libReveal.dylib。
拷贝到DynamicLibrary目录下:
scp libReveal.dylib root@192.168.2.57:/Library/MobileSubstrate/DynamicLibraries
小白:为什么要拷贝到DynamicLibraries目录?这个目录存在吗?
叶孤城:这个目录的动态库(也就是dylib后缀的文件),有机会让某些甚至是所有手机上的程序启动时都加载到,至于让哪些程序加载,则由plist文件决定。然后,只要你的手机成功越狱了,这个目录就是存在的。
小白:还好,我的手机是越狱了的,而且scp也可以使用……看来,你上次讲的“进入攻击范围”还是有点用的。
叶孤城:我向来注重实用,不像某些人只会讲一些无用的算法或所谓软件基础的东西。
小白:……你这算是指责陆小凤跟西门吹雪吗?
(2)拷贝libReveal.plist到手机
找一个plist文件来修改,或者直接写一个plist文件。
plist文件要指定让哪个应用启动时加载Reveal.dylib,比如:
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"><plist version="1.0"><dict> <key>Filter</key> <dict> <key>Bundles</key> <array> <string>com.tencent.QQKSong</string> </array> </dict></dict></plist>
上面的plist内容,让“全民k歌”启动时,加载Reveal.dylib。
小白:如果不指定这个Filter呢,是不是所有的程序启动时都加载?
叶孤城:ios8之前的版本是这样的,但之后的版本都需要指定应用,这个应用就是你的攻击目标。所以,不管3724,你先加上这个Filter再说。
小白:3721,叶城主!还有,你为什么选择“全民k歌”这个app?难道你在里面有个马甲?
叶孤城:难道除了会如来神掌,我还是歌神传人,也要告诉你?
小白:等等,歌神,我怎么知道“全民k歌”的filter值是什么?
叶孤城:这里面的filter值就是boundleid,而于目标app的boundleid是多少,有很多办法可以查到,比如找到他的plist文件来查看,比如ps看进程信息,比如动态调试等等。你如果还是不明白,那就算了吧。
小白:你不是吧,能不能上点心?我可以加你的开发群再来细问吗?
叶孤城:可以,但我一般不回答。
小白:…….
拷贝libReveal.plist到手机:
scp libReveal.plist root@192.168.2.57:/Library/MobileSubstrate/DynamicLibraries
之后,在mac上再次启动Reveal就可以连接目标app,来分析ui类了。
比如,在手机上重启全民k歌,在mac上重启Reveal,然后连接全民k歌:
可以看到,全民k歌的一个页面是这样(注意看类名!):
(二)让全民k歌自动切换至歌手页面
现在做一个演示,通过Reveal定位到全民k歌的目标类,并让全民k歌启动后自动切换至歌手页面。
小白:哇,你是发起攻击了吗?
叶孤城:冷静,只是只让你看到希望而已。
首先通过Reveal,定位到底部导航条的所在的viewcontroller类:
也就是KSRootTabBarController。
小白:什么叫viewcontroller类?
叶孤城:不要打岔,这种问题去问西门吹雪!
小白:……
然后,通过查看classdump翻译到的代码结构,可以看到点击“我要唱”按钮,就是触发KSRootTabBarController::onClickTabBarItem函数。
小白:喂,怎么就dump到代码结构了?叶城主,你断片了哦!
叶孤城:怎么砸掉目标app的外壳,怎么翻译到代码结构,我后面再介绍,你不要叽叽喳喳的。
然后,就可以hook这个类了,让目标app自动跳转。
小白:你怎么知道就是这个函数切换至“我要唱”的?难道你有卧底?
叶孤城:我猜的!
小白:这么不专业的话你也说得出来!
叶孤城:专业?写程序就是玩积木,有什么专业好严肃的!
小白:……
叶孤城:其实,有两个办法,一是看名字来猜并反复尝试,两是通过动态调试来快速定位。
小白:何为动态调试?
叶孤城:就是动着调戏,我后面再介绍,你先不要流口水。
小白:我去。
最终,自动跳转的效果是这样的:
小白:叶城主,我觉得你很敷衍啊,怎么拿到代码结构不说,代码结构也不说,怎么hook也不说,就只告诉我一个结果!
叶孤城:本次的目的是介绍通过Reveal定位目标类的类名,这个讲了就行,至于其它的,慢慢来,贱,不,剑要一招一招来练。
鸡汤时间
1.不经历风雨,怎么迎接暴风雨。
2.人生就是一个起落落落落落落落落的过程。
3.生活会让你苦上一阵子,等你适应之后,再让你苦上一辈子。
4.生活不止是眼前的苟且,还有明天的苟且和后天的苟且。
5.一觉醒来,是不是感觉离梦想又远了呢。
6.没有梦想,至少还可以做梦啊。
7.好好活下去,每天都有新打击。
8.加油,你是最差的。
9.世上无难事,只要肯放弃。
10.书山有路勤为径,怪你没有富贵命。
逆向开发,关联阅读
进入攻击范围
如果你对逆向开发有兴趣,那请关注我们的公众号,并在输入框中发送数字6,叶孤城会加你到专业的逆向开发群中。
- 攻击目标叫什么名字
- 叫什么名字?
- 什么叫DOS攻击
- 什么叫DDOS攻击
- Google的中文名字应该叫什么?
- C语言编程软件名字叫什么
- 搜索引擎爬虫都叫什么名字
- 下一代 Mac OS X 会叫什么名字?
- 整除数(不知道具体名字叫什么)
- 什么叫目标,什么叫事业,写得让我失眠!也送给我自己
- 小游戏(名字不知道叫什么好,反正是好像打靶的那种游戏)
- 你的公司叫什么?著名IT公司名字的来历
- 你的公司叫什么?著名IT公司名字的来历
- 选中本页面所有复选框,不管叫什么名字,有没有这个方法或者代码
- 【开心测试】测测你在古代叫什么名字~~~超好玩
- 【开心测试】测测你在古代叫什么名字~~~超好玩
- 树(不知道叫什么名字,以前也很有用)(增加注释)
- 不知道栏目该叫什么名字怎么办?在线等,急!——CSS+DIV
- java调用系统命令
- Glide-You cannot start a load for a destroyed activity
- 虚拟内存
- xdoj 1243 ckj老师爱数学
- STM32编程基础(2)-库的修改
- 攻击目标叫什么名字
- 变位词排序
- hdu-5834 Magic boy Bi Luo with his excited tree 树形dp
- sql之left join、right join、inner join的区别
- Mybatis配置
- Elasticsearch分布式安装错误之:handshack failed
- Hibernate持久化类要求
- 2011年NOIP提高组 铺地毯
- [BZOJ1029][JSOI2007]建筑抢修-堆-贪心