在游戏开发中,为了避免被直接搜索到内存数据, 经常需要对代码和内存进行混淆, 因此对于cocos2dx+lua的游戏来说,也需要这种方式来在一定程度上防止玩家作弊在lua中,table是个很重要的数据结构,既可以作为map使用,也可以作为array使用,因此是内存数据容器的基石,所以只要能修改了对table操作的行为,那么就可以对使用者来说,进行透明化的实现数据混淆,实现存入table时自动混淆
转载 2024-03-07 13:32:15
330阅读
1)Lua全局变量代码规范 2)AssetBundle LockPersistentManager开销 3)Unity内置字体在资源检测报告中不算冗余资源 4)特定Android设备上,Adreno发生冻屏问题 5)Mask和RectMask性能上的区别  LuaQ:使用Lua语言作为脚本辅助开发已经非常流行了,但是Lua语言中的全局变量是一个令人头疼的问题,因为无需声明就可以
转载 2024-08-12 22:48:47
96阅读
概述: 案例:Cesium打包流程,相关技术点和大概流程原理:代码优化的意义:压缩 优化 混淆优化:如何完善Cesium打包流程关键字:Cesium gulp uglifyjs 字数:2330 | 阅读时间:7min+ 1 Cesium打包流程        如果没有记错,Cesium从2016年初对代码构建工具做了一次调整,从g
转载 2024-04-21 17:26:29
84阅读
Lua杂谈系列,就以代码覆盖率测试的luacov开头吧简介说到lua的覆盖率测试,我们一般都会想到用luacov做代码覆盖率测试 在干货|使用luacov统计lua代码覆盖率一文中,介绍了基本的luacov用法,但是缺少对luacov深入挖掘的相关内容。并且同时,原生的luacov提供了一套简洁的覆盖率测试实现以及报告输出形式,但是在实际许多场景中,采用原生luacov还是远远满足不了需求的 因此
Andoird 混淆代码学习心得(上)之前做Android混淆比较凌乱,基本都是在copy之前的配置,所以决定系统的整理下混淆打包的内容,深入理解下原理。转载: 1.混淆配置 在Android Studio当中混淆APK实在是太简单了,借助SDK中自带的Proguard工具,只需要修改build.gradle中的一行配置即可。可以看到,现在build.gradle中minifyEnabled的值
转载 2024-04-27 20:04:07
28阅读
一、说明:                 针对源码混淆其实在代码保护中应用很多,大部分是应用在像JS这种脚本语言中,因为很多时候JS是以源码的形式出现,网上有很多关于JS保护的工具,比较出名的是JSugly和javascript obfuscator。当然最近发现了一个做JS VM保护的,https://w
引言在寒假宅家期间,我在Github上发现了一个名为"luaparse"的项目。这个项目可以将Lua源代码解析为AST语法树。我曾经使用过正则表达式对Lua代码进行混淆,但是这种方法存在兼容性和稳定性问题。相比之下,通过处理AST语法树得到的混淆代码具有更高的强度和稳定性,借鉴javascript语言混淆方案,制作了混淆工具LuaEnc 。概述LuaEnc是一款专门为Lua5.2~5.3版本开发的
转载 2024-03-01 16:09:13
670阅读
一、静态分析:观察lua脚本,发现lua脚本进行了加密保护。观察so发现,一个libgame.so实质上是libcocos2dlua.so文件,libkvmrt.so观察下边猜测就是kvm虚拟机运行时的一些解释函数什么的。这个时候猜测,它大致的保护过程为:lua进行整体保护、或者luajit保护或者打乱整个lua opcode的顺序,然后最后用他们的KVM虚拟机进行虚拟化混淆编译。但是这里一个逻
转载 2024-02-28 21:21:31
1059阅读
"  名称混淆 - 反混淆名称混淆混淆,基本上是不太可能的事,因为以前的名称已经换掉了,也没有第二个名称备份表,所以根本无法还换。  不过,可以把不可见字符转换为可见字符,长字符串换成短字符串。两种方法可以做处理:"  在 MetaData 中有一个区域叫做 _STRING 它存放了所有名称字符串,只要修改这里的内容,即可,此方法需要
转载 2024-04-21 12:57:10
196阅读
改进后的混淆器,算法上考虑得比较细了,可以作为一个通用函数以后做个FORM自动对某目录下的 VCX/SCX/PRG 进行混淆。看混出来结果我自己也发了神经,只混 local / lparameters也够了,再进一步的加密就是FLL化。Function gcObfuscateLparameters tcCode,tcOo*- 功能: 去掉注解. 针对 PRG代码|代码串的 混淆
本章以京东商品详情页为例,京东商品详情页虽然仅是单个页面,但是其数据聚合源是非常多的,除了一些实时性要求比较高的如价格、库存、服务支持等通过AJAX异步加载加载之外,其他的数据都是在后端做数据聚合然后拼装网页模板的。http://item.jd.com/1217499.html     如图所示,商品页主要包括商品基本信息(基本信息、图片列表、颜色
在 Android 日常开发过程中,混淆是我们开发 App 的一项必不可少的技能。只要是我们亲身经历过 App 打包上线的过程,或多或少都需要了解一些代码混淆的基本操作。那么,混淆到底是什么?它的好处哪些?具体效果如何?别急,下面我们来一一探索它的"独特"魅力。混淆简介代码混淆(Obfuscated code)是将程序中的代码以某种规则转换为难以阅读和理解的代码的一种行为。混淆的好处混淆的好处就
转载 2024-03-04 16:24:30
520阅读
文章目录1.样本代码2.验证downloader3.动态调试4.遇到的问题5.代码还原 1.样本代码function UP(m) { var nUX = "charA"; var luz = "t"; var c = nUX + luz; return c; } function AU() { var uxJ = "YkuOKC7i{\"GUy%x}2c9N*Q+"; return
本文来安利大家 Obfuscar 这个好用的基于 MIT 协议开源的混淆工具。这是一个非常老牌的混淆工具,从 2014 年就对外分发,如今已有累计 495.5K 的 nuget 下载量。而且此工具也在不断持续迭代更新,完全支持 dotnet 6 版本,对 WPF 和 WinForms 等等的支持也是非常好,支持多个不同混淆方式和等级的配置,支持混淆之后生成符号文件。本文将来告诉大家如何使用此混淆
.NET混淆原理 (二)上面,我们分析了一段IL方法,相信大家对什么是IL一个认识了,如果想流畅的阅读IL,那么还需要把官方的资料读懂,记牢!今天我们来讲讲混淆基础。什么是混淆,故名思意,就是混杂,使界限不分明。这个词相当妙,特别是用在计算机界。我们知道NET程序集中有一个重要特性叫做MetaData(元数据),它是NET的特性,它记录了相关程序集的一切信息,正因为这样的特性,NET程序集才有了
转载 8月前
18阅读
一、前言最近想爆破一个app,没有加壳,简单的使用Jadx打开查看源码,结果把我逗乐了,代码中既然都是中文,而且是一些比较奇葩的中文字句,如图所示:瞬间感觉懵逼了,这app真会玩,我们知道因为Java语言是支持双字符的,所以可以将包名,类名,变量名,方法名定义成中文,或者其他国家的语言都可以的。所以本身这种做法是不会运行报错的,比如下面我们新建一个Java工程看一下效果:运行是没有任何问题的。看到
之前的文章谈了没有混淆的坏处Proguard 混淆之胡谈1和混淆的用法Proguard 混淆之乱谈2,没看的童鞋可以看下。#基础部分混淆####基础混淆#### #指定代码的压缩级别 -optimizationpasses 5 # 混淆时不使用大小写混合,混淆后的类名为小写 # windows大小写不敏感,linux下可以不用添加 -dontusemixedcaseclassnames # 指
转载 2024-10-20 10:47:13
139阅读
从最简单开始先从一个简单的函数开始int main (int argc, const char **argv) { int a = atoi(argv[1]); if (a > 5) { a = a+1; printf("a %d", a); } else { a *= 2; printf("a %d", a); } return 0; }直接正常编译,ida cfg如下 如果用ollvm加
转载 2024-09-23 17:42:50
101阅读
ProGuard简介在最新的Android Studio 2.2.2版本创建的Android工程中,module中的build.gradle有如下一段配置。这里的minifyEn
原创 2022-09-07 10:15:48
283阅读
这次紧接着上次的,将gc类型的数据分析完毕。 谢谢[url=http://www.zhuzhaoyuan.com]老朱[/url]同学的指正,这里CClosure和LClosure理解有误. 先来看闭包: 可以看到闭包也是会有两种类型,这是因为在lua中,函数不过是一种特殊的闭包而已。 [color=red]更新:这里CClosure表示是c函数,
转载 2024-06-28 07:46:45
61阅读
  • 1
  • 2
  • 3
  • 4
  • 5