前言
说起马甲包,作为iOS开发者来说想必大家一点也不陌生,为了刷量、刷排名、为了引流,制作马甲包,为了通过苹果爸爸审核,想到代码混淆,垃圾代码等策略,来规避苹果爸爸的机审查重机制!
垃圾代码
1.常见垃圾代码
说起垃圾代码,网上有很多垃圾代码的脚本,或者工具,一般都是全是随机的字符串函数名或者属性名,然后函数的实现全是字符串,如下图所示:
![524acaef659486f925664d3af936bd5c.png](https://img-blog.csdnimg.cn/img_convert/524acaef659486f925664d3af936bd5c.png)
这种垃圾代码先说上去必须2.3.1,还有就是苹果也会坚持你代码的逻辑树的,像这种毫无意义的实现机审肯定过不去;
2.ZFJObsLib垃圾代码
ZFJObsLib可以一键为原有的类添加垃圾代码,还可以给项目添加垃圾类,并自动调用! ZFJObsLib完美实现以上条件,且完美支持以下功能:
自动定义变量/函数/属性、自动实现函数方法、自动创建h/m文件并编译、自动创建文件夹、属性函数自动调用、垃圾类之间相互调用、主代码调用垃圾类垃圾函数、支持自定义添加前缀、创建ViewController、创建Model、创建View、支持自定义混淆词库等等!
可以保证的是每个人生成的垃圾代码或者垃圾类肯定是不一样,包括垃圾函数的实现也是不一样的!
a.以下是生成OC的垃圾代码、垃圾类!
![2d888559ce19c0a7bd3b81c47d29c1ab.png](https://img-blog.csdnimg.cn/img_convert/2d888559ce19c0a7bd3b81c47d29c1ab.png)
b.详细垃圾代码如下,里面创建的函数个数或者垃圾类的个数全部可控!
//
// RollCliqueView.m
// TRANSITIVE
//
// Created by MULTIUSER on 2020/01/06.
// Copyright © 2019 FILTER. All rights reserved.
//
#import "RollCliqueView.h"
#import "CreateZFJObj.h"
#import "MyZFJObj.h"
#import "XibMissViewController.h"
#import "CabalaCollectionView.h"
@interface RollCliqueView ()
@end
@implementation RollCliqueView
- (UIImageView *)pacaAbnakiImageView:(NSInteger)statelessInteger loadIndexPath:(NSIndexPath *)loadIndexPath{
statelessInteger = 145;
loadIndexPath = [NSIndexPath indexPathWithIndex:189];
CabalaCollectionView *eaglewoodAlgorithm = [[CabalaCollectionView alloc] init];
CGRect vaalRect;
vaalRect = CGRectMake(15, 57, 173, 138);
UISegmentedControl *xantheinSegmentedControl;
if(xantheinSegmentedControl != nil){
xantheinSegmentedControl.alpha = 0.1;
//设置颜色
xantheinSegmentedControl.tintColor = [UIColor colorWithRed:240/255.0 green:1/255.0 blue:223/255.0 alpha:1.0];
xantheinSegmentedControl.tag = 213;
}else{
//创建