写了篇博客 -《 如何制造一个 XcodeGhost ? 》

2015 年 9 月 21 日
 ibcker

出于好奇,找了样本,分析了过程,打算学习下,
最后决定写下来分享给同样想知道的人
http://ibcker.me/how-to-make-a-xcodeghost

6271 次点击
所在节点    iDev
23 条回复
uuair
2015 年 9 月 21 日
好东西,而且我又开始喜欢上 ghost 了。。要是 ghost 能上传图片就好了。
Showfom
2015 年 9 月 21 日
@uuair 可以上传的啊
n6DD1A640
2015 年 9 月 21 日
赞一下。希望这次给所有开发者门敲个警钟。
matsuijurina
2015 年 9 月 21 日
也就是说纯 swift 的项目是安全的?
jacksong
2015 年 9 月 21 日
赞,给楼主转了
ianisme
2015 年 9 月 21 日
到处找样本的原来是你呀!
liboyue
2015 年 9 月 21 日
https://ring0.me/2014/11/insert-backdoor-into-compiler/ 有个类似的,给编译器插入后门
ibcker
2015 年 9 月 21 日
@liboyue 多谢
ibcker
2015 年 9 月 21 日
@uuair 可以传的,还支持七牛等
ibcker
2015 年 9 月 21 日
@matsuijurina 并没有…
windyboy
2015 年 9 月 21 日
其实就是一句话
xcode 编译的时候有一句 forceload 的编译开关可以加载任何静态库
ibcker
2015 年 9 月 21 日
@windyboy 不是, force_load 是加载里面类别的,和-ObjC 类似
iEason
2015 年 9 月 21 日
城里人真会玩!
run2
2015 年 9 月 21 日
好像还是没讲清原理
ibcker
2015 年 9 月 21 日
@sobigfish 原理挺明显了,我补一句吧,后面那个
{
Name = ALL_OTHER_LDFLAGS;
Type = StringList;
DefaultValue = "$(LD_FLAGS ) $(SECTORDER_FLAGS ) $(OTHER_LDFLAGS ) $(OTHER_LDFLAGS_$(variant )) $(OTHER_LDFLAGS_$(arch )) $(OTHER_LDFLAGS_$(variant )_$(arch )) $(PRODUCT_SPECIFIC_LDFLAGS ) -force_load $(PLATFORM_DEVELOPER_SDK_DIR )/Library/Frameworks/MyXcodeGhost.framework/MyXcodeGhost";
CommandLinePrefixFlag = "";
}

从 ALL_OTHER_LDFLAGS 的字面意思,应该和咱们平时用到的 Ohter Linker Flags 类似,感觉更像一个默认项,所有项目编译时都会默认链接上·
zhicheng
2015 年 9 月 21 日
欢迎发到 TextArea.com 上啊!
run2
2015 年 9 月 21 日
那个 CoreBuildTasks.xcplugin 居然没有被 gatekeeper 保护?就直接被修改了?
jianzong
2015 年 9 月 21 日
有意思,学习了
brucefeng
2015 年 9 月 21 日
博客访问好慢
ibcker
2015 年 9 月 21 日
@brucefeng 我也发现了,到 linode 上,最近国内间歇性抽风,正在考虑要不要换个地方

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/222303

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX