1.工具下载  http://stevenygard.com/projects/class-dump/  选择dmg安装包

2.打开终端输入:open/usr/local/bin

3.

4.修改权限在终端键入: sudo chmod 777 /usr/local/bin/class-dump

5.使用Python3自动发包工具解压包后缀为zip

Python脚本如下(上传蒲公英脚本可以忽略)

#!/usr/bin/env python

#coding=utf-8

import os

import requests

import webbrowser

import subprocess

import shutil

'''

使用注意事项:该脚本基于python3.6

1、将工程的编译设备选成 Gemeric iOS Device

2、command + B编译

3、执行脚本文件

//3.7/Users/zrq/Library/Developer/Xcode/DerivedData/GSTProject-fqtpprwvigsfvugxwfsdvxdvywcu/Build/Products/Debug-iphoneos/GSTProject.app

//3.6 /Users/zrq/Library/Developer/Xcode/DerivedData/GSTProject-cuyhzrkrfbncceatynnajegnbsyu/Build/Products/Debug-iphoneos/GSTProject.app

//线上 /Users/zrq/Library/Developer/Xcode/DerivedData/GSTProject-azzauvtqxgmxnrggnafpvhisblsq/Build/Products/Debug-iphoneos/GSTProject.app

//3.9 /Users/zrq/Library/Developer/Xcode/DerivedData/GSTProject-aghhbgcjerclpeaxxbjwxsyjielw/Build/Products/Debug-iphoneos/GSTProject.app

'''

appFileFullPath = '/Users/zrq/Library/Developer/Xcode/DerivedData/GSTProject-azzauvtqxgmxnrggnafpvhisblsq/Build/Products/Debug-iphoneos/GSTProject.app'

PayLoadPath = '/Users/zrq/Desktop/Payload'

packBagPath = '/Users/zrq/Desktop/ProgramBag'

openUrlPath = 'https://www.pgyer.com/d33d'

#上传蒲公英

USER_KEY = "cc33dd4d7e9ef30b1be9d8022648e0e2"

API_KEY = "e989280adbf6890b4072970f07d9aaf8"

#上传蒲公英

def uploadIPA(IPAPath):

if(IPAPath==''):

print("\n*************** 没有找到对应上传的IPA包 *********************\n")

return

else:

print("\n***************开始上传到蒲公英*********************\n")

url='http://www.pgyer.com/apiv1/app/upload'

data={

'uKey':USER_KEY,

'_api_key':API_KEY,

'installType':'2',

'password':'',

'updateDescription':""

}

files={'file':open(IPAPath,'rb')}

r=requests.post(url,data=data,files=files)

def openDownloadUrl():

webbrowser.open(openUrlPath,new=1,autoraise=True)

print ("\n*************** 更新成功 *********************\n")

#编译打包流程

def bulidIPA():

#删除之前打包的ProgramBag文件夹

subprocess.call(["rm","-rf",packBagPath])

#创建PayLoad文件夹

mkdir(PayLoadPath)

#将app拷贝到PayLoadPath路径下

subprocess.call(["cp","-r",appFileFullPath,PayLoadPath])

#在桌面上创建packBagPath的文件夹

subprocess.call(["mkdir","-p",packBagPath])

#将PayLoadPath文件夹拷贝到packBagPath文件夹下

subprocess.call(["cp","-r",PayLoadPath,packBagPath])

#删除桌面的PayLoadPath文件夹

subprocess.call(["rm","-rf",PayLoadPath])

#切换到当前目录

os.chdir(packBagPath)

#压缩packBagPath文件夹下的PayLoadPath文件夹夹

subprocess.call(["zip","-r","./Payload.zip","."])

print ("\n*************** 打包成功 *********************\n")

#将zip文件改名为ipa

subprocess.call(["mv","payload.zip","Payload.ipa"])

#删除payLoad文件夹

subprocess.call(["rm","-rf","./Payload"])

#创建PayLoad文件夹

def mkdir(PayLoadPath):

isExists = os.path.exists(PayLoadPath)

if not isExists:

os.makedirs(PayLoadPath)

print(PayLoadPath + '创建成功')

return True

else:

print (PayLoadPath + '目录已经存在')

return False

if __name__ == '__main__':

des = input("请输入更新的日志描述:")

bulidIPA()

uploadIPA('%s/Payload.ipa'%packBagPath)

openDownloadUrl()

6.解压出Payload文件夹,.app就是我们的目标文件

7.在终端使用命令class-dump -H[.app文件路径] -o[输出文件夹路径],就会生成我们需要解析成.h文件有相对应的方法及属性

8.混淆代码的方法通过shell脚本来实现,同时需要一个文档写入我们需要混淆的方法名与变量名

9.打开终端,cd到文件所在目录,使用touch命令 创建confuse.sh(混淆脚本) func.list(混淆方法,函数列表)

10.添加run script命令Targrt--build phases---new run script phase(把shell脚本运行)

11.生成混淆文件 就是说明混淆成功了

