zoukankan      html  css  js  c++  java
  • IOS逆向【3】-helloworld

    第三集内容:写一个命令行的helloworld

    代码来自IOS冰与火之歌,下载下来之后,编译到成功运行的过程是这次的重点。

    要使用make进行编译,Makefile怎么写?

    找到一篇微博,经过修改(还好懂一点llvm)到下面这个Makefile。

    C=clang
    
    FRAMEWORKS:= -framework Foundation
    LIBRARIES:= -lobjc
    SDK:=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk
    
    SOURCE=hello.m Talker.m
    CFLAGS=-isysroot ${SDK} -Wall -Werror -arch armv7 -g $(SOURCE)
    LDFLAGS=$(LIBRARIES) $(FRAMEWORKS)
    OUT=-o hello
    
    all:
    		$(CC) $(CFLAGS) $(LDFLAGS) $(OUT)
    

    直接make就ok了。我使用的是iPhone4s,CPU型号是armv7,如果其他高版本的ipone机型,就要使用arm64的选项。

    make成功后,在当前文件夹生成一个hello程序,使用scp命令上传到手机上,如果直接运行会出现

    Administratormato-iPhone:~ root# ./hello
    Killed: 9
    

    这时使用ldid签名,再运行程序就会运行成功。

    Administratormato-iPhone:~ root# ldid -S hello
    Administratormato-iPhone:~ root# ./hello
    2016-03-12 12:23:47.111 hello[2641:707] Hello, Ice and Fire!
    2016-03-12 12:23:47.115 hello[2641:707] Hello, Ice and Fire!
    
  • 相关阅读:
    1094. Car Pooling
    121. Best Time to Buy and Sell Stock
    58. Length of Last Word
    510. Inorder Successor in BST II
    198. House Robber
    57. Insert Interval
    15. 3Sum java solutions
    79. Word Search java solutions
    80. Remove Duplicates from Sorted Array II java solutions
    34. Search for a Range java solutions
  • 原文地址:https://www.cnblogs.com/Lnju/p/5268506.html
Copyright © 2011-2022 走看看