• 请不要在回答技术问题时复制粘贴 AI 生成的内容
cyberspace1368
V2EX  ›  程序员

非官方渠道下载的 Xcode 编译出来的 app 被注入了第三方的代码

  •  
  •   cyberspace1368 · Sep 17, 2015 · 8025 views
    This topic created in 4069 days ago, the information mentioned may be changed or developed.
    http://snpy.in/KqFKuh

    http://weibo.com/tangqiaoboy
    "一个朋友告诉我他们通过在非官方渠道下载的 Xcode 编译出来的 app 被注入了第三方的代码,会向一个网站上传数据,目前已知两个知名的 App 被注入,检测方式见附图。"
    Supplement 2  ·  Sep 17, 2015
    “ @ibremn 消息来源是以为唱吧的 iOS 技术: http://weibo.com/2js3 ”
    44 replies  •  2015-09-18 13:40:54 +08:00
    likuku
    likuku
    Sep 17, 2015
    1
    何必呢...no zuo no die
    likuku
    likuku
    Sep 17, 2015
    2
    下面贴的微博的链接又是什么鬼?
    cyberspace1368
    cyberspace1368
    OP
    Sep 17, 2015
    3
    @likuku 来源,在微博上看到的,不知道怎么贴单条微博的链接。
    jejer
    jejer
    Sep 17, 2015
    4
    无奇不有
    mogita
    mogita
    Sep 17, 2015
    5
    靠吃毒鼠强证明人体之脆弱?
    wdlth
    wdlth
    Sep 17, 2015
    6
    就像 GHOST 版的系统,里面大有文章。
    JackBlack2006
    JackBlack2006
    Sep 17, 2015
    7
    这倒是带来一个较大的问题:运营商劫持下载。

    运营商的那个机制又不会检查文件 MD5 SHA-1 。如果运营商自己的缓存里面是一个被恶意修改过的文件,劫持 MAS 下载以后……
    ca1123
    ca1123
    Sep 17, 2015
    8
    很合理啊~
    xi_lin
    xi_lin
    Sep 17, 2015
    9
    不知道是啥知名 app 中招。。
    dorentus
    dorentus
    Sep 17, 2015
    10
    @JackBlack2006 MAS 是 https ,不过这并不重要,重要的是 iOS app 的安装和开始运行的时候都会去检查应用包的签名,确认包完整且没有被修改过才会安装和运行。

    即使是越狱了,这个机制仍然在。不过,如果用户越狱是为了装盗版应用,那么多半他会再装一个补丁把上面的签名检查机制禁用掉。那就只能听天由命了。
    likuku
    likuku
    Sep 17, 2015
    11
    @ieuYao 微博 /twitter 你点击信息页的时间戳,那个就是单条的链接。
    likuku
    likuku
    Sep 17, 2015
    12
    @dorentus so,盆油经验就是不仅要全程 https ,自己发布的 app 里也得把客户端 ssl 证书加进去,以免被中间人攻击所替换掉。
    cnhongwei
    cnhongwei
    Sep 17, 2015
    13
    这么牛,下次直接修改掉编译器,没有办法躲了吧。
    ibremn
    ibremn
    Sep 17, 2015❤️1
    14
    消息来源是以为唱吧的 iOS 技术: http://weibo.com/2js3
    其中提到"非官方下载渠道"是百度盘之类的地方。
    cyberspace1368
    cyberspace1368
    OP
    Sep 17, 2015
    15
    @likuku 原来这样, thx !
    laoyur
    laoyur
    Sep 17, 2015
    16
    “检测方式是恶意 Xcode 包含有如下文件 /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/Library/Frameworks/CoreServices.framework/CoreService 正常的 Xcode 的 SDK 目录下没有 Library 目录”

    ——我擦,我的 XCode 中招了,我就是从百度盘中下载的
    以后得当心了
    mornlight
    mornlight
    Sep 17, 2015
    17
    @laoyur 哪个版本?
    laoyur
    laoyur
    Sep 17, 2015
    18
    @mornlight Version 6.4 (6E35b )
    百度盘下的, 好像是这个 http://pan.baidu.com/s/1eQgu6eY
    JackBlack2006
    JackBlack2006
    Sep 17, 2015
    19
    那么问题来了,这是百度修改的还是别人改了传上去的?
    mornlight
    mornlight
    Sep 17, 2015
    20
    @JackBlack2006 百度不会干这种无聊的事,应该是别有用心的人改了传上去的。
    Zzzzzzzzz
    Zzzzzzzzz
    Sep 17, 2015
    21
    回头看了下水果机, MAS 里更新 xcode 保持在"安装 - 不到一分钟"已经快二十分钟了.......
    rannie
    rannie
    Sep 17, 2015
    22
    顶一下吧 还是从官方下安全= =
    wezzard
    wezzard
    Sep 17, 2015
    23
    @mornlight 那可不一定,百度是個很大的組織,你能保證李彥宏沒有這個想法,不能保證下面的沒有。
    robertlyc
    robertlyc
    Sep 17, 2015
    24
    说这个新闻的 就是没开发过 iOS 没用过 xcode
    fo2w
    fo2w
    Sep 17, 2015
    25
    @robertlyc why?
    ljbha007
    ljbha007
    Sep 17, 2015
    26
    从来不从非官方渠道下东西的 想说一句:“我就说吧!”
    wezzard
    wezzard
    Sep 17, 2015
    27
    @fo2w 因爲他以爲是打包後再注入到二進制文件裏面,這樣會使打包後的校驗失敗,成爲無效應用。但是他也應該不懂編譯語言寫的程序是如何從源程序變成可執行二進制文件的。 sigh...
    wezzard
    wezzard
    Sep 17, 2015
    28
    @ljbha007 我也都是從官方下載的,但是剛剛去 AppStore 的評論區黑了一發百度和迅雷。(逃……
    fo2w
    fo2w
    Sep 17, 2015
    29
    @wezzard 唉...
    nozama
    nozama
    Sep 17, 2015
    30
    $ codesign -v /Applications/iTunes.app

    ================================
    $ codesign -v /Applications/Xcode.app
    /Applications/Xcode.app: a sealed resource is missing or invalid
    learnshare
    learnshare
    Sep 17, 2015
    31
    无论如何都要官方下载,当然,也无法避免 HTTP 地址被劫持成 TX 管家...
    mornlight
    mornlight
    Sep 17, 2015
    32
    @laoyur 你可以和官方的版本对比一下 SHA-1 值看看,官方的我写在这里了 https://github.com/iBcker/adcdownload
    oska874
    oska874
    Sep 17, 2015
    33
    mdf5 的重要性体现了
    janxin
    janxin
    Sep 17, 2015
    34
    Xcode 官方下的那么快,没必要去网盘之类的单独下吧
    dndx
    dndx
    Sep 17, 2015
    35
    @JackBlack2006 要是这么容易就能劫持还需要越狱干啥?没越狱 iOS 会检测应用的数字签名的。
    missdeer
    missdeer
    Sep 17, 2015
    36
    其实我是不太信这个消息的
    laoyur
    laoyur
    Sep 17, 2015
    37
    @mornlight
    iMac:Desktop xxx$ shasum Xcode_6.4.dmg
    a836d8fa0fce198e061b7b38b826178b44c053a8 Xcode_6.4.dmg

    跟官方的果然不同
    SHA-1:672e3dcb7727fc6db071e5a8528b70aa03900bb0
    mornlight
    mornlight
    Sep 17, 2015
    38
    @laoyur repo 里放的 hash 值是我自己从官方下载好后再算的,应该不会有问题。晚上有空了我把你提到的那个百度盘分享都弄下来看看
    JackBlack2006
    JackBlack2006
    Sep 17, 2015
    39
    @dndx 我说的是劫持 Xcode dmg 和 OS X dmg ,还有升级时候下载的 pkg 这些
    ibremn
    ibremn
    Sep 17, 2015
    40
    @robertlyc
    @dndx
    @missdeer
    我也不太相信这个消息,但是这么做确实是可行的。
    在编译代码时,多链接两个文件就就可以了,随便搞个 Xcode 插件都能办到。
    goodbest
    goodbest
    Sep 17, 2015
    41
    laoyur
    laoyur
    Sep 18, 2015
    42
    @mornlight 你在百度盘上分享的全部被销毁了?百度干的还是你干的?
    mornlight
    mornlight
    Sep 18, 2015
    43
    @laoyur 百度干的,没接到任何通知。我正在更新
    mornlight
    mornlight
    Sep 18, 2015
    44
    @laoyur 百度盘把我的几个新版本的 dmg 都判定为违规文件了,无法分享。服了。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   879 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 76ms · UTC 23:47 · PVG 07:47 · LAX 15:47 · JFK 18:47
    ♥ Do have faith in what you're doing.