自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

雪一梦的博客

静下心来,感受努力的快乐。。

  • 博客(91)
  • 资源 (21)
  • 收藏
  • 关注

原创 微信小游戏存在的安全风险

一、CE修改模拟器上运行的微信小游戏修改完以后数据立马变为400二、CE修改PC微信上运行的小程序三、被反编译和重打包通过对上面的.wxapkg的包体进行反编译可以得到这个游戏的整个源码工程,且由于工程中的资源和代码没有进行保护,可以很清晰的进行分析。从上图可以看到领取金币的详细规则;通过修改代码,可以得到任意的进行领取金币的数量进行作弊;同时通过修改上面的图片,以及对应的规则和游戏玩法可以轻易的进行“换皮”完成一个重打包的新得

2022-02-27 19:03:51 14815

原创 lua保护的前世今生

一、背景lua作为小巧的解释性语言,由于其轻量级,易维护性,且可以根据自身的特性来模拟面向对象,因此嵌入到越来越多的应用中,特别是游戏中,为游戏开发以及热更等带来了很大的便捷性,比如Cocos引擎的主流游戏,以及U3D游戏中的热更框架xlua等,都会用到lua语言;同时由于lua语言自身的这些特性,lua代码本身是不安全的,很多时候攻击者可以获取lua源码进行阅读,分析,盗用以及篡改等,然后进一步的重打包等,给游戏本身带来了很大的安全隐患。接下来我们一起了解一下目前lua是怎么保护以及我们应该怎

2020-11-27 23:44:02 995

原创 Virbox深思考盾So文件保护

