添加垃圾代码

方式 1:

#!/usr/bin/env python
# _*_ coding:utf-8 _*_
#第一步:首先生成一个500位的数组 驼峰类型的元素 用作文件名 eg:AsdfdfGsd
import random
import os,sys
import string

first = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
second = "abcdefghijklmnopqrstuvwxyz"
number = "345"
index = 0
array = [\]
for i in range(500):
    final=(random.choice(first))
    index = random.randint(3, 5)
    for i in range(index):
        final+=(random.choice(second))
    final += (random.choice(first))
    for i in range(index):
        final+=(random.choice(second))
    array.append(final)

print (array)

#第二步:
#用上边生成的数组来创建对应的.h和.m文件
# -*- coding: utf-8 -*-
import random
import os
import string
#创建.h文件
def text_createH(fileNmae,msg,msg1,propertyNumber,methodArray,msg3):
    full_path = sys.path[0] + '/ReplaceDemo/' + fileNmae + '.h'
    file = open(full_path, 'w')
    file.write('//\n//  '+fileNmae+'.h\n//  SajiaoShopping\n\n//  Created by 某 波 bo on 15/10/23.\n//  Copyright ?  2017年 阿里郎. All rights reserved.\n//\n\n')
    file.write(msg)
    file.write(msg1)
    propryNameArray = []
    for index in range(1,propertyNumber):
        propryNameArray.append(random.choice(array))
    propryNameArray = list(set(propryNameArray))
    for propertyName in propryNameArray:
        file.write('@property(nonatomic,strong)'+random.choice(classArray)+' * '+propertyName+';\n')
    file.write('\n\n')
    for methodName in methodArray:
        file.write('- (void)pushTo'+methodName+'VC:(NSDictionary *)info;\n')
    file.write(msg3)
    file.close()
    print('Done')
#创建.m文件
def text_createM(fileNmae,msg,msg1,methodArray,msg3):
    full_path = sys.path[0] + '/ReplaceDemo/' + fileNmae + '.m'
    file = open(full_path, 'w')
    file.write('//\n//  '+fileNmae+'.m\n//  SajiaoShopping\n\n//  Created by 某 波 bo on 15/10/23.\n//  Copyright ?  2017年 阿里郎. All rights reserved.\n//\n\n')
    file.write(msg)
    file.write(msg1)
    for methodName in methodArray:
        file.write('- (void)pushTo'+methodName+'VC:(NSDictionary *)info\n{\n\n  NSMutableArray *array = [NSMutableArray array];\n')
        number = random.randint(3, 10)
        for i in range(1,number):
            file.write('  [array addObject:@"'+random.choice(array)+'"];\n')
        file.write('\n}\n\n')
    file.write(msg3)
    file.close()
    print('Done')

classArray = ['NSString','UILabel','NSDictionary','NSData','UIScrollView','UIView']
array = ['HwxrFvrj', 'QnzduQbtdd', 'PvcrwLtqhf', 'UvdhDbjn', 'SuntmyTxvyzg', 'CvlxwBipbp', 'GzrdyzIbimvz', 'CqsjqMmgsp', 'OxaaeuWjhasc', 'NjiardRvwgbi', 'NcculmLtpljq', 'ApoqQrll', 'GkgokDyvjb', 'EblldkVouplj', 'KfdrFvnw', 'SfhyhObftc', 'SmruByoc', 'YzcccvXmpmit', 'OmqvaHpxat', 'XzytsUyvyd', 'MjforNnnyi', 'ZvjhuIdogs', 'BzfrxzSeahxc', 'PycycwFjtpny', 'XvngtoSedljr', 'DktiaCbucd', 'AqbplNuodc', 'MzkvgZuala', 'KdwzIoej', 'AaynatUpqcfd', 'IyvwhZvtjc', 'UmijGmsy', 'AoayndXxghym']
array = list(set(array))

for name in array:
    number = random.randint(3, 10)
    methodArray = []
    for i in range(1,5):
        methodArray.append(random.choice(array))
    methodArray = list(set(methodArray))#数组去重
    text_createH(name+'ViewController', '#import <UIKit/UIKit.h>\n','@interface '+name+ 'ViewController:'+ 'UIViewController\n\n',number,methodArray,'\n\[email protected]')
    text_createM(name+'ViewController', '#import "'+name+'ViewController.h"\n\n' '@interface '+ name+'ViewController()\n\n @end\n\n','@implementation '+name+'ViewController\n\n- (void)viewDidLoad { \n\n [super viewDidLoad];\n\n}\n\n',methodArray,'\n\[email protected]')

full_path 代表垃圾文件生成路径,第一次 file.write 的是类的注释,包含工程名、类名、作者,这种方式生成的内容无意义,所以很可能过不了审核。脚本原文

方式 2:

使用 KLGenerateSpamCode 扫描工程中的代码,生成同等数量的 Category 文件,文件中即是同等方法数量的垃圾代码。

KLGenerateSpamCode 工程 -> Edit scheme -> Run -> Arguments Passed On Launch 添加。

Trash 是放垃圾代码的文件夹,trash 是分类名。

或者用终端执行命令

./GenerateSpamCode /Users/CJ/Desktop/ReplaceDemo/ReplaceDemo -spamCodeOut /Users/CJ/Desktop/Trash trash

第一条路径是马甲包工程,第二条路径是存放垃圾代码目录路径。

