1.XDQD指标的逗号搭建逗号搭建公式和源代码
2.通过etcd源码学习golang编程——build constraint
3.一键自动修改和翻新OC源码,解决苹果审核4.3和马甲问题
4.七爪源码:Ruby简介,联盟联盟真正的源码源码面向对象编程语言
5.七爪源码:学习用于序列化结构化数据的协议缓冲区 (Protobuf) — 第 1 部分
XDQD指标的公式和源代码
我不知道你用的什么软件,我用的教程是通达信,你出错我估计是逗号搭建逗号搭建字符串的问题,输入代码的联盟联盟findviewbyid源码时候你一定要用英文字符才行,括号,源码源码逗号,教程分号,逗号搭建逗号搭建这些都要注意的联盟联盟;我把源码发给你把,你用在同花顺,源码源码通达讯上都没什么问题强度:MA(C/INDEXC*,教程N),COLORWHITE,LINETHICK2;
强度1:MA(C/INDEXC*,N1),COLORFFFFFF;
另外COLORFFFFFF你可以改成其他颜色,因为上面的逗号搭建逗号搭建都是白色的,一个粗线,联盟联盟一个白线
coloryellow **就可以
通过etcd源码学习golang编程——build constraint
在etcd源码中,源码源码文件处理部分有方法需区分操作系统,文件路径如下:
文件内容包含TryLockFile和LockFile函数定义,感觉得似C/C++的宏定义,用于跨平台编译。注释中使用 “//go:build”和“// +build”标识,具体用法需探究。
搜索得出,此为Go编程语言的编译约束,通过go help和go help buildconstraint查看帮助文档,官方文档提供了基于该文档的个人总结。
build constraint限定编译内容,类似C/C++宏定义。编译命令示例如下。
官方文档解答:Go1.及前版本使用"// +build",Gofmt命令自动添加"//go:build"约束。老版本使用空格和逗号分隔语法,红角鸮源码推荐Gofmt命令能正常转换。
了解GOOS和GOARCH,可通过go tool获取列举。输出对应GOOS/GOARCH。
总结完毕,持续学习!
一键自动修改和翻新OC源码,解决苹果审核4.3和马甲问题
自动修改/翻新/混淆/OC/iOS代码,自动替换类名,方法名
由来
网上有很多关于如何混淆iOS源码的方法,但是都不够智能,生成的方法类名要么千奇百怪,要么aaaabbbxxx这种完全毫无意义的名称,要么只能修改单个文件,多个文件根本无法关联,我就想有什么方法可以像真人一样去修改源码,符合语义,不是胡编烂造的方法名,还可以自动修改相关联的文件, 还能自己自定义单词库,于是就有了这个工具。
演示视频
划重点
1. 该工具可以让你一键翻新代码,但是不是生成完整的xcode项目,需要你自己新建一个xcode项目,然后把翻新的文件拖入到新的项目中。
2. 该工具只要是ipa都可以,不限制OC,Swift,Flutter,React Native,H5类app。独立开发游戏源码
3.目前免费使用,免费使用,免费使用,重要的事情说三遍
几个效果展示
使用说明
下载项目,官网下载:IpaGuard官网--IOS 应用程序ipa文件混淆加密保护工具注意:说明中提到的路径均为绝对路径,提到的逗号,都为英文逗号。使用工具运行成功后,需要自己新建OC项目再将修改后的代码与资源文件拖入新建的工程。功能说明:
未来可能添加的功能:说明文档会不定期更新,如遇到问题先检查是否依照说明文档的定义进行配置。
1. 源文件路径/import_path(必选)
OC项目文件路径包含代码文件与资源文件
如下图
2. 导出路径/export_path(必选)
OC项目导出路径。
注意,本工具并不能帮你生成完整的OC项目,只会生成OC代码文件和复制修改项目内部的资源
3. 直接复制的路径/copy_only_pathes(可选)
直接复制,忽略的文件名,多个路径以,逗号隔开
4. 直接复制的文件名(不包含后缀)/copy_only_names(可选)
直接复制,忽略的文件名,不包含后缀
例:UISheetView.h 只需要输入UISheetView,多个文件用, 逗号隔开(注意全半角,逗号为英文逗号)
5. 不进行修改的文件或文件夹/no_change_pathes(可选)
深度读取,但是不会进行更改,如果引入了其他修改了的类,会相应的修改深度读取(说明):会读取文件内部的类比与项目内其他类进行关联例:xxxx/Classes/Models 不想修改,则输入这个文件夹的绝对路径, 如只输入Models,则所有包含名为Models的文件或文件夹都会标记为只读取不修改,多个文件和类用, 逗号隔开(注意全半角,逗号为英文逗号)
6. 不修改的文件或类的前缀名(区分大小写)/no_change_class_prefix_names(可选)
例:不想所有以MJ开头的类或文件,则输入MJ, 多个文件和类用,逗号隔开(注意全半角,逗号为英文逗号)
7. 不修改的文件后缀名(区分大小写)/no_change_class_prefix_names(可选)
如第六条。Model,Info -->不修改以Model,Info为结尾的文件或类
8. 只修改类名的文件名或类名/only_change_clsname_names(可选)
深度读取,只修改类名,汽车源码笔记12不修改内部属性与方法,这个优先级最低,如果之前的条件包含了本参数中的路径,则不生效
9. 只修改类名的文件夹/文件路径/only_change_clsname_pathes(可选)
深度读取,只修改类名,不修改内部属性与方法的文件名,这个优先级最低,如果之前的条件包含了本参数中的路径 则不生效
. 动词词库路径/verbwords_path(可选)
提供单词数组json文件路径 修改的命名逻辑为ABAB型,A为动词,B为名词,例:getMessage
. 名词词库路径/nounwords_path(可选)
提供单词数组json文件路径 修改的命名逻辑为ABAB型,A为动词,B为名词,例:getMessage
. 类名前缀/class_prefix(可选)
给每个类添加的前缀例:MJExtension-> MJ 为前缀, SD_ScrollView-> SD_ 为前缀
. 属性名前缀/property_prefix(可选)
给每个属性添加的前缀例:property(nonatomic, strong) UIViewMJView-> MJ 为前缀, property(nonatomic, strong) UIView SD_View-> SD_ 为前缀
. 需要过滤的方法路径/filter_methods_path(可选)
把你需要过滤的方法写入一个文本文件,然后将该文本路径填入到此项输入框注意事项:其他说明:本工具已经过滤了大多数常用系统方法,大部分情况下不需要配置此项。
. 类名和属性名后缀路径/property_subfix_path(可选)
给每个属性添加的后缀,需要一个配置json文件路径json格式:注意:key一定要与上面一直,否则系统无法读取,工具会遍历数组,为对应的类匹配后缀,在配置改文件时,包含相同字符串的类,需要将类名更长的类放在前面,不然匹配结果会达不到预期。例如:UITableView与UIView,配置时需要将UITableView放在View之前,如上面的广东源码开发例子。
. 为方法名添加介词/add_preposition(可选)
工具内置了所有介词,可选择性添加例:getMessage添加介词后-> getAMessage or getTheMessage具体介词完全随机添加
. 修改分类/change_category(可选)
工具会自动识别分类,可选择是否修改
. 将原代码行作为注释写入/add_original_comments(可选)
由于本工具不保证修改后百分百不报错,将修改过原属性声明和方法名作为注释写入,方便在重建工程后报错与原工程进行对照,建议设置
. 修改方法内部局部变量名/change_local_property(可选)
定义在方法内部的局部变量,可选择是否修改
. 综合配置路径(可选)
json配置文件路径,内部必须为字典,key为说明条目标题后面的英文请注意:配置文件优先级高于输入框输入的规则,配置文件存在时, 输入框输入的配置不生效例:(可直接复制修改)
关于bug
虽然工具本身经过了完整的商业项目的考验,但由于每个人的代码风格不一样,工具不可避免会出现解析不了的情况,开发者建议过滤C语言的文件,与第三方库,减少出错的可能性,还是无法运行成功,你可以发isssue至客服邮箱或根据报错Log自行删减项目文件,其中利弊,自行斟酌。
七爪源码:Ruby简介,真正的面向对象编程语言
Ruby 是一种面向对象的、通用的脚本语言,旨在创建真正的面向对象编程语言。它简单易用,以对象系统为核心,允许所有元素作为对象操作,增强底层语言行为。Ruby 的语法设计便于实现,同时保持面向对象编程架构,是一种动态语言,没有类型系统,但可以通过 RBS 实现类似 TypeScript 的类型系统。
在 Ruby 中,关键字“puts”用于将数据打印至控制台,而“print”类似。注释使用“#”启动单行,或“=begin”与“=end”启动多行。变量命名区分大小写,通常以小写开头,后接小写单词,用下划线分隔。变量无专用关键字,但常量用大写字母表示,全局变量前缀以美元符号。
通过“to_i”、“to_f”和“to_s”方法可以转换和操作 Ruby 中的基本数据类型,这些方法分别代表“转整数”、“转浮点数”和“转字符串”。Ruby 中的每个值都是对象实例,因此可以链接方法以操作这些对象。
字符串在 Ruby 中以引号定义,支持零索引和多种操作,如通过括号表示法访问字符或使用内置方法。字符串的长度可以通过“.length”属性获取,通过索引可以访问字符,使用“.include?”方法检查字符是否存在,而通过括号表示法可以访问特定索引的字符。
在 Ruby 中执行数学操作如加法、减法、除法、乘法、指数和求余数,操作顺序遵循常规计算规则。数组零索引,使用括号表示法访问值,还支持内置方法如“push”用于数组操作。用户输入使用“gets”关键字获取用户输入,并保存至指定变量。
在 Ruby 中,函数使用“def”关键字声明,包含所需功能和结果返回。默认参数可以在函数调用时覆盖,条件使用“if”、“elsif”和“else”关键字进行逻辑判断,可以使用比较运算符进行大小比较。
Ruby 是一个面向对象的编程语言,一切皆对象,原始数据类型实际上被视为对象。类使用“class”关键字定义,通过“attr_accessor”定义属性,用冒号表示,并通过逗号分隔。类方法使用“self”关键字表示对属性的操作。实例化后,可以为属性分配值,并调用任何方法或属性。
掌握这些基础知识,即可开始使用 Ruby 构建应用程序。Ruby 的简化语言强大而灵活,其框架 Ruby on Rails 更是提供了模块化的高级功能。关注七爪网,获取更多源码资源。
七爪源码:学习用于序列化结构化数据的协议缓冲区 (Protobuf) — 第 1 部分
在深入探讨 Protocol Buffers 之前,让我们先了解序列化和反序列化的基本概念。序列化是指将对象转换为线性字节序列以便存储或传输到另一位置的过程。反序列化则是获取存储信息并从中重新创建对象的过程。随着数据的不断增长,序列化和反序列化的数据方法也在不断发展。
CSV(逗号分隔值)是一种易于解析和读取的方法,但存在一些缺点,如必须推断数据类型且不保证。当数据包含逗号且列名存在或不存在时,解析变得困难。关系表定义添加了类型信息,数据是完全类型化的,且可以放入表格中。然而,数据必须是平面的,并且不同数据库的数据定义各不相同。JSON(JavaScript 对象表示法)是一种广泛接受的网络格式,数据可以采用任意形式,易于被多数编程语言读取,并且可通过网络轻松共享。然而,JSON 数据没有模式强制,且 JSON 对象大小较大,因为重复的键。
XML(可扩展标记语言)使用类似于 JSON 的元标记,但带有结束标记。由于它们具有结束标记,因此与 JSON 相比,它们的大小要大得多。
Protocol Buffers(或 Protobuf)是一种语言中立、平台中立的可扩展数据序列化协议,不同于 JSON 或 XML。Protobuf 不适合人类使用,因为序列化数据是编译后的字节,难以供人类阅读。它是 Google 用于序列化结构化数据的机制。
Protocol Buffers 的优点包括易于跨编程语言共享数据。在 .proto 文件上运行 Protocol Buffers 编译器时,编译器会以所选语言生成代码。我们只需使用在 .proto 文件中描述的消息类型,包括获取、设置字段值、将消息序列化到输出流以及从输入流解析消息。
为了更高效地设计 .proto 文件,Google 提供了样式指南,应尽量遵守。标准文件格式包括许可证标题(如有适用)、文件概述、语法、包装、导入(排序)、文件选项和其他内容。在 Protocol Buffers 中,字段标签非常重要。最小标签值可以是 1,最大标签值可以是 2²⁹–1 或 ,,。编号从 1 到 的标签使用 1 个字节,而编号从 到 的标签使用 2 个字节。对经常填充的字段使用 1 到 个标签号。
Protocol Buffers 支持多种字段类型,如布尔型、字符串、字节、重复字段、枚举等。在 Protocol Buffers 中,字段名称不重要,它们仅在编程中引用字段时重要。字段标签很重要,最小标签值可以是 1,最大标签值可以是 ,,。编号从 1 到 的标签使用 1 个字节,而编号从 到 的标签使用 2 个字节。对经常填充的字段使用 1 到 个标签号。
枚举允许我们定义事先知道的一个字段可以取的所有值。默认字段值为布尔型的假、数字的 0、字符串的空字符串、字节的空字节、重复的空列表和枚举的第一个值。我们还可以使用其他消息类型作为字段类型。嵌套类型有助于避免命名冲突并加强局部性。在下一篇文章中,我们将探讨 Protocol Buffers 的高级概念。