IOS逆向--ldid编译和使用

ldid下载:

ldid源码下载地址:https://github.com/downloads/rpetrich/ldid/ldid.zip

把ldid文件复制到/usr/bin   权限问题

简介:

1. ldid是在mac上执行这个命令

2. 可以在所有越狱过的机器上正常调用API安装程序

3. Command Line Tools不装执行ldid会报一个错,具体没记录是什么错了

4. -bash: ldid: command not found,你没把ldld加上可执行权限吧?用chmod加。

然后调用命令需要./,如:./ldid -Sentitlements.xml installerIpaTest.app/installerIpaTest

5. ./ldid -Sentitlements.xml,-S后不需要加空格 

实例:

usage: ldid -S[entitlements.xml]

 ldid -e MobileSafari

 ldid -S cat

 ldid -Stfp.xml gdb

ldid -Sentitlements.xml PengU_iPhone_Gsou.app/PengU_iPhone_Gsou //中间不加空格-Sentitlements.xml

ldid.cpp(272): _assert(false); errno=0   //没进入sudo -s管理员权限

iPhone程序签名时要用到ldid,你可以下载安装ldid:

$ sudo apt-get install ldid

如果找不到,可以从源代码编译和安装

1. 从saurik下载 ldid

$ wget http://www.linuxidc.com/system/systemfiles/2011/03/ldid-1.0.610.tgz

2. 解压

$ tar -zxf ldid-1.0.610.tgz

3. 编译

$ cd ldid-1.0.610

$ g++ -I . -o util/ldid{,.cpp} -x c util/{lookup2,sha1}.c

4. 放到系统bin目录

$ sudo cp -a util/ldid /usr/bin

5. 执行

$ ldid -S FILE

6. 错误处理

直接执行ldid -S yourlib可能会出现如下错误:

util/ldid.cpp(576): _assert(2:false)

util/ldid.cpp(581): _assert(0:WIFEXITED(status))

Trace/breakpoint trap

需要设定CODESIGN_ALLOCATE环境变量:

export CODESIGN_ALLOCATE= $(your_toolchain)/toolchain/pre/bin/arm-apple-darwin9-codesign_allocate

ldid -S your.dylib

你可能感兴趣的:(IOS逆向--ldid编译和使用)