zoukankan      html  css  js  c++  java
  • 在未越狱的机器上安装破解软件 支持 xcode 4.2

    分类: iphone2011-12-09 17:58 78人阅读 评论(0) 收藏 举报

    厄~我承认这个标题很有诱惑性和极具危险性,我虽不是法盲,但这么高级的法律知识我还真不懂,如果侵犯到了某人的利益,请及时通知我撤销文章,并当众给您道歉,上CCAV道歉都成~很诚意的!


    本文只讲述一段故事,这个故事是说某公司开发了一个软件,在没代码,没越狱机器也没上APPSTORE的情况下,公司其他员工(非本人)利用不道德的手段将IPA安装到了手机上,道德我们不谈了,谈谈他是咋做的吧!(但也不保证所有软件都能顺利安装)


    首先要有个MAC电脑(据某人说黑苹果也成,毕竟技术都是一样的),然后要装个xcode 下面的模板专门针对xcode 4以上的(下面的模板在4.2上顺利通过)

    如果不想花99刀买开发者证书就上GOOGLE上搜搜“免费真机调试”(郑重声明,我说的免费真机调试是指有些人愿意帮忙申请证书的,如果您搜索到其他不道德的文章,一切责任你知道不管我事就成了~)


    装好之后去下个CrappStore For Xcode 4.zip(http://imzdl.com/有下载),打开crappstore不要安装,找到CrappStoreXC4Installer右键选择“Show Package Contents”进入Contents->Resources将CrappStore文件夹拷贝到/Users/apple/Library/Developer/Xcode/Templates/Project Templates下,重启xcode新建一个工程,发现左面有个CrappStore的模板,这就表示CrappStore安装好了,先不用记着去试,现在需要修改一下CrappStore的模板,让他更自动化~

    在/Users/apple/Library/Developer/Xcode/Templates/Project Templates/CrappStore/CrappStore.xctemplate/新建一个Entitlements.plist文件内容为:

    1. <?xml version="1.0" encoding="UTF-8"?>  
    2. <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">  
    3. <plist version="1.0">  
    4. <dict>  
    5.     <key>get-task-allow</key>  
    6.     <true/>  
    7. </dict>  
    8. </plist>  

    打开同目录下的TemplateInfo.plist将其内容改为:
    1. <?xml version="1.0" encoding="UTF-8"?>  
    2. <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">  
    3. <plist version="1.0">  
    4. <dict>  
    5.     <key>Ancestors</key>  
    6.     <array>  
    7.         <string>com.iPAGod.base</string>  
    8.         <string>com.iPAGod.iosbase</string>  
    9.     </array>  
    10.     <key>Concrete</key>  
    11.     <true/>  
    12.     <key>Definitions</key>  
    13.     <dict>  
    14.         <key>Entitlements.plist</key>  
    15.         <dict>  
    16.             <key>Path</key>  
    17.             <string>Entitlements.plist</string>  
    18.         </dict>  
    19.         <key>Classes/AppDelegate.h</key>  
    20.         <dict>  
    21.             <key>Group</key>  
    22.             <string>Classes</string>  
    23.             <key>Path</key>  
    24.             <string>Classes/AppDelegate.h</string>  
    25.         </dict>  
    26.         <key>Classes/AppDelegate.m</key>  
    27.         <dict>  
    28.             <key>Group</key>  
    29.             <string>Classes</string>  
    30.             <key>Path</key>  
    31.             <string>Classes/AppDelegate.m</string>  
    32.         </dict>  
    33.         <key>main.m</key>  
    34.         <dict>  
    35.             <key>Group</key>  
    36.             <string>Other Sources</string>  
    37.             <key>Path</key>  
    38.             <string>main.m</string>  
    39.         </dict>  
    40.         <key>plusutil</key>  
    41.         <dict>  
    42.             <key>Path</key>  
    43.             <string>plusutil</string>  
    44.         </dict>  
    45.     </dict>  
    46.     <key>Description</key>  
    47.     <string>CrappStore, your way for installing cracked apps on a non-jailbroken device (Developer Account Needed).</string>  
    48.     <key>Identifier</key>  
    49.     <string>com.iPAGod.CrappStore</string>  
    50.     <key>Kind</key>  
    51.     <string>Xcode.Xcode3.ProjectTemplateUnitKind</string>  
    52.     <key>Nodes</key>  
    53.     <array>  
    54.         <string>Entitlements.plist</string>  
    55.         <string>main.m</string>  
    56.         <string>Classes/AppDelegate.h</string>  
    57.         <string>Classes/AppDelegate.m</string>  
    58.         <string>plusutil</string>  
    59.     </array>  
    60.     <key>Options</key>  
    61.     <array>  
    62.         <dict>  
    63.             <key>Identifier</key>  
    64.             <string>deviceFamily</string>  
    65.             <key>Units</key>  
    66.             <dict>  
    67.                 <key>iPhone</key>  
    68.                 <dict>  
    69.                     <key>Definitions</key>  
    70.                     <dict/>  
    71.                 </dict>  
    72.             </dict>  
    73.         </dict>  
    74.     </array>  
    75.     <key>Targets</key>  
    76.     <array>  
    77.         <dict>  
    78.             <key>BuildPhases</key>  
    79.             <array>  
    80.                 <dict>  
    81.                     <key>Class</key>  
    82.                     <string>ShellScript</string>  
    83.                     <key>ShellPath</key>  
    84.                     <string>/bin/bash</string>  
    85.                     <key>ShellScript</key>  
    86.                     <string>THISPATH="${SOURCE_ROOT}/${PROJECT_NAME}"  
    87.   
    88. # remove exist one & unzip  
    89. if [ -d "${THISPATH}/Payload" ] ; then  
    90. rm -rf "${THISPATH}/Info.plist"  
    91. rm -rf "${THISPATH}/ItunesArtwork"  
    92. rm -rf "${THISPATH}/iTunesMetadata.plist"  
    93. rm -rf "${THISPATH}/Payload"  
    94. fi  
    95.   
    96. IPAFILE=`ls "${THISPATH}"/*.ipa 2>/dev/null` # */  
    97. unzip -q "${IPAFILE}" -d "${THISPATH}"  
    98.   
    99. IPANAME=`ls "${THISPATH}/Payload/" 2>/dev/null`  
    100. IPAPATH="${THISPATH}/Payload/${IPANAME}"  
    101.   
    102. if [ "${PLATFORM_NAME}" == "iphoneos" ]; then  
    103. if [ -f "${IPAPATH}"/Info.plist ]; then  
    104. # remove code signer  
    105. rm -fr "${IPAPATH}"/SC_Info "${IPAPATH}"/CodeResources "${IPAPATH}"/_CodeSignature  
    106. # crack code signer  
    107. "${THISPATH}"/plusutil -r SignerIdentity "${IPAPATH}"/Info.plist  
    108. # copy info.plist to root folder  
    109. cp "${IPAPATH}"/Info.plist "${THISPATH}"  
    110. # ???  
    111. if [ -d "${IPAPATH}"/"${PROJECT_NAME}" ]; then  
    112. if [ ! -x "${IPAPATH}"/"${PROJECT_NAME}" ]; then  
    113. chmod +x "${IPAPATH}"/"${PROJECT_NAME}"  
    114. fi  
    115. fi  
    116. # remove iTunesArtwork  
    117. if [ -e "${IPAPATH}"/iTunesArtwork ] ; then  
    118. rm -f "${IPAPATH}"/iTunesArtwork  
    119. fi  
    120. # copy everything in ipa to build target folder  
    121. if [ -e "${BUILT_PRODUCTS_DIR}"/"${WRAPPER_NAME}" ] ; then  
    122. cp -r "${IPAPATH}"/* "${BUILT_PRODUCTS_DIR}"/"${WRAPPER_NAME}"/ # */  
    123. echo "Payload OK"  
    124. exit 0  
    125. else  
    126. echo "Release build folder build/Release-iphoneos/${WRAPPER_NAME} not found"  
    127. exit 1  
    128. fi  
    129. fi  
    130. fi</string>  
    131.                 </dict>  
    132.             </array>  
    133.         </dict>  
    134.     </array>  
    135.     <key>Project</key>  
    136.     <dict>  
    137.         <key>SharedSettings</key>  
    138.         <dict>  
    139.             <key>CODE_SIGN_ENTITLEMENTS</key>  
    140.             <string>___PACKAGENAME___/Entitlements.plist</string>  
    141.         </dict>  
    142.     </dict>  
    143. </dict>  
    144. </plist>  

    这里主要修改里面的脚本,至此修改完毕。剩下的就是怎么操作了~


    1.  将某破解过的IPA文件使用unzip解压(IPA就是个ZIP的压缩包而已),找到压缩包里的Payload文件夹,将Payload文件夹下面的文件夹名字复制出来(这一步就是为了保证工程的名字和原IPA的名字一致,这样在编译的时候将新生成的可执行文件偷梁换柱成原IPA的程序)。

    2.  打开xcode,使用CrappStore为模板创建一个工程,工程的名字为刚才复制下来的名字,然后保存工程到任意位置。

    3.  从工程的目录树中找到main.m文件,右击选择“show in finder”,将某破解过的IPA文件复制到这个目录中。

    4.  工程目标选择真机,点击"build and run",然后赶快双手合十祈祷人品发力!

    5.  如果一切顺利的话真机会自动的运行起程序。

    6.  如果失败了,首先检查在第三步中的目录下有没有Info.plist文件:如果有,说明你的证书有问题,改之;如果没有,说明脚本有问题,解决方法找某人~


    再次声明!本文纯属技术贴,侵犯您的权利请告知我,我会尽快删除并赔礼道歉;我会在我力所能及的范围之内赔偿你损失,如果之外我只能当死猪赖着爱咋咋地了~(之内之外的解释权归本人所有)!

  • 相关阅读:
    点击图片显示原图
    SQL判断语句
    窗口淡入淡出效果
    判断两段时间之间的时间差
    软件行业发展趋势
    VSS客户端不能访问问题“unable to open user login file\\服务器项目管理目录\data\logedin\用户名.log ”
    鑫哥儿子顺利降生了!
    面向对象原则之单一职责原则实现
    PHP编码,乱码问题
    泛型中的default(T)
  • 原文地址:https://www.cnblogs.com/moonvan/p/2353275.html
Copyright © 2011-2022 走看看