美文网首页
class-dump 安装 和使用

class-dump 安装 和使用

作者: 奋斗的小马达 | 来源:发表于2018-05-30 17:42 被阅读0次

安装

我的硬件环境

环境:macOS High Sierra 10.13.4   Xcode9.3.1

class-dump下载地址:https://link.jianshu.com/?t=http://stevenygard.com/projects/class-dump/

1,终端输入mkdir ~/bin,在当前用户根目录下创建一个bin目录。

2,把下载下来的 dmg 打开,复制文件里面的class-dump到创建的bin目录下。赋予其可执行权限:

终端运行 chmod +x ~/bin/class-dump

3.  打开~/.bash_profile文件:

终端运行:vi ~/.bash_profile 

在文件最上方加一行:

export PATH=$HOME/bin/:$PATH,

然后保存并退出(在英文输入法中依次按下esc和: (冒号),然后输入wq,回车即可);

如图

4,测试是否安装成功

终端运行 pwd class-dump

终端运行  class-dump

如果出现如下界面  即安装成功 

使用

1,在项目中创建一个Config文件夹

2,在Config文件夹中 创建一个 func.list 和 confuse.sh 两个文件  (如果不想自己创建 百度上一堆   拉进去即可)

如果自己创建  吧下面一坨代码拷贝进去即可

confuse.sh文件

#!/usr/bin/env bash

TABLENAME=symbols

SYMBOL_DB_FILE="$PROJECT_DIR/$PROJECT_NAME/Config/symbols"

STRING_SYMBOL_FILE="$PROJECT_DIR/$PROJECT_NAME/Config/func.list"

HEAD_FILE="$PROJECT_DIR/$PROJECT_NAME/Config/TestCodeConfuscation.h"

exportLC_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 -base6464| tr -cd'a-zA-Z'|head -c16

}

rm -f $SYMBOL_DB_FILE

rm -f $HEAD_FILE

createTable

touch $HEAD_FILE

echo '#ifndef TestCodeConfuseUse_TestCodeConfuscation_h

#define TestCodeConfuseUse_TestCodeConfuscation_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

func.list文件  随便如下

fc_Function1

fc_Function2

3,引入脚本路径 如图

command + B 编译一下 (我的并没有报错  网上有人报错) 为保证效率先清理一下 再编译

然后用终端找到 Config文件夹  然后输入 chmod 755 confuse.sh  如图

command + B 编译一下  为保证效率先清理一下 再编译

此时在Config文件夹自动会生成symbols  和 TestCodeConfuscation.h 两个文件  然后把这个两个文件添加到项目有中如图

添加过后如图所示

然后在pch文件中引入 TestCodeConfuscation.h 然后运行  就已完成代码混淆

检查一下是否成功

能力有限,有些地方可能不对 。望不吝赐教!

参考链接 

安装:https://my.oschina.net/huqiji/blog/1626921

http://bbs.iosre.com/t/10-11-usr-bin-class-dump/1936

相关文章

网友评论

      本文标题:class-dump 安装 和使用

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