?源码源代?uiԴ??
自动修改/翻新/混淆/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(可选)
深度读取,只修改类名,不修改内部属性与方法,这个优先级最低,如果之前的条件包含了本参数中的路径,则不生效
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自行删减项目文件,其中利弊,自行斟酌。linux源码位置
UGUI源码介绍
本文提供对Unity UI系统(UGUI)源码的概览,内容主要来自官方文档。
UGUI主要由EventSystem和UI两部分构成。
EventSystem部分包含输入模块和射线投射器。输入模块用于配置事件系统的主要逻辑,提供不同平台的开箱即用选项,支持各类输入系统如触控、控制器、键盘和鼠标,并将事件分发至对应组件。射线投射器则用于检测事件位置,决定事件传递至的UI元素。
UI部分结构相对复杂,包含多个类和接口,如IMaterialModifier和IndexedSet等。IMaterialModifier接口允许修改用于渲染的Material,IndexedSet是一种结合List和Dictionary实现的自定义容器,提供快速移除和插入元素的功能,但牺牲了顺序和序列化的友好性。
总之,UGUI源码通过模块化设计和接口定义,为开发者提供了丰富的UI构建和事件处理能力。
UI界面设计器(Dui Designer)v1.0.6.
Dui Designer 是一款专业的 UI 界面设计工具,最新版本为 v1.0.6.,修复了诸如 name 属性保存问题、控件视图更新不及时、不存在 bkcolor3 属性以及预览无法退出等已知的 Bug。虽然仍存在一些未解决的缺陷,但它已足够满足布局设计的基本需求。对于有此需求的用户,欢迎下载并体验。
要开始使用 Dui Designer,首先确保已将设计器的可执行文件(DuiDesigner.exe)从 duilib 源码的 bin 目录下找到并运行。值得注意的是,初次打开可能需要重新编译,否则可能会出现 XML 文件崩溃的卡盟破解源码情况。
一旦打开设计器,可以通过以下步骤创建一个项目并设计界面布局:
1. **新建项目**:在菜单栏选择“文件” > “新建” > “文件”,然后保存项目到指定路径。
2. **新建布局**:首先在项目中创建一个通用的布局,如使用“VerticalLayout”作为整个窗口的布局容器,通过工具箱添加布局到设计界面。
3. **设计标题栏**:接着,添加一个“HorizontalLayout”作为标题栏的布局容器,确保其宽度自动扩展至窗口宽度,以适应界面宽度变化。
4. **布局调整**:将“HorizontalLayout”分为左右两部分,右侧宽度设为 ,左侧则可添加垂直布局作为占位。布局设计完成后,根据需求添加控件,如按钮,可通过拖拽和调整大小、位置来实现布局。
5. **按钮对齐**:使用按钮对齐工具(如“顶端对齐”、“横向对齐”按钮)来调整控件的布局,使它们在视觉上形成统一。
6. **查看与编辑 XML**:在设计界面中,可以使用 Tab 面板打开并编辑对应的 XML 文件,以查看和修改布局、控件属性。通过属性列表(属性列表.xml)文件,可以了解所有控件的属性,虽然有些属性可能未完全涵盖。
7. **测试与调整**:完成设计后,点击“测试窗体”按钮预览界面效果,使用 Esc 键关闭预览窗口。在测试过程中,记得随时保存 XML 文件,以防设计器崩溃导致进度丢失。
Dui Designer 提供了直观且简便的界面设计功能,尽管存在一些已知的 Bug,但其基本布局设计能力足以满足日常需求。通过实践与探索,用户可以更好地理解界面设计的各个元素,并利用 Dui Designer 实现更加丰富、个性化的 UI。对于 UI 设计初学者而言,虽然可能会遇到一些挑战,但这是一个值得尝试和利用的工具。
七爪源码:最大化生产力的最小 VSCode 设置(第 2 部分)
欢迎回到我的最小 VSCode 设置系列的第二部分!
在本文中,我们将深入探讨如何使用自定义 UI 扩展来优化 VSCode 界面,以创造更加舒适和高效的编码环境。
首先,确保已安装自定义 UI 扩展。通过 VSCode 扩展面板或访问指定页面进行安装。
安装完成后,利用 Monkey Patch 辅助扩展将自定义 JavaScript 注入 VSCode。此扩展对于实现自定义 UI 功能至关重要。
内嵌标题栏(仅限 Mac)
通过启用以下设置,自定义 UI 将合并窗口控制按钮和选项卡栏,创建内联标题栏,从而在编辑器和代码间释放更多空间。
在 Windows 或其他操作系统上,若遇到标题栏内联支持问题,将 window.titleBarStyle 设置添加到忽略的同步设置列表中可解决。
整合侧边栏与资源管理器
自定义 UI 还允许我们将侧边栏与资源管理器合并,将其放置在文件资源管理器下方,从而有效移除侧边栏。仅需启用相关设置,即可实现两全其美。
通过快捷键如 Control Shift E,仍可轻松访问资源管理器,同时在编码时避免侧边栏干扰。
自定义 UI 字体
调整 VSCode 默认字体,通过自定义 UI 设置,选择更符合个人审美的字体。此外,还能为不同 UI 元素指定自定义字体大小,以优化视觉体验。
控制字体大小,使界面元素既不显得过小也不过大,确保阅读舒适。
自定义列表高度
通过自定义 UI,调整资源管理器和源代码管理中文件列表的高度,避免元素聚集,实现更佳的布局和清晰度。
此功能有助于提升文件和文件夹的可读性和操作效率。
总结
本文介绍了使用自定义 UI 扩展来进一步优化 VSCode 设置的方法。通过本文的探索,您将能够创建一个更加简洁、直观且高效的工作环境。
最小化干扰、个性化界面风格和增强生产力,这些调整将让您在编码过程中享受更佳体验。探索自定义 UI 功能,发现更多可能,让您的编码工作更加高效且愉悦。
感谢阅读,期待下次分享更多技巧和资源。关注七爪网,获取更多 APP、小程序、网站源码资源!
手撸Element源码,完善日期选择器功能,支持范围选择器周、季、年
在构建后台系统时,日期组件的应用颇为频繁,而常用的组件库往往无法提供全面的功能。特别是在日期范围选择组件的应用上,常遇到局限性。
为了实现更完善的功能,我们着手对 Element UI(Vue2 版本) 的 日期选择器 进行改造。目标功能包括周、季、年选择器的实现与优化。
改造始于将 Element UI 中的 日期选择器源码 复制至本地项目文件夹,并在主配置文件中引入。在引入过程中,遇到了由于引入了时间选择器导致的错误,主要原因是源码中包含的滚动条组件 ElScrollbar 与实际需求不符。通过注释掉相关代码段,确保了功能的实现而不影响项目运行,同时避免了 ESLint 的代码检查警告。
接下来,我们对周选择器进行了优化,以解决面板不显示周数的问题。通过在组件内部接收并动态显示周数参数,确保了功能的完善。此外,调整了选择周数后的日期显示逻辑,以匹配不同国家的日期习惯,并解决了周数显示的正确性问题。对于无法设置 value-format 属性的情况,我们对计算值的处理逻辑进行了修改,以兼容不同日期格式的需求。
为了实现周选择日期范围功能,我们对原有组件进行了复制和改造,新增了 周范围选择器 模式,并相应调整了配置数据和界面展示。同时,支持了 value-format 属性,确保了日期格式的灵活性。在周选择器中,我们通过添加高亮显示逻辑,实现了对所选周数的视觉强调。
同样地,季选择器的实现遵循了相似的步骤,通过复制和改造已有组件,以支持季范围选择。同时,我们确保了季选择器的界面与功能的兼容性,以及日期格式的可配置性。
最后,我们整合了所有改造后的功能,展示了一个具备周、季、年选择器的完整组件功能。此功能展示了对日期选择器的全面优化与扩展,满足了更多场景下的应用需求。
QT项目中,在ui界面添加新的控件,编译后,控件没有显示出来
在QT项目中遇到新添加的UI控件未能显示的问题,许多初学者可能会感到困惑。以下是一些有助于解决此问题的步骤,供参考:
首先,尝试重新执行qmake命令,并清理项目,然后重新构建项目。
接着,清空build目录中的所有编译生成的文件,仅保留目录结构,再进行一次项目构建。
删除工程目录下的.user文件,仅保留工程文件、头文件、源文件及UI文件,重新运行qt creator,重新配置项目后再次编译。
在采取上述措施后,发现修改生效。在项目中启用过shadow build模式,尝试去勾选或重新勾选此选项后,发现修改再次生效。但若重复修改界面,编译后发现修改内容仍未显示。
推测原因可能与从另一台设备复制代码有关。可能在复制过程中,将.user文件一同带入,而该设备未启用shadow build模式。这可能导致设置冲突,影响控件显示。
实际原因是,确实与代码复制相关,但并未复制.user文件。在不勾选shadow build时,编译生成的ui_xxxxx.h文件位于源码目录下。在复制代码时,ui_xxxxx.h文件也被一并复制了过来。这导致本地工程编译时,始终引用源码目录下的旧ui_xxxx.h文件,修改内容未能被编译进去。
最终解决方法是:在再次启用shadow build模式时,务必检查并删除工程目录下的ui_xxxxx.h文件,然后重新编译项目,问题得以解决。
教训是:在切换shadow build模式时,要确保检查并移除所有ui_xxxx.h文件,以避免此类问题的发生。
2024-11-30 13:05
2024-11-30 13:01
2024-11-30 12:29
2024-11-30 12:21
2024-11-30 12:06