第一:入口点:`第二:执行完对应的init_array以后进入linker执行第三:解密出对应的字节码:可能其中会有混淆的操作,没发现,猜测也是跟二进制的操作相关,处理好混淆前后的对应关系。总结:1.没有在init_array处完全的解密完;2.解密函数静态不好发现,难以进行静态解密;3.从正向的角度怎么实现?...

2020-11-19 19:39:22 858

原创 Cocos环境搭建

一、Cocos环境搭建下载最新版的Cocos Creatorhttps://www.cocos.com/creator新建Hello World注意:“error: Build Failed: Error: Cocos2dx root **********************can't include space.”建议在安装的时候路径就不要有空格。,以此构建-》编译-》运行,就会在“xxxxx\build\jsb-link\publish\android”生成.

2020-11-19 19:29:50 708

原创 最强蜗牛简要逆向分析

最强蜗牛版本:snail_qc_official_0.1.83.apk下载:https://snail.qingcigame.com/leading/一、lua解密:可以看到lua对应的版本已经对应的luajit的版本;为后面jit的反编译做准备;可以看到key和sign值的大小,十分的清楚;二、png文件的加密:具体的解密算法;综上可以看到,无论是对于算法的逆向,还是第三方去调用这些去解密png文件

2020-09-25 10:36:15 1310 7

原创 方舟编译器处理第一款APP发布尝鲜以及简要分析

一、华为EMUI10.1系统更新说明:二、华为应用市场下载到的最新的3.6.1版本的新浪新闻极速版本说明:三、测试一下:3.1性能我也做了对比在同一个level的非华为手机上,发现冷启动在某些时候快,热启动差不多,虽然性能没有形象的那么大,但是这是一个开始的信号,期待后面对于性能的优化。3.2运行测试观察安装包发现一个不一样的地方:很明显,因为maple就是方舟编译器处理完以后的中间文件名称,打开以后发现:在分析之前测试一下看有没有脱离安卓的java虚拟机

2020-07-02 15:52:09 11281 1

原创 AI模型安全学习记录一

一、背景: 随着5G以及AIOT时代的到来,未来逐渐的成为一个数据主导的时代,AI等技术型的公司,会成为新的主流,和各行各业做大跨度的融合,这种融合当然在学术以及产业中会一直的存在,并且近年来的AI一直在各个世界顶级互联网大会中被频频的提到,现实中的成果也已经很多惠及到我们,比如目前成熟的人脸识别,以及前一段时间比较火的换脸—“ZAO”,还有未来不久百度为主导的无人驾驶车...

2019-10-27 14:02:41 2147

原创 怎么愉快的复制网页上不能复制文字的方法

网上的办法有很多,大部分是使用上的漏洞,但是我们作为技术人员那么去弄就太LOW了,接下来从修改代码的角度去过掉,很简单:这里以百度文库为例子,毕竟百度文库真的是XX;第一步:ctrl+s保存:比如:https://wenku.baidu.com/view/142a3a06a26925c52dc5bf14.html?from=search这个链接里面的文字我们是不能复制的...

2019-10-18 11:38:24 2487

原创 TX手游so保护实现分析

一、腾讯so保护的分析:字符串加密:so中大量的调用了字符串解密函数:接下来看JNI_Onload相关的函数:接下来看导出符号中有一个g_tprt_ori_array,放在.bss节中,是一个未初始化的全局变量。还有一个g_tprt_pfn_array,可以看到下面保存着一堆函数的地址:在sub_57A8中可以看到的...

2019-10-09 19:13:53 4566 1

原创 华为方舟编译器理解:初探

华为踩着2019年8月的尾巴开源了方舟编译器:github:https://github.com/Himself65/OpenArkCompiler背景:方舟编译器主要要做的事情:1.将多语言之间联合优化,比如c/c++、 java包括前端等,然后自己设计一个IR,不同的前端分析完后,然后转为统一的IR,这个是编译原理上常做的事;具体可见对于mapleIR的说明:...

2019-09-17 19:19:29 7477 2

原创 方舟编译器理解二:ModulePhase && MeFunctionPhase

上一篇文章大致讲解了一个HelloWorld的中间文件跟基于LLVM生成的中间文件的形式上的对比,接下来的文章主要是讲解这个生成过程,方舟编译器是怎么处理这些class文件的。从源码中可知,Phase分为ModulePhase 和 MeFunctionPhase;类似于LLVM中的ModulePass和FunctionPass,Phase也就类似于llvm中的Pass的概念。一...

2019-09-17 19:19:20 3308

原创 PHP代码保护浅析

今日无聊,正好一个网友问到这块,就随手写一篇水文,简单总结一下,这里简单的来总结一下PHP代码保护的现状和思路:一、背景:保护PHP就是保护知识产权之类的,包括一些重要的接口等等。二、目前常用的方案:对于PHP这类的动态语言的保护,感觉跟前面总结的js保护上差不多,无非就是:加密;(强度最弱,没办法,这种动态解释语言的特性导致)动态调试或者hook来解决,当然瞪眼发...

2019-09-08 17:12:25 1806

原创 nshc加固浅析

一、dex保护:1.1反回编译:按照上面的提示找到对应的位置,把那个函数删掉。由于这个函数别的地方也没有调用,应该不影响结果。总结:可以把这个函数改造。构造一个能够去调用它参与逻辑的,增强反回编的难度。1.2.对于dex中重要信息字符串的解密:反编译的时候看到大量的这种加密字符串解决办法:由于这个解密函数是java层面的,且不是很复杂。因...

2019-08-28 19:56:55 590

原创 JavaScript代码保护浅谈

一、国外:1.jscrambler(商业):链接:https://jscrambler.com/收费比较高;2.JavaScript-Obfuscator(开源)有了开源很多人都在这个基础上改改,但是强度也是会比较弱;二、国内:1.jshaman:https://www.jshaman.com/guide.html看了他们这个说明可能以上两个...

2019-08-02 19:57:17 3909

原创 一起学些LLVM(五): 学习lli/vmir

一、GIthub链接:https://github.com/andoma/vmir二、原理:Optionally it can generate machine code (JIT) to speed up execution significantly. JIT is currently only supported on 32 bit ARM.相对于官网的LLI源码相比...

2019-08-02 18:58:08 2025

原创 爱加密so VMP浅析

一、静态分析:如图是函数入口和vmp的整体器部分:可以大致看到整个的dispatcher部分如下所示:虚拟数据表如下所示,根据这些去调用对应的Handler;二、动态分析:这里分析简单列出几个比较重要的handler:case 16:对于参数赋值操作;case 76: 得到函数头信息;case 77: 也是重点函数,从“mov pc r1”可以看出...

2019-07-28 13:02:57 3476

转载 人工智能为何值得更强的安全保护

转自:https://www.synopsys.com/zh-cn/china/resources/dwtb/why-ai-needs-security.html转载原因:对于AI模型安全这一块有了大致的了解,也是未来软件安全的一个方向。作者:Synopsys安全IP产品营销经理Dana Neustadter订购 DesignWare技术通报简介在创新型深度学习技术和大规模投资...

2019-07-15 12:57:56 451

原创 IL2CPP的原理(生成)机制

一、IL2CPP的原理(生成)机制:Runtime库:il2cpp相关的工具库在unity安装目录下:D:\Program Files\Unity\Editor\Data\il2cpp对于一个工程通过配置生成选项生成的CPP文件的临时目录是:E:\Work\2019Q2\Unity\HotfixCalc\Temp\StagingArea\Il2Cpp\il2cppOut...

2019-07-14 20:42:15 12759 4

原创 某lua游戏简单分析

一、静态分析: framework_precompiled.zip是quick-cocos2d-x框架对lua中的API的拓展和封装,第一次了解lua手游,先粗略这么理解。在这个游戏中这个zip还没有进行保护,是可以正常进行解压的,对于交叉引用loadChunksFromZIP函数发现,没有解密函数的样子,再次说明没有进行保护,重点就关注在lua代码保护上。观察lua脚本...

2019-06-02 18:58:54 5879 1

原创 Lua学习(一):luac、luajit编译与反编译

最近开始学习对于lua代码的保护,先对基本的概念加以理解并进行记录;一、编译lua1.1 lua源码编译这些在Linux下的支持比较好,直接make就可以;第一种:下载mingw在Windows下面可以通过下载mingw,通过mingw软件,我们可以在windows上模拟出linux的环境;第二种:通过VSlualib工程:1)添加除了lua.c 和 luac...

2019-05-17 21:20:42 30146 1

原创 编译与代码安全之认识(二):Source2Source源码混淆方法

一、说明: 针对源码混淆其实在代码保护中应用很多,大部分是应用在像JS这种脚本语言中,因为很多时候JS是以源码的形式出现,网上有很多关于JS保护的工具,比较出名的是JSugly和javascript obfuscator。当然最近发现了一个做JS VM保护的,https://www.v2ex.com/t/552383#reply33,很感兴趣,之前研究过这种...

2019-05-15 20:21:36 1448 1

原创 一起学习LLVM(四):学习llvm-cbe

近来学习一下LLVM-cbe这个后端对于ir解析成c的一个框架,很有意思。github源码:https://github.com/buzhishishi/llvm-cbe一、安装注意事项:由于要编译C到ir的过程,所以要安装clang,这里注意由于后面要执行make llvm-cbe,要在llvm 下面的CmakeList.txt中添加这个任务: option (...

2019-05-15 12:21:04 1330 2

原创 安全开发注意事项总结

养成一个好的代码风格是多么的重要,但是自己还需要打磨:1.模块与模块之间功能独立,尽量少的之间不要有交互; 设置为一个基类;2.尽量不要设置全局变量,用成员变量来代替;3.开发的时候对于各个情况尽量多的考虑周全,减少后期qa测试再修改的时间的浪费;4.开发的时候注意性能消耗,相同的功能使用内存消耗少的方法;5.注意析构的时候对于引用的释放;注意:养成一个好的代码...

2019-05-12 15:31:24 561

原创 Android中常见的HOOK框架收集

Android中常见的各类Java HOOK框架,先收集起来,因为好多的基础原理差不多,后面有时间会归类以及对于原理进行重点分析。1.Xposed:Java层的HOOK框架,由于要修改Zgote进程,需要Root;2.CydiaSubstrator:本地层的HOOK框架,本质上是一个inline Hook3.dexposed框架:随着阿里的热修复的框架:原理上跟Xpo...

2019-04-27 19:23:31 15838 1

原创 Frida 学习(一)

Frida一个轻量级的HOOK 注入神器,能够满足我们对一切搞事情的要求:无论是内核插桩,还有到上层的HOOK ,以及演变的脱壳等等都可以使用,佩服国外这些大佬。在去看原理的时候,首先先体验一下效果:一.安装:1.PC端:保障自己电脑上Python以及pip环境;安装frida 模块以及frida-tools模块pip install fridapip install...

2019-04-13 17:26:17 3900 2

原创 Android反调试方法总结(二)

反调试防御网机制一、介绍:反调试对于逆向安全工作者再熟悉不过了,一般是配合壳的形式出现,我认为反调试在某些时候还是能起到一定作用的,特别是在Android应用程序的逆向过程中,由于其一Android动态调试建立过程相对于其他比较麻烦点,其二即使在通过一定的脚本可以过掉调试一半的前面的反调试,但是如果这种反调试本身是随机的且随着样本的不同是呈现多样性的,那么这种就起不到好的效果了。...

2019-04-12 09:48:14 2641

原创 360加固保Java2c加固分析

加固前:加固后:生成两个so文件:libjgdtc.so文件为官方dex2c以后的结果;libjiagu.so为dexVMP以后的so文件;运行结果:在android 4.4 5.0等会崩溃闪退;libjiagu.so为早先的dex Vmp 加固,之前分析过,忽略。接下来分析libjgdtc.so:静态分析看到:这里面的重点函数是sub_4DA0...

2019-04-08 16:11:31 5421 3

原创 arm64位编译出错:aarch64-linux-android/bin\ld: unrecognized option '--fix-cortex-a53-843419' 的解决方法

一、问题出现:在NDK R10C上利用一个改造过的安全编译器clang编译一个arm64位so:报错:无法识别GCC链接器中的unrecognized option '--fix-cortex-a53-843419',导致编译出错,但是在ndkR10e上没问题,同时用之前的NDK R10C本身自带的clang去编译也没有问题。二、解决问题:Google了好久,最后实在找不...

2019-03-27 21:19:49 14494

原创 一起学习LLVM(三)

学习LLVM常用的API操作常用的结构:---关于函数和指令以及block和指令的操作;引用的各自类型:---Dynamic casts---Instanceof-of casts修改CFG的几种方式---修改基本块或者指令一、Runtime type inference(RTTI)...

2019-03-25 20:11:58 1018

原创 一起学习LLVM(二)

一、llvm opt优化介绍:在学习LLVM的过程中可以看出:最重要的是优化这一块,包括平台无关的优化和平台相关的优化。平台相关的优化是涉及到后端中具体指令的生成,在这一块只是简单的来说明平台无关的优化:如下图所示为关于O1、O2、O3的优化选项:比如以下这个例子:不优化的时候直接生成对应的字节码:进行优化:1.寄存器优化./o...

2019-03-17 18:42:45 1234

原创 一起学习LLVM(一)

学习LLVM的源码目录:一、LLVM的周边项目:1.clang、llvm、clang-tools-extra、compiler-rt:clang+LLVM:clang是LLVM的前端,把各种源码编译处理;clang-tools-extra:clang默认以外的认为不是很重要的工具;Compiler-RT 项⽬为硬件不⽀持的低级功能提供特定的⽀持。例如,32位⽬标通常缺少...

2019-03-02 11:29:12 9987

原创 腾讯御安全加固保护简单分析

腾讯本身除了乐固安全以外还有一个叫御安全:官网:https://yaq.qq.com/强度分析:加固前后文件结构对比:字符串完全的暴漏,比较容易的进行定位: 从以上加固可以看出属于二代加固。...

2019-02-20 10:22:38 6057

原创 2019新的一年开始了

今天2019年02月18号,明天是农历的元宵节,好像从升入初中以来似乎对元宵节没有太大的概念,因为好像没在家里过过,亦或者父母不在,所以公司发的明天提前两个小时下班的邮件也毫无感觉,毫无一丁点兴奋,首先回想2018这一不平凡的一年,2018.07是自己此刻人生学业的终结点,带着很多的遗憾和不舍之情离开了校园,遗憾自己曾经对各种的不珍惜。结业中间所有的流程还算比较顺利,最后还莫名其妙...

2019-02-18 19:56:27 325

原创 聚安全libsgmain.so、libsgavmp.so初步分析

版本:libsgmainso-5.4.2010.so一、静态分析:1.IDA分析:Binary data 16 is incorrect, maximum possible value is 0. Do you want to continue with the new value?经过简单的修复以后可以打开:发现有这种JNI API函数的导出;并且别的导出函数名...

2019-02-15 15:28:52 8337 7

转载 用Golang来保护Java程序

#反编译带来的困扰对于一个开发给自己组织内部用的程序,我们是不怎么需要考虑程序被反编译的事情的,但是对于商业软件来说,这又显得有必要,毕竟国内软件行业的竞争还是非常的激烈,大家可以把竞争对手的程序搞过来反编译一下(至于怎么拿别人的程序我相信大家都已经很老手了),轻易的知道对手基于什么软件来做,或者能够比较容易知道实现原理,然后。。抄抄抄,换个名字,完事,一个全新的产品就出来了。对于 Java ...

2019-01-06 21:40:12 2064 6

原创 IDA出现不能进行F5,”F1EC:positive sp value has been found!!!!!“的解决方法

IDA出现不能进行F5,”F1EC:positive sp value has been found!!!!!“的解决方法一、在用IDA分析So文件,F5的时候经常会出现以上这种情况,这个时候可能是以下导致的:1.栈sp不平衡:比如360加固中的libjiagu.so中的虚拟机解释函数。首先打开栈指针选项,在options--------->General--------...

2018-12-24 20:36:22 6278

原创 几维KVM虚拟机分析(一)

由于虚拟机运行的runtime,几维混淆的实在是太凶了,可能是怕被人分析吧!在关键函数中出现有个cmp R0,5,感觉可能会影响后面程序的运行流程,因此关注运行的第五次结果。大量的伪造控制流使得分析起来的难度很大;由于控制流中大量的这种操作,简直分析起来太美妙。 接下来不知道做了什么操作:F7进去如下:这个函数为真正的Hand...

2018-12-23 13:11:11 509

原创 几维so文件加壳初步分析

这是早期分析的一点点几维中的so文件加壳,没分析完,好像也现在很少看到他们用了,也没时间看,以下是之前分析的:一、分析篇:首先看到核心的函数全部变成了以下这种形式:So加壳的话,首先定位到.init_proc这个导出函数中,去分析:通过静态分析可知道:加固完以后几个So文件的主要功能如下:libkwscr.so:主要是程序crash记录函数;libkwscmm.so:加...

2018-11-04 19:34:26 4026 3

原创 编译与代码安全之认识(一)

好久没有更新博客了,今天周末索性喝杯茶,静下心来把最近一段时间自己所理解和思考的关于软件代码保护的东西写下来。帮助所需之人,多有不对,望批评指正。正确的运用编译知识可以在我们代码保护中达到事半功倍的效果。 一提到编译,大家很多人觉得不就是词法分析、语法分析然后产生一个针对特定机器的文件。感觉这是一个很成熟,有规则,本身就是很有章法的东西,好像不需要我们本身去理会...

2018-11-04 13:45:13 890

原创 小密盾简单逆向分析

前几天出了个小密盾,针对插件加固的,好奇的简单分析了一下,写了个样本简单的加固了一下,以下是分析过程。小密盾简单逆向分析一:静态分析    静态分析发现,根据这些函数参数很多函数进行了加密,并且新加了几个节,接下来动态分析。二:动态分析由于JNI_Onload经过了加密,因此可以猜测在.init/.init_array处经过了加密处理,不需要仔细分析这些加密算法,在JNI_...

2018-05-21 21:06:52 3634 2

UPX加壳保护资料

Android so文件使用UPX加壳保护

2017-07-08

测试样本APK

360一代加固的APK

2017-05-25

Android 加载执行ELF可执行文件

Android 加载执行ELF可执行文件

2017-05-08

adbd最新版

2017-04-20

JAVA程序员面试宝典++第4版

JAVA程序员面试宝典++第4版

2017-03-17

对于反调试的研究一

反调试在代码保护中扮演着很重要的角色,虽然不能完全阻止攻击者,但是还是能加大攻击者的时间成本,一般与加壳结合使用,核心还是加壳部分。

2017-03-09

对于Android代码保护过后软件的评估

对于Android代码保护过后软件的评估

2016-10-26

apktool 最新版apktool2.2.1工具

apktool 最新版apktool2.2.1

2016-10-22

Android So动态调试之反jdb附加的解决大法

Android So动态调试之反jdb附加的解决大法

2016-10-06

Android So动态调试大法

Android So动态调试大法

2016-10-06

Android SO文件保护OLLVM混淆加固——混淆篇(二)

Android SO文件保护OLLVM混淆加固——混淆篇

2016-10-03

Android逆向调用so(一)

Android逆向调用so

2016-10-03

Android StudioJNI的静动态注册开发

Android StudioJNI的静动态注册开发

2016-10-01

Android Studio JNI 的静动态注册开发以及CC++ JNIEnv的理解

Android Studio JNI 的静动态注册开发以及CC++ JNIEnv的理解

2016-09-30

Android SO文件保护加固——混淆篇(一)源代码

Android SO文件保护加固——混淆篇

2016-09-26

so文件的保护

有源码的SO文件的自己定义section的加解密

2016-05-26

Android 情侣身高评测

Android 情侣身高评测

2016-05-18

Android JNI实例01

Android JNI实例01

2016-05-18

Android JNI应用实例02

Android JNI应用实例02

2016-05-16

Android JNI应用实例

Android JNI应用实例

2016-05-16

Android JNI实例

Android NDK开发实例以及NDK开发步骤讲解

2016-05-03

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除