storm发布jar包时报找不到主类_iOS代码差异化工具免费版正式发布

7a649a476a4464c1b6b84cb659783422.png

转载于公众号: iOS过审技术

专栏的文章发布会比公众号晚一些,欢迎关注公众号

随机修改源码中一半的符号

工具加密方式

  1. 源码随机序列化
  2. .py转.so

符号(symbol):

iOS项目编译后会生成一个IPA格式的文件,IPA其实是一个类似ZIP的文件夹,解压后可以看到 签名相关的文件、icon、启动页、游戏资源(游戏才有)、info.plist文件等等,其中最重要的是一个可执行文件(Mach-O格式),它是项目中所有被调用的iOS代码的集合,如果研究过这个文件会发现,它就像一个数据库,项目中的 类、分类、属性、方法、静态变量、字符串、block、协议、枚举等一切开发者自己写的都记录在这个文件里.而这些东西又叫符号. 只加入编译,不调用的符号在Mach-O文件找不到(说人话就是,加入的垃圾代码不调用和没加是一样的) 代码差异化工具目前支持所有的OC符号

代码差异化工具功能

支持了OC所有的语法和常用资源类型的差异化

0.支持备份源码
1.支持类名修改(支持分类),对应的文件名同步修改
2.支持方法名修改
3.支持属性修改
4.支持文件夹修改
5.支持类白名单设置
    5.0 自动不修改系统类
    5.1 支持设置不需要修改的类
    5.2 支持设置不需要修改的文件夹里的类
    5.3 支持设置不修改某些类的属性(适用于model类)
6.支持设置不需要修改的方法
    6.0 自动不修改系统方法
7.支持设置不需要修改的属性
    7.0 自动不修改系统属性
8.支持自定义类、方法、属性前缀
9.支持 protocol、block、define、枚举、静态变量 修改
10.支持修改资源文件
    9.0 支持png,jpg文件
    9.1 支持bundle,plist文件
    9.2 支持mp3,wav文件
    9.3 xib、sb文件

为什么要写这个工具

为了过包(为了代码差异化,为了不写SDK)

出的包肯定得和线上的包有所差异才有进人审的机会.

简单来说,一个游戏分为三大部分,能做差异的也就这三部分了:

1.游戏引擎源码(unity、cocos)

线上游戏引擎源码基本一致,差异由研发所使用的unity/cocos版本决定(普通开发者也改不动,改得动还过啥包)

2.游戏资源

完全看研发爸爸脸(很重要,不然就算差异化做的再好,人审gg)

3.SDK

对于过包来说,iOS开发者能做的就是这个了,最简单粗暴有效,也最恶心(一个逻辑换着花样写),很多公司的做法是新写SDK,确实能过包,但也真的恶心(我15年就开始写SDK了).

SDK差异化方案

这里列举我考虑过的方案:

  1. 用Swift写SDK
  2. 用H5写SDK(H5承载SDK大部分逻辑)
  3. 用RN写SDK
  4. 用lua写SDK(游戏可行)
  5. SDK写到Unity层
  6. 对现有代码做差异化

我司现行方案:

由于SDK背负着历史包袱,而且业务逻辑异常复杂,只能在现有代码上做文章

SDK差异化明确不需要改的部分:

  1. 域名 (我们从来不换域名,你喜欢就改)
  2. SDK工程处理 (我不处理,你喜欢就改)
  3. UI (我们只换个颜色,你喜欢就改)

以上说法是在连续过包的后得出的结论,而且我们会长期这么做,不承担任何责任

工具的优点

1.修改后的代码可读性高,更加接近人类写的,而不是类似某些工具用随机单词拼接

截取昨天出SDK的修改记录文件中的一段:

方法 chooseGameServer 修改为: optGimpyServer
方法 cleanUp 修改为: plumbUp
方法 clearCurrentUserInfo 修改为: cleanCurrentUserInfo
方法 clearKeyChainData 修改为: allTheWayKeystoneChainDataPoint
方法 clearRoleInfo 修改为: bringInOfficeInfo
方法 clearSaveKeychain 修改为: authoriseWriteKeychain
方法 closeAction 修改为: lastCarryOut
方法 closePicAction 修改为: closingFilmCarryOut
方法 closeRecharge 修改为: nighReload
方法 closeUpView 修改为: unairedUpwardsPersuasion
方法 commonInit 修改为: greenInit
方法 commonText 修改为: coarseSchoolText

免费版和正式版的差异

1.免费版 == 体验版,随机修改一半符号
2.正式版 == 付费版,修改所有能修改的符号

免费版下载地址

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值