IOS马甲包二进制雷同的处理

作者: fanzhiyu7410 | 来源:发表于2017-07-10 11:30 被阅读5867次

    马甲包被认为雷同打回处理办法:

    1.应用内容作出区别:

    因为把整个应用替换资源代价太大,那尽量在启动,登陆,主界面作出很大差异,能让审核人员不会直观上认为是雷同。

    2.代码混淆:

    不同的马甲包在基类中定义不同的成员方法和成员变量。具体做法,每一个马甲包定义一个宏,比如:马甲包1(target->build setting->preprocessor macros ->定一个 LOGO_ID = 1),这样编译时不同的包将编译成不同的基类,子类也就会不同,整个包也就不会被认为二进制雷同。混淆代码的生成,可以写个脚本批量生成。

    ///

    应用代码。。。

    ///

    #if defined (LOGO_ID == 1)

    void zsclhntugg61_1_Base303(int s21_303){ s21_303 = 59; }

    void lrecgkqdaou0_2_Base303(float rag31_303, short pwme62_303, short vkwa73_303, short x84_303){ rag31_303 = 45; pwme62_303 = 96; vkwa73_303 = 245; x84_303 = 116; }

    void qyihgkbmpgvc49_3_Base303(int l51_303, long i92_303){ l51_303 = 96; i92_303 = 94; }

    void rpyitvg6_4_Base303(byte phe01_303){ phe01_303 = 72; }

    void qdpgeswrio34_5_Base303(int csuid01_303, long ryhal52_303, double fdmpy33_303){ csuid01_303 = 145; ryhal52_303 = 214; fdmpy33_303 = 12; }

    void wrpfsgk0_6_Base303(short rqlgf21_303, short g42_303){ rqlgf21_303 = 220; g42_303 = 234; }

    int m_rswxal62_303_1; short m_ghd9_303_2; long m_ulzo07_303_3; short m_isvdc0_303_4;

    #elif (LOGO_ID == 2)

    void eybomxaz37_1_Base304(int b81_304){ b81_304 = 154; }

    void gskcutrlbem3_2_Base304(short vgi51_304, short nvgyu12_304, float dczun73_304, byte difml14_304, byte inhu65_304){ vgi51_304 = 251; nvgyu12_304 = 31; dczun73_304 = 111; difml14_304 = 88; inhu65_304 = 175; }

    void cvkfts51_3_Base304(long zhb31_304, double gvrs12_304, long fwk13_304){ zhb31_304 = 177; gvrs12_304 = 32; fwk13_304 = 227; }

    void acwtg3_4_Base304(byte agq71_304, short bc02_304, float xt53_304){ agq71_304 = 98; bc02_304 = 23; xt53_304 = 210; }

    int m_lxes36_304_1; short m_bqfip5_304_2; int m_chgfti98_304_3; byte m_rke0_304_4; int m_gqfa86_304_5; byte m_ewkga6_304_6;

    #endif

    ///

    应用代码。。。

    ///

    //

    //批量生成的lua脚本(事例)

    local l_type_tb = {"int", "float", "char", "double"}

    local function func_ex( num )

    l_str = ""

    for i=1, num do

    l_str = l_str .. " " .. l_type_tb[math.random(1,#l_type_tb)] .. " a".. i .. "=" .. math.random(100) .. ";\n"

    end

    return l_str

    end

    local function get_func_name()

    local c = ""

    local l_max = math.random(2, 6)

    for i=1, l_max do

    -- 65 90

    -- 97 122

    if math.random(2) == 1 then

    c = c .. string.char(math.random(65, 90))

    else

    c = c .. string.char(math.random(97, 122))

    end

    end

    return c

    end

    local function call_func()

    {

    local l_str =

    [[

    #ifdef LOGO_ID

    #if (LOGO_ID == 1)

    void func(void){

    }]]

    for i=2, 400 do

    local l_type_str = "int"

    for j=1, math.random(1,4) do

    local l_type = l_type_tb[math.random(1,#l_type_tb)]

    l_type_str =  l_type_str .. ", " .. l_type

    end

    l_str = l_str .. "\n#elif (LOGO_ID == " .. i .. ")\n" ..

    " void " .. get_func_name() .. i .."(" .. l_type_str .. "){\n" .. func_ex(math.random(10)) .. " }"

    end

    l_str = l_str .. "\n#endif\n#endif"

    local l_file = io.open("./1.txt", "w+")

    l_file:write(l_str)

    l_file:close()

    end

    call_func();

    相关文章

      网友评论

      • 提莫酱T:不是很懂具体怎么使用
      • 我是程序yuan:脚本具体怎么用的啊
        萨达搜索到:上面写的 我也想问下怎么用
      • b2c7a522e27e:代码混淆会被拒绝的,我把部分函数名给混淆了,被苹果拒绝
        * 2. 3 Performance: Accurate Metadata
        * We discovered that your app contains hidden features. Specifically, it would be appropriate to remove all code obfuscation and selector mangling or to explain in detail the purpose of its inclusion before resubmitting for review
        b2c7a522e27e:@fanzhiyu7410 大神,请问一下修改类名需要修改文件名吗
        夕阳下的奔跑_:@fanzhiyu7410 老铁,用的什么脚本
        fanzhiyu7410:@CocoaKier 我处理用脚本把大多数类名都给修改了,类中又随机插入了一些方法和属性,3个马甲包都没有查出来。
      • f5d2f1feeb2d:高薪诚聘:ios 安卓 马甲包上架大手,价格包你满意,有意者加QQ:992875809
      • panich:大神,上面的方法有没有详细的教程
        panich:@fanzhiyu7410 可以提供一个简单的Demo来参考一下吗,万分感谢:986825213@qq.com
        fanzhiyu7410:没有呀。我写的只是总结的经验。只是提供一个思路,具体做法还要根据项目来做。
      • smooth_lgh:你好,有什么办法能够批量改变ipa包里面的二进制文件资源呢?
        fanzhiyu7410:@做一只会思考的piger 写个脚本,解压ipa 替换资源,重新压缩。 不然就添加多个target用不同的资源出不同的ipa包。
        fanzhiyu7410:换账号提啊
        学长的日常:大神,4.3问题你们是怎么处理的呢
      • 学长的日常:大神,马甲包4.3被拒有解决方法没
        沐时:@学长的日常 老哥,你解决了吗
        学长的日常: @fanzhiyu7410 避免二进制雷同的方法能说下么?还有一点,游戏马甲包卡在4.3,医疗马甲包卡在pla1.2,苹果到底是怎么审核的
        fanzhiyu7410:4.3被拒,只能换账号重提,也可以申诉,但我觉得机会不大,既然已经查出二进制雷同,还要申诉,结果估计会封号。

      本文标题:IOS马甲包二进制雷同的处理

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