iOS代码混淆总结
来源:互联网 发布:九堡做淘宝的在哪 编辑:程序博客网 时间:2024/05/29 09:34
做代码混淆需要六大步骤
1:首先你要创建一个工程吧
2:然后打开你的终端 输入cd 然后把你的工程拖进去 回车
3:然后 打入一下命令: touch confuse.sh 然后回车
4:之后再输入: touch func.list 回车 就行
5:这时候打开你的工程 你会发现一个confuse.sh 和一个func.list文件 这时候点击addfile进去 急着 要在根目录下addfile
6:之后点击confuse.sh文件 把下面这段脚本写入
- #!/usr/bin/env bash
- TABLENAME=symbols
- SYMBOL_DB_FILE="symbols"
- STRING_SYMBOL_FILE="func.list"
- HEAD_FILE="$PROJECT_DIR/$PROJECT_NAME/codeObfuscation.h"
- export LC_CTYPE=C
- #维护数据库方便日后作排重
- createTable()
- {
- echo "create table $TABLENAME(src text, des text);" | sqlite3 $SYMBOL_DB_FILE
- }
- insertValue()
- {
- echo "insert into $TABLENAME values('$1' ,'$2');" | sqlite3 $SYMBOL_DB_FILE
- }
- query()
- {
- echo "select * from $TABLENAME where src='$1';" | sqlite3 $SYMBOL_DB_FILE
- }
- ramdomString()
- {
- openssl rand -base64 64 | tr -cd 'a-zA-Z' |head -c 16
- }
- rm -f $SYMBOL_DB_FILE
- rm -f $HEAD_FILE
- createTable
- touch $HEAD_FILE
- echo '#ifndef Demo_codeObfuscation_h
- #define Demo_codeObfuscation_h' >> $HEAD_FILE
- echo "//confuse string at `date`" >> $HEAD_FILE
- cat "$STRING_SYMBOL_FILE" | while read -ra line; do
- if [[ ! -z "$line" ]]; then
- ramdom=`ramdomString`
- echo $line $ramdom
- insertValue $line $ramdom
- echo "#define $line $ramdom" >> $HEAD_FILE
- fi
- done
- echo "#endif" >> $HEAD_FILE
- sqlite3 $SYMBOL_DB_FILE .dump
之后导入pch文件 别告诉我你不知道怎么创建pch文件。。。
然后在pch文件中把这段复制过去
#ifdef __OBJC__ #import <UIKit/UIKit.h> #import <Foundation/Foundation.h> //添加混淆作用的头文件(这个文件名是脚本confuse.sh中定义的) #import "codeObfuscation.h" #endif
然后编译 你会发现 报错了 这很正常 别慌
然后进入工程的 target Build Phase
点击加号 添加 Run Script
然后输入以下代码
$PROJECT_DIR/confuse.sh
然后在打开你的终端工具 还是cd 然后把工程文件拖进来 回车
紧接着输入一下命令:chmod 755 confuse.sh 最后回车就行了
这时候你在编译 就成功了
恩 接下来在你的viewController中的.h随便下个方法
-(void)name;
然后在func.list 写入 name 即可 然后编译
会看到name已经变成了 YYNB什么的一堆乱码 这样就好了 对了还有一点 最后别忘了 在bulid setting中 搜索prefix Heade 然后把路径添加了
有的时候可能记不住完整的路径“$(SRCROOT)/XXX/XXX.pch",很简单的方法,就是拖拽,双击打开prefix Heade之后,弹出了一个选项框,选择对应的pch文件之后,直接拖进去,就行了! 大工搞成
- iOS代码混淆总结
- iOS代码混淆总结
- iOS之代码混淆
- IOS代码混淆
- iOS代码混淆
- ios 代码混淆
- android 代码混淆总结
- Android 混淆代码总结
- Android 混淆代码总结
- Android 混淆代码总结
- Android 混淆代码总结
- Android 、混淆代码总结
- Android 混淆代码总结
- Android 混淆代码总结
- Android 混淆代码总结
- Android 混淆代码总结
- Android 混淆代码总结
- Android 混淆代码总结
- 天梯赛训练集
- asp.net core mvc剖析:mvc动作选择
- 图形用户接口--GUI
- Android 静态/动态壁纸(Live wallpaper)开发-WallpaperService
- class占用内存问题
- iOS代码混淆总结
- java---maven项目的创建和导出
- C#中集合里面放集合的细节问题
- Linux环境下nodejs的安装图文教程
- Find the Difference
- 算法设计与分析HW3:LeetCode3
- startService启动过程分析
- hdu 5938 Four Operations(模拟)
- Python中的None与 NULL(即空字符)的区别