两种方式都会自动在指定路径下生成 Trash 文件夹。

原文地址:https://www.cnblogs.com/dins/p/la-ji-dai-ma.html

时间: 2024-10-06 11:38:42

添加垃圾代码的相关文章

生活计划请看起来是正确的垃圾代码

不知不觉,博主工作五年了,随着从事软件开发时间的增长,技术自然是慢慢积累了,可是博主觉得最重要的是看待项目的眼光变了.当年博主工作1-2年的时候,自我感觉非常良好,觉得技术是王道:觉得项目应该从技术的角度来说要完美,要符合开发规范,要符合程序思想,要符合面向对象.总之,觉得技术才是正道.有时仅仅由于觉得代码实现方式不爽而推倒重来:甚至不惜影响进度. 那么,果真如此么?一个项目一定要从技术的角度达到完美么,一个类,一个方法,一个变量的声明非得严格依照编程规范.一个好的程序猿一定是代码写的完美的么.

PyQt4转换ui为py文件需添加如下代码才可执行

1)转换ui为py 命令行进入ui文件所在文件夹,输入pyuic4 ui_name.ui > py_name.py即可 或新建ui2py.bat文件,写入: @echo off @cd /d "%~dp0" pyuic4 %1 > %~n1.py 将ui文件拖入批处理即可,生成在ui文件所在目录,文件名为py_name.py 2)转换后的py文件还不能运行,需要可视化操作才可运行 具体见帖:http://www.cnblogs.com/doudongchun/p/36947

使用Swift的代理,闭包来封装一个公用协议减少垃圾代码

iOS开发中,如果不进行适当的封装,使用协议或者继承类来进行开发,你就会遇到传说中的ViewController(以后简称VC) Hell的问题…… 比如说,我们先声网App中为了调用接口,做简单的判断,会有如下的垃圾代码(前辈遗留下来的): override func viewDidLoad() { super.viewDidLoad() var color = UIColor(red: 153/255, green: 204/255, blue: 204/255, alpha: 1) sel

jquery实现动态添加html代码

1.closest()方法 closest() 方法获得匹配选择器的第一个祖先元素,从当前元素开始沿 DOM 树向上.返回包含零个或一个元素的 jQuery 对象 2.prepend方法和appendTo方法-内部插入 prepend()函数用于向每个匹配元素内部的起始位置追加指定的内容. 3.after方法和insertafter方法-外部插入 向元素的前边添加html代码,如果元素前面有元素了,那将前面的元素前移,然后将html代码插入.

为sharepoint的内部页面添加后台代码

我们知道,存储在数据库里的SharePoint页面是不能直接添加后台代码的,这给我们带来了很多的不方便,比如想要在页面上实现一些东西,都必 须使用Webpart或者自定义控件的方式,哪怕仅仅是很简单的几行后台代码.而WSS 3.0 是基于ASP.NET 2.0的,在ASP.NET站点里使用的任何技术在WSS站点里同样可以使用.因此我们同样可以给WSS站点的页面添加后台代码. 存储在数据库中的sharepoint页面分为两部门,母板页和内容页,我们可以为这两种页面分别添加后台代码.实现方式不一样,

每天都有新发现——如何优雅的用js动态添加html代码

body { font-family: 微软雅黑,"Microsoft YaHei", Georgia,Helvetica,Arial,sans-serif,宋体, PMingLiU,serif; font-size: 10.5pt; line-height: 1.5; } html, body { } h1 { font-size:1.5em; font-weight:bold; } h2 { font-size:1.4em; font-weight:bold; } h3 { fon

关于Proteus软件添加masm代码的教程

注:此教程纯属用于解决大家在使用过程出现的问题,比较简单,教程原创,有问题欢迎讨论~~ [一]关于Proteus软件添加masm代码的教程: 步骤一: 在桌面新建一个文本文档: 写入以下内容: @ECHO OFF E:\masm32\bin\ml /c /Zd /Zi %1 set str=%1 set str=%str:~0,-4% E:\masm32\bin\link16 /CODEVIEW %str%.obj,%str%.exe,nul.map 注意: 放到哪个盘符里面取决于masm,ma

sharepoint页面添加后台代码

sharepoint页面添加后台代码 我们知道,存储在数据库里的SharePoint页面是不能直接添加后台代码的,这给我们带来了很多的不方便,比如想要在页面上实现一些东西,都必须使用Webpart或者自定义控件的方式,哪怕仅仅是很简单的几行后台代码.而WSS 3.0 是基于ASP.NET 2.0的,在ASP.NET站点里使用的任何技术在WSS站点里同样可以使用.因此我们同样可以给WSS站点的页面添加后台代码. 存储在数据库中的sharepoint页面分为两部门,母板页和内容页,我们可以为这两种页

仅仅需手动添加一行代码就可以让Laravel4执行在SAE (v. 1.0.0)

Github:https://github.com/chariothy/laravel4-sae (已更新至v1.1.0) laravel4-sae (v. 1.0.0) 仅仅需手动添加一行代码就可以让Laravel4(~4.2)执行在SAE,并且在本地和在SAE开发无需命令切换,自己主动推断环境并切换配置. 安装 在SAE安装Laravel 在SAE安装Laravel与本地环境安装稍有差别: 在SAE的"应用管理"中新建一个没有代码的应用.比方叫project-name(这里面仅仅是