美文网首页
iOS混淆探索-属性、方法名替换成多个单词拼接

iOS混淆探索-属性、方法名替换成多个单词拼接

作者: BoASir | 来源:发表于2020-03-25 15:59 被阅读0次

本文是个人学习了https://juejin.im/post/5b06578f51882538c150744b#heading-3
该文后,对其进行的一些完善。

ramdomString函数:

#原方法:
ramdomString()
{
    #生成随机的16位字符串
    openssl rand -base64 64 | tr -cd 'a-zA-Z' |head -c 16
}

#新方法:
ramdomString()
{
    #生成随机单词组成的字符串
    filepath=/usr/share/dict/words
    totalWordsNum=`wc -l $filepath | awk '{print $1}'`
    confuseString="lf_"
    #索引初始值
    idx=1
    #NUM为要生成的随机单词的个数
    NUM=3
    declare -i num
    declare -i randNum
    ratio=37

    while [ "$idx" -le "$NUM" ]
    do
        a=$RANDOM
        num=$(( $a*$ratio ))
        randNum=`expr $num%$totalWordsNum`

    #单次生成的单词
    contentString=`sed -n "$randNum"p $filepath`

    if [ $idx -gt 1 ]
    then
    #首字母大写
    firstLetter=$(echo ${contentString: 0: 1} | tr 'a-z' 'A-Z')
    contentString=${firstLetter}${contentString: 1}
    else
    #首字母小写
    firstLetter=$(echo ${contentString: 0: 1} | tr 'A-Z' 'a-z' )
    contentString=${firstLetter}${contentString: 1}
    fi

    confuseString=${confuseString}${contentString}
    #索引值加1
    idx=`expr $idx + 1`
    done

    echo $confuseString
}

取值方式也相应改变

原取值方式:
ramdom=`ramdomString`
新取值方式:
ramdom=$(ramdomString)

上一张class-dump反编译之后的效果图


class-dump反编译效果图

补充:

若遇到xxx.sh permission denied
可以执行

chmod a+x xxx.sh

相关文章

  • iOS混淆探索-属性、方法名替换成多个单词拼接

    本文是个人学习了https://juejin.im/post/5b06578f51882538c150744b#h...

  • iOS代码混淆

    混淆原理 代码编译阶段将符号(方法名、属性名等)替换成随机生成的字符串 混淆集成步骤 步骤一、创建shell文件(...

  • iOS代码混淆

    混淆原理 代码编译阶段将符号(方法名、属性名等)替换成随机生成的字符串 长话短说,直接上步骤。 混淆步...

  • iOS代码混淆教程

    混淆原理 代码编译阶段将符号(方法名、属性名等)替换成随机生成的字符串 长话短说,直接上步骤。 混淆集成步骤 步骤...

  • iOS代码混淆教程

    混淆原理 代码编译阶段将符号(方法名、属性名等)替换成随机生成的字符串 长话短说,直接上步骤。 混淆集成步骤 步骤...

  • OS添加垃圾代码工具,代码混淆工具,代码生成器,史上最好用的垃圾

    http://blog.cocoachina.com/article/69994 iOS 方法名混淆 代码混淆 h...

  • [iOS]混淆-方法混淆

    Objective-C/Swift的方法名、属性名混淆 特点 混淆的时机是在编译前 混淆后,不影响源代码 混淆生成...

  • iOS 方法名混淆 代码混淆

    一.目的: 1.通过审核原因是规避代码相似度极高而过不了机审.增加代码.代码混淆 2.安全需要对安全性能要求较高的...

  • Android代码混淆

    常用混淆规则 什么是混淆 把代码中原来有具体含义的包名、类名、变量名、方法名等名称全部替换成无意义的字母a/b/c...

  • iOS方法名混淆实践

    项目缘由:由于iOS手机越狱后可以对app进行砸壳,进而进行class-dump操作,从而获取到app中所有类及方...

网友评论

      本文标题:iOS混淆探索-属性、方法名替换成多个单词拼接

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