• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

STCObfuscator: iOS全局自动化 代码混淆 工具!支持cocoapod组件代码一并 混淆,完美 ...

原作者: [db:作者] 来自: 网络 收藏 邀请

开源软件名称:

STCObfuscator

开源软件地址:

https://gitee.com/chenxiancai/STCObfuscator

开源软件介绍:

STCObfuscator

STCObfuscator 是用来进行object-c代码混淆的工具,在模拟器DEBUG环境下运行生成混淆宏,混淆的宏可以在其他环境下进行编译,支持Cocoapod代码混淆.

怎么使用!

相关博客:https://blog.csdn.net/cating1314/article/details/80189295

如果你的工程支持cocoapod,你可以直接添加!pod "STCObfuscator"(注:请用最新版本,最好更新下master repo)把下面的代码加入到Appdelegate didFinishLaunchingWithOptions方法里,#import "STCObfuscator.h"#if (DEBUG == 1)    [[STCObfuscator obfuscatorManager] confuseWithRootPath:[NSString stringWithFormat:@"%s", STRING(ROOT_PATH)] resultFilePath:[NSString stringWithFormat:@"%@/STCDefination.h", [NSString stringWithFormat:@"%s", STRING(ROOT_PATH)]] linkmapPath:[NSString stringWithFormat:@"%s", STRING(LINKMAP_FILE)]];#endif然后完成下面步骤的设置

image

步骤1、

在 Build Settings->Preprocessor Macros->DEBUG 中添加环境变量LINKMAP_FILE=$(TARGET_TEMP_DIR)/$(PRODUCT_NAME)-LinkMap-$(CURRENT_VARIANT)-$(CURRENT_ARCH).txt ROOT_PATH="${SRCROOT}" (注:工程尽量不要放在中文路径下)

image

步骤2、

在 Build Settings 开启Write Link Map File, 设置成 YES

image

步骤3、

将下面的脚本添加到 Build Phases
dir=${SRCROOT}file_list=`ls -R $dir 2> /dev/null | grep -v '^$'`for file_name in $file_listdotemp=`echo $file_name | sed 's/:.*$//g'`if [ "$file_name" != "$temp" ]; thencur_dir=$tempelseif [ ${file_name##*.} = a ]; then    find -P $dir -name $file_name > tmp.txt    var=$(cat tmp.txt)    nm $var > ${file_name}.txt    rm tmp.txtfifidone

image

步骤4、

在预编译文件最前面中添加以下代码#if (DEBUG != 1)#import "STCDefination.h"#endif

image

步骤5、

在DEBUG环境下用模拟器运行工程,在STCDefination.h头文件中生成混淆的宏。所有的混淆符号会保留在工程目录下的confuse.json。 

image

可用于bug上报后反混淆的文件

image

步骤6、

把工程目录下STCDefination.h头文件加入工程。混淆后,如果工程增加代码,需要再次混淆,先清空STCDefination.h里面的内容,不能留任何空格和换行,然后pod update,再次在模拟器DEBUG环境下运行。

image

步骤7、

在 RELEASE 环境下运行工程,实现代码混淆。 
混淆前逆向。 

image

混淆后逆向。 

image

English steps ⬇︎

STCObfuscator is an Objective-C obfuscator for Mach-O executables, a runtime utility for obfuscating Objective-C class,it also support cocoapod file confusing!

How to use it!

You can use STCObfuscator with cocoapod!pod "STCObfuscator"
after you add under code to your project#import "STCObfuscator.h"#define STRING(str) _STRING(str)#define _STRING(str) #str#if (DEBUG == 1)    [[STCObfuscator obfuscatorManager] confuseWithRootPath:[NSString stringWithFormat:@"%s", STRING(ROOT_PATH)] resultFilePath:[NSString stringWithFormat:@"%@/STCDefination.h", [NSString stringWithFormat:@"%s", STRING(ROOT_PATH)]] linkmapPath:[NSString stringWithFormat:@"%s", STRING(LINKMAP_FILE)]];#endifyou should finish steps:

step 1、

add LINKMAP_FILE=$(TARGET_TEMP_DIR)/$(PRODUCT_NAME)-LinkMap-$(CURRENT_VARIANT)-$(CURRENT_ARCH).txt and ROOT_PATH="${SRCROOT}" to Build Settings Preprocessor Macros 

step 2、

enable Write Link Map File in Build Settings, set YES

step 3、

add shell script to Build Phases
dir=${SRCROOT}file_count=0file_list=`ls -R $dir 2> /dev/null | grep -v '^$'`for file_name in $file_listdotemp=`echo $file_name | sed 's/:.*$//g'`if [ "$file_name" != "$temp" ]; thencur_dir=$tempelseif [ ${file_name##*.} = a ]; then    find -P $dir -name $file_name > tmp.txt    var=$(cat tmp.txt)    nm $var > ${file_name}.txt    rm tmp.txtfifidone

step 4、

import STCDefination.h to PrefixHeader File like this:#if (DEBUG != 1)#import "STCDefination.h"#endif

step 5、

run project in DEBUG environment with iPhone simulator to generate confuse macros in STCDefination.h.all confused symbols will save to confuse.json in project catalog. 

step 6、

add STCDefination.h.

step 7、

run project in RELEASE environment that class confused. 

鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
JesseOAF: Android通用应用开发框架发布时间:2022-03-24
下一篇:
EasyIOS-Swift: EasyIOS的Swift版本发布时间:2022-03-24
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap