美文网首页
应用重签名

应用重签名

作者: Code_人生 | 来源:发表于2019-10-12 15:30 被阅读0次

一、codesign

Xcode提供了签名工具,codesign,我们通过几个命令就可以完成重签名

终端命令

$security find-identity -v -p codesigning 列出钥匙串里可签名的证书
$codesign –fs "证书串(iPhone Developer: weibing yao (2J6EA7WS74))" 文件名 强制替换签名
$chmod +x 文件名 给文件添加执行权限
$security cms -D -i ../embedded.mobileprovision 查看描述文件
$codesign -fs “证书串” --no-strict --entitlements=权限文件.plist APP包
$Zip –ry 输出文件 输入文件 将输入文件压缩为输出文件
$codesign -vv -d WeChat.app 查看WeChat.app的信息
$otool -l WeChat 读取可执行文件WeChat,MachO
$otool -l WeChat > ~/Desktop/123.txt 读取可执行文件WeChat,重定向,到桌面的123.txt
$otool -l WeChat | grep cry 读取可执行文件WeChat,管道输出,筛选cryptid

运行的时候解密,所以一定要是高效的,解密到内存。如果安装的时候解密的话,直接从安装之后的磁盘复制出来不就好了。所以一定是运行是解密。每次运行都解密。

二、重签名步骤

1、删除插件和带有插件的.app包(比如Watch)
2、对Frameworks里面的库进行重签名
3、给可执行文件 +x(可执行)权限
4、添加描述文件(新建工程,真机编译得到)
5、替换BundleID
6、通过授权文件(Entilements)重签.app包

三、SHELL脚本

3.1、shell基础知识

bash是一种shell,zsh也是一种shell
1、根目录下,执行cd /bin
2、open .

3、chsh -s /bin/bash 切换成bash

4、chsh -s /bin/zsh 切换成zsh

  • .bash_profile bash的初始化文件 在(~)目录下
  • .zshrc zsh的初始化文件 在(~)目录下
  • ls 查看文件
  • ls -a 查看所有文件(包含隐藏文件)
  • ls -l 查看所有文件(不包含隐藏文件)(文件详情)
  • pwd 输出当前文件夹或文件的路径
  • ~/的区别,看下面代码
dengyazhou-MacBook-Pro:~ dengyazhouPro$ pwd
/Users/dengyazhouPro
dengyazhou-MacBook-Pro:~ dengyazhouPro$ cd /
dengyazhou-MacBook-Pro:/ dengyazhouPro$ pwd
/
dengyazhou-MacBook-Pro:/ dengyazhouPro$ 
  • mkdir 文件夹名 建文件夹
  • touch 123.txt 建文件
  • cd .. 返回文件上一级
  • cat 文件名 查看文件
  • rm -rf 文件夹名rm -r 文件夹名 删除文件夹,包含里面的内容
  • rm 文件名 删除文件
  • unzip 文件名 解压文件
  • 终端操作文本
    • 1、vim 123.txt 或者 vi 123.txt
    • 2、i
    • 3、esc
    • 4、:
    • 5、wq和x的操作一样
  • 创建一个shell脚本

bash 123.sh 执行shell
zsh 123.sh 执行shell
source 123.sh 执行shell
./123.sh 执行shell

  • cat /private/etc/shells 查看shell,在(/)目录下
  • otool -f MachO文件:查看MachO胖二进制文件头信息
3.2、shell

shell是一种特殊的交互式工具,它为用户提供了启动程序、管理文件系统中文件以及运行在系统上的进程的途径。Shell一般是指命令行工具。它允许你输入文本命令,然后解释命令,并在内核中执行。
Shell脚本,也就是用各类命令预先放入到一个文本文件中,方便一次性执行的一个脚本文件。

$source FileName
意思:在当前shell环境中读取并执行FileName中的命令
特点:
命令可以强行让一个脚本去立即影响当前的环境(一般用于加载配置文件)。
命令会强制执行脚本中的全部命令,而忽略文件的权限。

$bash FileName、$zsh FileName
意思:重新建立一个子shell,在子shell中执行脚本里面的句子。

$./FileName
意思:读取并执行文件中的命令。但有一个前提,脚本文件需要有可执行权限。

四、用户、组、权限

Unix和Linux都是多用户、多任务的系统,所以这样的系统里面就拥有了用户、组的概念。那么同样文件的权限也就有相应的所属用户和所属组了。

  • 目录结构
  • Mac文件属性
  • 文件类型与权限(permission)
  • 改变权限:chmod
    • chmod +x 文件名 默认给a加 ,等同于chmod a+x 文件名
    • chmod 561 文件名,分别给u设置为r-w、g设置为rw-、o设置为--x。注意数字类型改变的时候,里面没有u、g、o、a、+、-、=、r、w、x这些。

相关文章

  • iOS开发逆向之应用重签名(上)

    本文主要介绍重签名的几种方式,以及如何对应用进行重签名, 应用重签名 从之前《iOS逆向应用签名》中可知,签名是指...

  • 通过Shell脚本对应用重签名

    通过上两篇文章(iOS 应用重签名|使用Xcode简化应用重签名)对操作应用的重签名有了一定的认识,但是好像每次都...

  • 应用重签名

    手动砸壳主要是了解下过程跟原理,以微信为例子 1. 获取砸壳后的ipa 参考iOS砸壳 2. 获取签名证书和ent...

  • 应用重签名

    一、codesign Xcode提供了签名工具,codesign,我们通过几个命令就可以完成重签名 终端命令 $s...

  • 应用重签名

    一. 重签名概述 请思考:签名是可以被替换的吗?签名是对原始数据的Hash值进行加密,重签名就是将原始数据的Has...

  • iOS 应用签名原理

    本文将讲解苹果的应用签名原理,旨在理解了应用签名后可以对非自己的应用进行重签名。 下面将从三个方面去讲解应用的签名...

  • 应用重签名 & 以及脚本 (10)

    应用重签名 (10) codesign (签名工具) Xocde提供了签名工具,codesign,我们通过几个命令...

  • iOS应用重签名

    一、越狱版应用重签名(正版的需要砸壳,这个以后介绍) 应用重签名需要以下几个步骤: 删除插件和带有插件的.app包...

  • iOS应用重签名

    网上关于签名的脚本有很多,我找了个本人觉得比较好用的脚步iOS_resign_scripts,下载脚步里面有三个脚...

  • iOS应用重签名

    代码重签名 签名机制 iOS签名需要用到codesign这个命令,了解这个命令的用法可以增加我们对签名机制的了解 ...

网友评论

      本文标题:应用重签名

      本文链接:https://www.haomeiwen.com/subject/gnwfmctx.html