有些地方不能混淆:storyboard,init,系统方法等

python混淆ios代码_iOS 代码混淆的简单使用相关推荐

  1. python混淆ios代码_XSDK——iOS代码混淆原理

    我们在XSDK的iOS版本中, 除了AppStore官方支付之外还集成了第三方支付(微信支付H5和支付宝支付H5版本). 如果用于企业签,不需要做处理,直接使用即可. 但是如果需要上架AppStore ...

  2. python混淆ios代码_iOS-代码混淆

    前言 --代码混淆初探 如何做到把我们的App通过Class-dump导出来我们的头文件,还有利用Hopper分析我们的代码逻辑结果,可知道别人很容易就可以获取到我们代码的信息信息!!那么我们如何防止 ...

  3. python控制流_Python 的控制流代码混淆

    聊下 Python 的代码混淆,对 Python 的代码做混淆感觉是不伦不类,但是对于外包项目交付型的,又有一些需要. 混淆的目的就是加大别人分析你代码逻辑和流程的难度,让代码看上去杂乱,逻辑混乱.但 ...

  4. oc代码混淆_iOS 代码混淆

    一般做了防调试的话,被调试进程会退出的,是防动态分析措施. 代码混淆加花这些是防静态分析措施. 反调试是防动态分析措施. 混淆的方法 方法名混淆其实就是字符串替换,有2个方法可以,一个是#define ...

  5. delphi 实现屏幕旋转代码_X86指令混淆之函数分析和代码块粉碎

    本文为看雪论坛优秀文章看雪论坛作者ID:三猫原理二进制分析的时候经常遇到经过混淆的函数,所以一直想自己学习实现一个简单的指令乱序demo,也不需要太复杂(其实就是自己菜而已).能阻止IDA F5党(就 ...

  6. android 常用混淆,Android常用的代码混淆整理【原创】

    android里的代码混淆是比不可少的东西,下面就贴一些常用的代码混淆. #指定代码的压缩级别 -optimizationpasses 5 #包明不混合大小写 -dontusemixedcasecla ...

  7. 安卓逆向代码反混淆 Simplify工具 JEB2反混淆神器

    [技术分享]Android程序反混淆利器--Simplify工具 https://www.anquanke.com/post/id/85388 发布时间:2017-01-23 17:21:23 问题背 ...

  8. java源代码加密+使用proguard混淆java web项目代码+自定义Classloader

    如何保护我们的源代码,实际上,应该有几种方法可以使用:1.使用代码混淆器 2.重载应用服务器的classloader 使用代码混淆器proguard进行代码混淆 1.首先下载proGuard.zip到 ...

  9. vue webpack压缩代码_webpack不混淆、不压缩指定js文件

    在项目中使用了mozilla/pdf.js,在使用中需要设置GlobalWorkerOptions.workerSrc,代码如下 import PDFJS from 'pdfjs-dist' impo ...

最新文章

  1. powerquery分组_Power Query实现数据分组压缩的思路分享
  2. 微信小程序之redirectTo、switchTab和navigateTo
  3. Insertion Sort
  4. shell grep sed awk 练习
  5. sshpass做秘钥分发,ansible做自动化运维工具
  6. automatic asynchronous creation if no note exists
  7. ScreenPad 是什么
  8. c语言学生成绩管理系统课设作业,C语言课程设计——学生成绩管理系统
  9. DXUT框架剖析(5)
  10. java线程协作_java线程系列之三(线程协作)
  11. android获取根视图
  12. 用JAVA语言完成实验——猴子摘香蕉
  13. codesys电子凸轮挺杆点的设置与使用
  14. 第三方阿里云盘小白羊版v2发布!提前尝鲜!!!!
  15. 【Go语言实战】—— 时间戳转标准输出格式,标准输出转时间戳,gorm查询标准化时间
  16. HTC官解后刷机步骤
  17. 安卓android_rom定制,移植,安卓Android_ROM定制、移植:第一~~八篇(全)
  18. Ubuntu虚拟机没有网络图标或者无法获取IP地址
  19. 北京主要书店今日门庭若市 莫言作品一书难求-莫言-诺贝尔文学奖-书店
  20. 剑指offer——丑数

热门文章

  1. 一个U盘装N款系统不是梦!超级好用的装机神器来了!
  2. 计算机木材染色 配色技术的应用技术,人工林木材颜色怎么调配?木材电脑配色技术...
  3. PlusFo解析“梭哈”逻辑
  4. 2022苹果AppStore应用商店上传与APP上传流程必看(基础篇)​
  5. SPM12入门案例3
  6. 计算机存放程序和数据的设备是什么,计算机中用来存放程序和数据的部件是什么...
  7. win10环境Redis安装及配置,以及Redis服务无法启动的解决方法
  8. iPhone 隐私新规下的“大地震”:四大平台损失近百亿美元,“连用户是男是女都分不清!”...
  9. 手撕boost/buck
  10. MATLAB 数据及基本运算 --持续更新