python混淆ios代码_iOS 代码混淆的简单使用
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 代码混淆的简单使用相关推荐
- python混淆ios代码_XSDK——iOS代码混淆原理
我们在XSDK的iOS版本中, 除了AppStore官方支付之外还集成了第三方支付(微信支付H5和支付宝支付H5版本). 如果用于企业签,不需要做处理,直接使用即可. 但是如果需要上架AppStore ...
- python混淆ios代码_iOS-代码混淆
前言 --代码混淆初探 如何做到把我们的App通过Class-dump导出来我们的头文件,还有利用Hopper分析我们的代码逻辑结果,可知道别人很容易就可以获取到我们代码的信息信息!!那么我们如何防止 ...
- python控制流_Python 的控制流代码混淆
聊下 Python 的代码混淆,对 Python 的代码做混淆感觉是不伦不类,但是对于外包项目交付型的,又有一些需要. 混淆的目的就是加大别人分析你代码逻辑和流程的难度,让代码看上去杂乱,逻辑混乱.但 ...
- oc代码混淆_iOS 代码混淆
一般做了防调试的话,被调试进程会退出的,是防动态分析措施. 代码混淆加花这些是防静态分析措施. 反调试是防动态分析措施. 混淆的方法 方法名混淆其实就是字符串替换,有2个方法可以,一个是#define ...
- delphi 实现屏幕旋转代码_X86指令混淆之函数分析和代码块粉碎
本文为看雪论坛优秀文章看雪论坛作者ID:三猫原理二进制分析的时候经常遇到经过混淆的函数,所以一直想自己学习实现一个简单的指令乱序demo,也不需要太复杂(其实就是自己菜而已).能阻止IDA F5党(就 ...
- android 常用混淆,Android常用的代码混淆整理【原创】
android里的代码混淆是比不可少的东西,下面就贴一些常用的代码混淆. #指定代码的压缩级别 -optimizationpasses 5 #包明不混合大小写 -dontusemixedcasecla ...
- 安卓逆向代码反混淆 Simplify工具 JEB2反混淆神器
[技术分享]Android程序反混淆利器--Simplify工具 https://www.anquanke.com/post/id/85388 发布时间:2017-01-23 17:21:23 问题背 ...
- java源代码加密+使用proguard混淆java web项目代码+自定义Classloader
如何保护我们的源代码,实际上,应该有几种方法可以使用:1.使用代码混淆器 2.重载应用服务器的classloader 使用代码混淆器proguard进行代码混淆 1.首先下载proGuard.zip到 ...
- vue webpack压缩代码_webpack不混淆、不压缩指定js文件
在项目中使用了mozilla/pdf.js,在使用中需要设置GlobalWorkerOptions.workerSrc,代码如下 import PDFJS from 'pdfjs-dist' impo ...
最新文章
- powerquery分组_Power Query实现数据分组压缩的思路分享
- 微信小程序之redirectTo、switchTab和navigateTo
- Insertion Sort
- shell grep sed awk 练习
- sshpass做秘钥分发,ansible做自动化运维工具
- automatic asynchronous creation if no note exists
- ScreenPad 是什么
- c语言学生成绩管理系统课设作业,C语言课程设计——学生成绩管理系统
- DXUT框架剖析(5)
- java线程协作_java线程系列之三(线程协作)
- android获取根视图
- 用JAVA语言完成实验——猴子摘香蕉
- codesys电子凸轮挺杆点的设置与使用
- 第三方阿里云盘小白羊版v2发布!提前尝鲜!!!!
- 【Go语言实战】—— 时间戳转标准输出格式,标准输出转时间戳,gorm查询标准化时间
- HTC官解后刷机步骤
- 安卓android_rom定制,移植,安卓Android_ROM定制、移植:第一~~八篇(全)
- Ubuntu虚拟机没有网络图标或者无法获取IP地址
- 北京主要书店今日门庭若市 莫言作品一书难求-莫言-诺贝尔文学奖-书店
- 剑指offer——丑数
热门文章
- 一个U盘装N款系统不是梦!超级好用的装机神器来了!
- 计算机木材染色 配色技术的应用技术,人工林木材颜色怎么调配?木材电脑配色技术...
- PlusFo解析“梭哈”逻辑
- 2022苹果AppStore应用商店上传与APP上传流程必看(基础篇)​
- SPM12入门案例3
- 计算机存放程序和数据的设备是什么,计算机中用来存放程序和数据的部件是什么...
- win10环境Redis安装及配置,以及Redis服务无法启动的解决方法
- iPhone 隐私新规下的“大地震”:四大平台损失近百亿美元,“连用户是男是女都分不清!”...
- 手撕boost/buck
- MATLAB 数据及基本运算 --持续更新