- 博客(58)
- 资源 (22)
- 收藏
- 关注
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 工具党如何干掉某讯手游的反修改器功能
游戏修改器(如GG修改器)可以实现很多变态功能,像无敌、倍攻、秒杀等,尤其是吃鸡类游戏,很多所谓的外挂其实就是使用修改器而已。本文介绍一种工具党干掉这种保护的方法。
2017-11-09 19:51:12
20966
9
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 Unity3d DLL脚本通用解密方法
网上已经有很多文章讲解过Unity3d脚本DLL 解密,基本方法原理都差不多,就是通过HOOK或者调试下断mono_image_open_from_data_with_name这个函数拿到解密后的DLL。这些方法都需要比较专业的知识(Hook或者过反调试),另外对于使用了强度比较高的第三方保护,也无能为力。下面我们来探讨一下更为通用简便的U3D脚本DLL解密方法。
2017-02-26 21:05:25
17769
7
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 改造 Cydia Substrate 框架用于函数内代码的HOOK
上一次分析了Cydia Substrate so hook 框架的实现,实际使用中,发现这样的框架并不能满足我的一些需求,比如我要知道一个函数内部某处代码的运行时的寄存器值,用原始的框架就无法做到。 想实现的功能是只要指定一个地址,就可以打印该处代码执行时的寄存器环境、HOOK的地址以及线程的TID,同时支持多个地址的添加。 先实现一个通用的消息打印函数
2014-12-24 13:36:59
4137
2
转载 C++ 用libcurl库进行http通讯网络编程
原文:https://www.cnblogs.com/moodlxs/archive/2012/10/15/2724318.html目录索引:一、LibCurl基本编程框架二、一些基本的函数三、curl_easy_setopt函数部分选项介绍四、curl_easy_perform 函数说明(error 状态码)五、libcurl使用的HTTP消息头六、获取http应答头信息...
2018-12-17 10:42:59
497
1
转载 将微信小程序(.wxapkg)解包及将包内内容还原为"编译"前的内容的"反编译"器
前言众所周知,“跳一跳”在前几个月很火,并且出现了包括通过规则匹配/机器学习得到关键点坐标后模拟点击和通过源码获知加密方式伪造请求等方法。后者提到了如何获取含有源码的程序包 wxapkg ,以及使其能够在微信开发者工具中具体步骤(见参考链接1)。 当时我在对其他微信小程序应用进行尝试的时候发现,他们不同于小游戏,解包后的文件并不能通过简单增改就直接在微信开发者工具中运行,于是对小程序源...
2018-11-30 14:51:27
8314
转载 WXAPKG 解包后如何提取页面逻辑?
前天小程序分发下载执行包,我也下载了一些,用来学习。按照我的规划,这部分的内容整体会分为4~5次推送完成,首先是配置的提取和页面逻辑的提取,这部分会比较快,很容易就能提取出来,也最先讲,其次是 WXSS 的提取,这部分是相对来说难一些,但是比页面结构提取还是要简单一些的,最后则会更新如何提取页面结构的部分。页面结构部分最终我可能会给出一个函数,通过执行这个函数,就可以提取小程序中的页面。话...
2018-11-30 09:53:12
2243
转载 突破https——https抓包
加密阶段学习了https原理,现在开始尝试破解,工具主要是burp suite, fiddler/charles与之类似。一些概念性的东西中间人攻击在中间人攻击中,攻击主机通常截断客户端和服务器的加密通信。攻击机以自己的证书替代服务器发给客户端的证书。通常,客户端不会验证该证书,直接接受该证书,从而建立起和攻击机的安全连接。这样,客户端发送的数据,都会被攻击机获取和解密。
2017-12-10 20:48:57
39065
2
转载 手游性能测试指南
随着手游3D类型游戏增多,对机器资源占用越发高,但用户手中硬件的提升是一个不可控且缓慢的过程,为了保证在尽量广泛的机型上流畅运行,提高游戏本身的潜在用户群体,所以手游客户端性能审核工作就越发重要,如何做客户端性能审核,如何快速,专业,准确的做客户端性能审核是我们需要重点关注、且持续建设的内容。
2017-12-04 15:20:12
5208
转载 android graphic(14)—EGL和OpenGL ES之间的关系
OpenGL是和编程语言、平台无关的一套interface ,主要是为了rendering 2D 和 3D图形等。一般这套接口是用来和GPU进行交互的,使用GPU进行rendering 硬件加速。 说白了OpenGL就是一组函数名,类似java中的interface,并不能直接用。
2017-12-04 15:14:41
1013
1
转载 超简单的il2cpp游戏修改教程
锁链战记3.0版本也是换上了il2cpp,所以刚好就用它来写一篇简单的il2cpp修改教程使用的是日服3.0.1版的锁链战记首先要使用一款工具:Il2CppDumper,暑假pokemon go火起来的时候国外出现了一堆U3D的修改工具,这就是其中之一。这里推荐使用这个增加了交互功能的版本,可以省的自己重新编译。至于这工具具体功能我就懒得介绍了,反正往下看就知道啦~。使用Il2
2017-10-10 13:56:19
14809
4
原创 对抗某讯手游保护解密U3D脚本DLL
上篇的Unity3d DLL通用解密方法分享后,有同学反馈说,某讯的手游使用烧饼修改器搜索内存会强制退出。去年看的时候还没有反修改器功能的,应该是后来有功能升级了。 针对这种反修改器搜索的情况,我们来研究个新的对抗方法。这个方法相比上一个稍微复杂一点,不过如果有一定逆向基础,也是比较浅显易懂的。 先思考一下他反修改器搜索的原理,必定是通过某个线程来检测修改器的,如果
2017-03-05 12:52:54
6988
转载 关于烧饼游戏修改器的分析
一、前言 烧饼游戏修改器是一款元老级的游戏修改器,提供了精确搜索、模糊搜索、联合搜索、数据过滤、存储搜索与读取搜索等功能。主要实现搜索手机进程的内存数据并做相应修改。 本文中分析的版本为2.0.2(34),SDK:8,TargetSDK:17,代码经过混淆,修改器基本使用方法为输入需要修改的数据进行查询,查询结果少则可直接修改,查询结果多则需要返回游戏,使想修改的数据发生变化后
2017-01-09 16:46:34
7527
3
转载 Java线程同步:synchronized锁住的是代码还是对象
在Java中,synchronized关键字是用来控制线程同步的,就是在多线程的环境下,控制synchronized代码段不被多个线程同时执行。synchronized既可以加在一段代码上,也可以加在方法上。关键是,不要认为给方法或者代码段加上synchronized就万事大吉,看下面一段代码:[java] view plain copy c
2016-11-15 12:16:50
666
原创 release AAR的导出及自动拷贝
一、release AAR的导出 当使用Make Module生成aar包的时候,build\outputs\aar下面生成的总是XXX-debug.aar,而我们需要的是XXX-release.aar.网上搜索到办法都是使用命令行的gradle来实现,但是这样个实在是比较麻烦. 偶然间发现一个更为简便的方法来生成. 首先红框里的Gradle,把Gradle
2016-10-27 19:46:00
3759
2
转载 Android smalidea无源码调试
Android smalidea无源码调试已有功能语法高亮/错误提示字节码级别调试断点单步调试寄存器查看本地窗口 java 语法支持,debug 模式下同样支持支持跳转,方便追踪变量/函数/类.(Xref也支持)查找用法重命名从 java 代码引用 smali 类安装下载插件smalidea进入IntelliJ IDEA/Android Studio
2016-09-07 17:00:54
5432
原创 Android最新 代号、版本和API Levels对应关系
官方的7.0还没更新,我先把7.0的加上去Platform Codenames, Versions, API Levels, and NDK ReleasesThe code names match the following version numbers, along with API levels and NDK releases provided for convenien
2016-08-10 11:57:23
3286
转载 Android刷真机nexus5系统
前面的几篇文章把源码编译完成了,现在该刷system.img到nexus5中,为了保险期间我们先刷机官方Rom,然后再刷自己编译的镜像文件,bootloader-hammerhead-hhz12h.img这个驱动很重要啊!1、官方镜像文件地址是:https://developers.google.com/android/nexus/images#hammerhead文章用到的官方R
2016-08-09 17:16:07
2110
原创 有没有简单可行的办法在AAR里集成导入的AAR
现在的SDK基本上都会封装成AAR来发布,但是有个问题,如果你的AAR还引用了其它的AAR,导出的时候并不会自动把引用的AAR也集成进去,别人使用你的AAR的时候,还需要再把你引用的AAR再导入一次。 如果你的SDK再供给其它SDK,这种集成问题就比较蛋疼了。有没有办法把引用的AAR集成到你的AAR里呢。 有一个比较繁琐的办法,就是把aar包解压,aar里面
2016-07-04 10:50:39
2937
原创 Android多用户模式的特性
虽说Android在4.2就开始支持多用户了,但是我手头上4.2系统的手机,并没有找到新用户创建的菜单。只好拿6.0系统的nexus5来做测试了。 一、手机状态信息不一样 Owner用户
2016-05-23 19:00:12
8912
转载 How to retrieve the Device Unique ID from android device
About This ArticleMany of the developers in Android require the unique Device ID of mobile handsets in special some case.for example, Device unique ID can be used , at tracking apps installati
2016-04-26 13:49:12
1814
原创 某梆企业版加固脱壳及抽代码还原方法
某梆加固企业版还是会调用系统的dvmDexFileOpenPartial 接口,因此可以这里添加hook 51df6008-52cd50__unpackedDex.dmp即是dump出来的dex,拖到jeb里,可以看到这些函数都是空的 汇编显示,大片的指令都为nop,这些指令都被抽掉了,执行之前才会还
2016-04-15 19:59:39
20738
2
转载 深入理解Android(二):Java虚拟机Dalvik
编者按:随着移动设备硬件能力的提升,Android系统开放的特质开始显现,各种开发的奇技淫巧、黑科技不断涌现,InfoQ特联合《深入理解Android》系列图书作者邓凡平,开设深入理解Android专栏,探索Android从框架到应用开发的奥秘。一、背景这个选题很大,但并不是一开始就有这么高大上的追求。最初之时,只是源于对Xposed的好奇。Xposed几乎是定制ROM的神器软件技
2016-03-23 19:30:33
2265
转载 Android安全–从defineClassNative看类的加载过程
前面一篇文章中讲到Dex的加载过程,其中涉及到的结构体有:struct DexOrJar { char* fileName; bool isDex; bool okayToFree; RawDexFile* pRawDexFile; JarFile*
2016-03-17 17:51:23
3928
原创 12306 2.2版本SO的分析和修复
老早写的,现在已经2.3版本了,把这个放出来,这个方法要比之前的简单很多。 12306的so加载顺序是先libDexHelper.so后libcheckcode.so 一、修复libDexHelper.so 我们先把libDexHelper.so dump出来,并修复,修复后的IDA分析结果如下图:libDexHelper.so修复好后,备
2016-03-15 20:09:20
5773
3
转载 uleb128、sleb128和uleb128p1编码格式介绍
在程序中,一般使用32位比特位来表示一个整型的数值。不过,一般能够使用到的整数值都不会太大,使用32比特位来表示就有点太浪费了。对于普通计算机来说,这没什么问题,毕竟存储空间那么大。但是,对于移动设备来说,存储空间和内存空间都非常宝贵,不能浪费,能省就省。Android的Dalvik虚拟机中,就使用了uleb128(Unsigned Little Endian Base 128)、uleb
2016-03-08 14:17:32
1674
转载 Dex文件格式
Dex文件格式Google虽然借鉴了Java的上层设计,但是虚拟机使用的是自己设计的Dalvik,Dalvik虚拟机读取、解释的文件是DEX文件。虽然在Android 4.0开始,开始引入类似C#的二次编译技术(Android自称ART),Android 5.0已经完全放弃Dalvik虚拟机(所以源码里已经没有Dalvik设计文档了),但是,二次编译技术是安装apk时候的事,我们用
2016-03-08 11:29:05
1947
原创 如何无keystore获取apk的签名信息
由于分析破解需要获取使用testkey签名的apk的sha1,很多网上的教程都是从keystore来获取,虽然可以从pk8.pem转在keystore,但是比较麻烦,后来找到一个这样的方法可以实现 把apk用zip打开,把META-INF目录下的rsa后缀名的文件解压出来,命名为cert.rsa,这个文件其实就是签名的公钥,执行如下命令 keytool -print
2016-02-26 10:05:41
2091
转载 为Nexus5编译Android L固件
为Nexus5编译AndroidL固件Android接前一篇文章使用Android Studio查看Android Lollipop源码, 我们知道,仅仅看代码,提高是比较有限的,而且理解起来也比较肤浅,往往过目就忘. 而自己写过的代码,往往会印象比较深刻,在写的时候也会比较容易理解流程. 所以我们在看代码的同时, 如果能修改代码, 在手机上跑起来并看到修改
2016-01-21 10:12:11
2365
原创 阿里系UTDID库生成唯一性ID分析
在重构某个apk的时候,偶然发现了友盟在使用一个叫utdid的库,感觉是生成UUID用的,刚好对UUID的生成逻辑比较感兴趣,就有了下文。 一、utdid实现过程分析 publicstatic String getUtdid(Context arg2)是utdid库对外调用的接口, 在com.ta.utdid2.device.UTDevice类里 具体代码
2016-01-20 17:42:31
41984
4
转载 Android签名与认证原理
一、Android签名概述我们已经知道的是:Android对每一个Apk文件都会进行签名,在Apk文件安装时,系统会对其签名信息进行比对,判断程序的完整性,从而决定该Apk文件是否可以安装,在一定程度上达到安全的目的。给定一个Apk文件,解压,可以看到一个META-INFO文件夹,在该文件夹下有三个文件:分别为MANIFEST.MF、CERT.SF和CERT.RSA。这三个文件分别
2015-12-22 11:17:02
3826
原创 java.lang.UnsatisfiedLinkError低概率出错解决方案
Android的so加载函数 System.loadLibrary并不可靠,会有低概率情况出现java.lang.UnsatisfiedLinkError错误,概率低于万分之一。CRASH类似:java.lang.UnsatisfiedLinkError:Couldn't load XXX from loader dalvik.system.PathClassLoader[DexPathLis
2015-12-17 11:34:06
1690
原创 12306之梆梆加固libsecexe.so的脱壳及修复
12306使用提梆梆企业VIP版本的加固,跟其它梆梆加固一样,都会用到libsecexe.so来做dex的加载,本文对此so做一个脱壳的分析(一)、so脱壳此so的最先执行点在init_procinit_func负责对so进行解密解密后,可以看到如下字符串在IDA里找到相关的位置,可以看到如下代码:解密函数即红框的位置。hook该函数,让其打印出
2015-12-04 16:35:16
12555
1
转载 从Android运行时出发,打造我们的脱壳神器
0x00 前言之前对Android的两个运行时的源码做了一些研究,又加上如火如荼的Android加固服务的兴起,便产生了打造一个用于脱壳的运行时,于是便有了DexHunter的诞生(源码:https://github.com/zyq8709/DexHunter/)。今天,我就通过这篇小文聊聊我的一些简单的思路,供大家参考和讨论。0x02 相关机制首先,先来看一看An
2015-11-30 13:56:32
2301
转载 APK加固之类抽取分析与修复
测试环境与工具手机系统: 华为U9508 android 4.2.2IDA Pro 6.8AndroidKiller 1.2高手不要见笑,仅供小菜玩乐,有不对或不足的地方还请多多指教,不胜感激!0x00 简单介绍 目前我己知的APK加固主要有以下两种方式(或有其它的方式有待发现)隐藏dex文件:通过对目标DEX文件进行整体加密或压缩方式把整个dex转换
2015-11-27 18:01:03
5453
转载 安卓 dex 通用脱壳技术研究
注:以下4篇博文中,部分图片引用自DexHunter作者zyqqyz在slide.pptx中的图片,版本归原作者所有;0x01 背景介绍安卓 APP 的保护一般分为下列几个方面:JAVA/C代码混淆dex文件加壳.so文件加壳反动态调试技术其中混淆和加壳是为了防止对应用的静态分析;代码混淆会增加攻击者的时间成本,
2015-11-27 17:57:11
4159
原创 360加固之libjiagu.so dump修复
一、elfheader修复dump出来的内存如下图所示,elf header结构有缺失下面是正常elf头的对比图下面是010editor对正常elf header的解析 由上图可知,dump出来的elf header除了e_phoff、e_phentsize、e_phum三个值,其它都为0。 不过这里缺失的,除了e_shoff, e_shnum, e_sh
2015-11-20 13:49:41
13841
原创 360加固之libjiagu.so脱壳及dex dump
360加固后的apk,在arm设备上首先会将assets目录下的libjiagu.so拷贝到files目录下,然后通过libjiagu.so动态加载原始dex libjiagu.so的init_proc和init_array都无实质功能,真正的解密放在JNI_OnLoad里面 JNI_OnLoad函数里有非常多的垃圾跳转指令干扰分析,后面还会
2015-11-17 13:57:07
29175
11
原创 让APK只包含指定的ABI
现在很多android第三方 sdk是以aar形式提供的,如果这个sdk对abi的支持比较全,可能会包含armeabi, armeabi-v7a,x86, arm64-v8a,x86_64五种abi,而你应用的其它so只支持armeabi,armeabi-v7a,x86三种,直接引用sdk的aar,会自动编译出支持5种abi的包。 但是你应用的其它so缺少对其它两种abi的支持,那
2015-10-21 19:09:51
37673
5
原创 Android 6.0敏感权限新特性及使用方法
最近更新android sdk后,使用android studio使用blank activity创建一个demo工程,调用某个sdk,发现之前测试都正常的sdk发生了crash,经过排查发现6.0的权限使用问题 在android 22 之前,如果在权限列表里申请了权限,只要用户安装,就具有了这些权限,到6.0下面就不一样了,如果把targetSdkVersion设为23,会出现
2015-10-15 13:08:16
14739
1
转载 Android smail变量对照表
从别人的一篇文章里拿扣的,放这里备查原始类型V void (只能用于返回值类型) Z boolean B byte S short C char I int J long F float D Double 对象类型Lpackage/name/ObjectName; 相当于java中的package.name.ObjectName L 表示这是一个对象类型
2015-10-10 15:41:28
1900
winrar5.2 64位包含key zip包
2018-10-08
VisualStudioUninstaller vs卸载工具
2018-03-17
VisualGDB 5.3r7 破解
2018-03-01
winrar5.2 64位包含key
2017-09-12
抢红包神器免费VIP版40.8.52版本
2017-03-04
VisualGDB 5.2r8 破解
2017-02-13
Nexus Root Toolkit v2.1.6
2016-08-10
抢红包神器免费VIP版40.6.92版本
2016-04-05
HAXM installer 5.5
2015-10-12
Android端不通过登录SDK实现QQ登录验证代码
2015-08-09
adbd Insecure 2.0
2015-01-07
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人