- 博客(44)
- 资源 (3)
- 收藏
- 关注

原创 非常好用的Android/iOS下免ROOT/越狱网络抓包方案
在Android/iOS下进行抓包,往往考虑提权使用tcpdump、fiddle等工具走wifi代理或者开热点在热点上进行抓包…这些方案执行起来搭建环境或者成本都较高。推荐一款APP支持Android/iOS抓包,APP本身除了抓包,是提供网络模拟的功能,用于测试。下载地址:Android:https://android.myapp.com/myapp/detail.htm?apkName=com.tencent.qnet&info=F6E0352A73E160B0F936C1C51390A1
2020-12-31 15:49:59
2101

原创 爬虫抓取谷歌翻译接口(支持最新协议)
近期好像google翻译的接口做了更新,导致原来一直使用的https://github.com/ssut/py-googletrans库失效了。不过网上大神比较多,马上就有新的库出来支持了:https://github.com/lushan88a/google_trans_new
2020-11-20 09:19:17
2180
9

原创 Webpy使用记录--http、https、mysql数据库
初始化启动urls = ( '/api/1','Obj1', '/api/2','Obj2',)app = web.application(urls, globals())app.run()class Obj1: def GET(): return "" def POST(): return ""/api/1,/ap...
2020-04-30 10:55:55
410

原创 Android应用中捕捉所有点击事件实现
一、思路(1)获取Activity对象;(2)遍历所有子控件;(3)注册点击事件。二、实现(1)获取Activity对象activity对象的获取可以考虑多个方面,从两个方面进行选择:①获取当前运行的activity对象 @TargetApi(Build.VERSION_CODES.KITKAT) public static Activity getRunningAc...
2019-11-18 14:33:13
2466
3

原创 Android Q SEAndroid 执行可执行文件提示权限不足
一、问题描述部分APP调用exec执行应用私有目录和files目录下可执行文件提示权限不足。二、问题分析1、对比可以执行的APP和不可以执行的APP的区别应用可执行的情况:应用不可执行的情况:2、android Q权限机制变更的说明3、捕获异常分析捕获到一条关键LOG:E SELinux : avc: denied { execute_no_trans} forcom...
2019-08-28 12:25:09
4480

原创 网鼎2018CTF第四场 _Crypto
0x0 shenyue 理清代码流程,按照给的注册流程跑一遍==== administration console ====1. sign up2. log in3. private key generation-1. command execution> 1id: 123pw: 123successfully registered> 2id: 123pw:...
2018-08-30 18:53:42
1999

原创 Mono源码编译遇到的坑点
按照此文搭建的环境: https://blog.youkuaiyun.com/android_machong/article/details/777717671、ndk-build加入系统环境 文章没有说完整,加入系统环境变量的方式比较多,可以自行百度。2、注意NDK的版本以及对应系统 ①是将windows下的ndk直接复制使用,发现有问题,定位到一处路径不对,对应的是windows的,还是需要...
2018-07-02 16:42:09
1231

原创 Android中GOT表HOOK手动实现续
上篇实现了GOT表的手动HOOK,这里需要说明一下,GOT表其实包含了导入表和导出表,导出表指将当前动态库的一些函数符号保留,供外部调用,之前针对HOOK的就是这种类型的函数。而针对导入表,这样的做法显然不行的,导入表中的函数实际是在该动态库中调用外部的导出函数。导入表在对应在动态链接段.got.plt(DT_PLTGOT)指向处,但是每项的详细是和GOT表中的表项对应的,因此,在解析动态链接段时,
2017-11-29 19:05:59
1386

原创 Android中GOT表HOOK手动实现
网上对于Android中各种HOOK的实现都有很多的介绍了,之前看懂了原理相关的东西,一直没有去尝试手动实现,最近刚好想起就手动实现了一下,简单尝试记录下实现过程以及坑点。如何理解HOOK? 我理解的HOOK就是去动态的修改代码段中相关跳转地址或者指令,执行我们的代码,然后跳转回去接着执行。那既然这样,肯定要保证动态修改的操作先于该函数被执行,因此一般会将HOOK代码放在比较靠前被执行的地方,如i
2017-11-17 19:15:42
4930
2

原创 DotNet版本PE文件结构梳理
.Net版本PE文件结构,其实是在原始PE文件结构中套入了一层CLI文件结构 外层PE文件结构: 比较关注的点是在NT头-可选头部,有一个DataDirector数据结构数组,每一项包含一个虚拟地址以及大小,第十五项(下标从1开始啊)对应就是CLI头部的起始地址和大小,在010 Editor中可以解析到此处: 跳转到CLI头部,头部比较关心的点是MetaData,它也是DataDirector
2017-11-15 10:24:05
2108

原创 Android中模拟点击软件的实现原理探究
简介按键触摸类模拟点击软件最早开始于PC时代,指的是可以通过设置、脚本控制等方式去实现模拟点击,解放双手,达到自动化操作的目的。在Android中,模拟点击对应的就是触发屏幕点击事件,多用于游戏中完成自动化操作、应用中抢红包等操作,随着现在的技术更新,一些模拟点击实现的方式也开始使用了一些特殊的技巧。从触屏到执行首先看一个完整点击操作背后的流程(图1来自网络): 图1 屏幕点击完整流程从用
2017-08-21 14:29:04
14337
3
原创 Ubuntu16系统Android6.0编译实战(解决OPENJDK7安装问题)
安装VMware先安装VMware16.0提示:failed to install USB inf file 和 failed to install the hcmon driver换成15.0版本成功AOSP环境及系统源码下载主要参考:https://source.android.google.cn/setup/downloading?hl=zh-cn下载对应6.0分支源码执行下载命令:repo init -u https://android.googlesource.com/platfo
2021-11-04 09:57:51
487
原创 android私有目录直接读取
一、说明Android应用或游戏在数据持久化时,一般会将文件写入到sdcard或者私有目录files目录下,也可以直接在私有目录下新建文件夹进行存入。如:/storage/emulated/0/Android/data/[package name]//storage/emulated/0/Android/data/[package name]/files//data/user/0/[pa...
2019-10-24 09:42:00
3484
原创 python模拟实现A*寻路算法
一、简介亮点之间寻找最短路径,同时要考虑到存在障碍物遮挡到情况。二、具体说明说明可以参考下面的链接,对A*算法实现的描述。三、具体实现1、实现功能2、寻路具体流程3、关于F值f = g + hg表示当前移动到下一个点的消耗,平移为1,斜移动为 sqrt((x1-x2)**2 +(y1-y2)**2);h表示当前移动到终点的消耗,不考虑斜移,不考虑障碍物具体原理请查看下面的...
2019-09-03 08:56:24
7995
6
原创 手游外挂入侵(三)外挂接口服务提供
简介手游市场的发展增大,用户增多,寻求外挂的玩家用户增大,外挂市场也意识到外挂开发者在大量的涌进,绝大多数开发者有着编程的基础,都能够写点脚本开发外挂,那么商人们就开始着手底层,通过找寻到的“专业人士”开发底层框架,提供接口供上层开发者调用,把逻辑的实现交给他们。 遇到了一个框架类定制的外挂,外挂作者通过该框架实现了一套自动化点击的脚本,完全无需人工进行操作。这类方式的实现,将底层深...
2018-07-02 18:17:13
10332
4
原创 MyCrackMe(二)ExecuteTable题目设计与破解思路
0x00 题目类型: Android的CrackMe(ExecuteTable.apk,签名: 38e1ec0e)0x01 题目设计 将serial加密成一串字符串,与已保存字符串比较得到结果,需要分析加密算法,然后根据加密算法写出解密算法;题目中采用的加解密算法不需要太多的分析便能理清流程,关键点在于理清楚加解密的流程,涉及的相关功能点:(1)GOT表Hook了JNI_OnLoad,...
2018-06-26 16:43:58
315
原创 MyCrackMe(一)ExecuteTable
参加看雪CTF2018出的一道题目,比赛后放出write up。 题目下载地址: https://github.com/Rorschach123/RorschachCrackMe/blob/master/com.rorschach.executetable.apk比赛链接: https://ctf.pediy.com/game-fight-59.htm...
2018-06-24 16:59:22
381
原创 旅行青蛙——手游破解究竟需要多少成本
简介本文介绍最近比较火的一款小游戏(其实已经热过了)旅行青蛙,透过它来看看一款U3D游戏被破解究竟需要掌握哪些知识。游戏介绍旅行青蛙是最近一段时间比较火的一款Unity制作的休闲小游戏,游戏没有任何安全保护措施,简单使用工具就能破解完成。在破解者面前,没有保护的游戏,就像一个没有上锁的柜子,毫不费力即可打开。工具破解1、 提取资源; 2、 使用加速器加速游戏进程; ...
2018-03-30 19:38:19
1715
原创 DotNet版本PE文件结构梳理续--制作010模板解析
在针对DotNet版本的PE文件解析时,使用CFF Explorer已经能够很好的解析出完整的文件结构。这里我是基于便于对一些数据进行修改和修复,基于exe的模板,制作了一个简单的解析模板,只解析到了方法层面的数据,对于我目前来说足够了,需要完整的一些解析信息可以使用CFF或者在此基础上做更改。现附上模板下载地址: https://github.com/Rorschach123/010_Do...
2018-03-15 19:22:28
470
原创 某鹅手游保护简略
写在开始相比于某密的,某鹅的手游保护明显上了一个层级,但是笔者在分析的过程中,发现了还是有较多地方的改进。 注意,本文是基于17年初的版本进行分析。功能测试功能强大了很多,包含了ptrace所有线程、三进程保护、字符串加密、文件校验、DLL动态解密、mono动态解密、反修改器、反加速器、反暂停等等…可以看出,功能挺实用的…不过,功能覆盖挺全面,但在涉及上有很多点有逻辑问题,以及有些保护功能反而能加
2018-02-12 11:29:29
1571
4
原创 某密手游保护简略
简单分析了下某密针对手游推出的保护功能,看看强度如何。功能测试:简单测试了下,这款游戏是U3D的,对DLL做了静态加密,对常见的修改器、加速器做了检测,有多进程保护阻止了暂停、调试等功能。详细分析:DLL加密 关键DLL做了整体加密,在动态运行时进行解密,但是加密的强度真的需要吐槽下,并且没有对mono动态库做任何处理,导致很容易找到解密代码,而且加密的算法一眼看出来就是差不多字节映射查表就能解决
2018-02-07 19:40:58
1198
1
原创 手游外挂入侵(二)can u catch me
简介GameGuardian,这是目前看到功能最全的手游外挂,而且通过一些手段隐藏了自身的特征,无论行为检测或者特征检测,它都有措施进行绕过。外挂功能上涵盖了加速、修改内存、搜索内存等等功能,对抗保护上有利用测试框架重新安装修改包名、使用系统签名绕过签名检测、注入父进程进行ptrace绕过等。自身保护先看看它的自身保护,它集成的自身保护的特点主要是绕过一些特征和行为的检测,阻止一些检测手段使外挂失效
2018-01-02 16:12:38
6881
1
原创 手游外挂入侵(一)某助手加速器实现原理探究
- 简介下载ghzs商店,搜索相应游戏即可下载,下载后安装运行,游戏中就会多出一个加速工具助手。实现过程探究打开游戏包查看发现dex中加入了com.gh.XXX相关的类,应该是将Dex重打包,加入了他们的SDK代码,然后他们SDK会加载cydia substrate框架的inline hook动态库和根据游戏定制的加速器动态库。原理分析① Inline hook libmono.so中的两个方法
2017-12-21 20:04:47
15083
6
原创 Mono源码阅读--加载文件
Mono是微软提供了实现.Net框架跨平台的项目,Unity3D中使用C#脚本进行开发就是基于Mono的。注意:本文阅读的Mono源码版本对应为3.8.0。提到U3D中使用Mono加载DLL,不得不说到的一个函数就是mono_image_open_from_data_with_name,因为该函数作为DLL加载必须经过的流程,可以很好地被用来对DLL进行解密的操作,目前市面上很多针对DLL文件的保护
2017-11-11 17:49:47
2546
原创 一次伪造HTTP请求包刷票的经历
前段时间收到一个消息说帮忙给某某某投票的活动,打开发现是一个页面,点击按钮后进行投票,每天都可以投票,最后统计投票总数。怀着学术交流、友好和谐的心态(·_·),简单的抓了下包,看了下协议请求。发现请求头大概长这样:GET /xxxx?xxx1=xxx&xxx2=xxx&xxx3=xxx&id=xxx&sign=xxxx HTTP/1.1HOST: XXX.XXXX.comConnection:
2017-10-23 13:16:26
3618
3
原创 Android双进程保护实现的思考及过程说明
采用双进程的方式,对父进程进行守护,基于信号的发送和接收,实现相互的守护防止被动态攻击。双进程进程守护主要功能: 1、守护父进程,ptrace所有线程,防止被附加、调试、暂停; 2、保护子进程,防止被暂停、异常退出;对应说明图: 不足之处与修补思考: 子进程未被ptrace,可以通过向子进程注入并ptrace PTRACE_DETACH实现解除反附加改进: 减少对主进程其中一个线程的附加,
2017-10-16 12:31:43
1571
原创 LZMA压缩库使用记录
使用原因: 使用py2,.7版本,对应有pylzma支持库,但是发现支持库对于参数设置好像不是很全面,如字典大小支持范围较小,于是重新下载自己编译调用7Z包含的算法有: LZMA 改良与优化后的 LZ77 算法 LZMA2 改良的 LZMA 算法 PPMD 基于 Dmitry Shkarin 的 PPMdH 算法 BCJ 32 位 x86 可执行文件转换程序 BCJ2
2017-10-09 19:08:43
3324
原创 Android 执行JAR包
简单几步操作在android中执行jar工程中新建New Module 选择Android Library 在模块对应java路径下添加类,然后make module,生成aar文件 解压aar得到jar包,注意该jar包还是java字节码的,需要转换下,通过Sdk\build-tools\XXXXXX\dx.bat命令,转换为android可用的jar包 将jar包push到手机执行执行j
2017-09-15 20:01:00
5987
1
原创 有趣的安全游戏--哈密顿行动(四)突破程序的锁
第四题据说已经加强了终于来了道逆向题····虽然是PE的,好吧,还是不擅长题目信息: 题目啥都没说,就是一道注册类题,不过难度不大先开始用IDA分析,看着真蛋疼,搜了一些函数符号,发现是VB的(起始图标很明显了)下了个VB的分析工具,VB Decompiler,反汇编查看 可以好好看看这个校验函数,结合IDA可以动态调试,会用OD的应该更简单。整个过程有三处做校验,分别对应为用户名校验、密码加密
2017-09-12 20:49:51
1641
原创 有趣的安全游戏--哈密顿行动(三)加密的文件
这题关键就是提示 下载文件查看后缀是.ini,千万别看文件名,容易走上歧路。 搜索相关文件格式介绍(http://blog.youkuaiyun.com/laoyang360/article/details/46764715)看了眼文件内容,从第一个字节若匹配’[‘的话,则需要异或或者减去0x10,尝试下,写出解密代码import os,sysfp = open("ODBC.ini","rb")s = fp
2017-09-11 18:49:28
908
原创 有趣的安全游戏--哈密顿行动(二)不该存在的配置文件
查看第二题,还有个提示猜测这题如提示描述一般就是构造HTTP报文,获取到sm.dat文件,然后查看cuteftp软件和这个文件的关系。访问页面提示需要特定的浏览器、系统以及渠道,抓个包看看 红框内的就是需要构造的信息,用python实现一个:# -*- coding: cp936 -*-import urllib2,sysurl = "http://game6.iok.la/Other/Lev
2017-09-11 14:21:35
1593
原创 有趣的安全游戏--哈密顿行动(一)神秘的网页
高高兴兴注册成功后,进来第一题就是一个输入密码的页面 点开查看源码后发现主要逻辑集中在js中,我看到的第一眼简单,随便写了个解密脚本运行得到ORAFEBETLFAEBERFETOLLLRAF然后提交结果显示wrong 难道JS还有隐藏语法这一说?后来才发现下面还有代码 对于这种我果断选择了忽略,那怎么解题呢?想到一种做法,直接将网页源码复制,然后在网页中插入显示密码,如 运行我的网页,得
2017-09-11 10:28:51
1530
原创 有趣的安全游戏--哈密顿行动(零)图灵测试
看到论坛里有人发了一个叫做哈密顿行动的安全游戏,点进去看了下是一个安全类体验游戏,链接地址:http://game6.iok.la/reg.asp带着好玩的心态进去开始玩耍第零关:注册成为会员前面大篇幅的废话....从这里开始,是注册题目。大意就是输入两串数,输出计算结果分析规律,发现里面涉及了异或和比较两种计算方法得到结果,贴下解密的代
2017-09-11 09:57:36
2501
原创 Android 系统调用实现函数功能--SVC指令的实现与检测
0x0 简述: arm android中通过一些反编译的工具分析ELF文件时,根据一些导入的系统函数可以很轻松的找到一些功能代码的实现:查看libc中分析这些函数的实现: arm中通过SVC指令实现的系统调用因此利用这一点应用中加入了类似的实现操作,隐蔽掉调用系统函数的符号,增加分析难度: 0x1 实现: 以getpid为例修改调用方式,获取pid原本通过系统API getpid获取,修
2017-07-31 14:09:47
8287
2
原创 Android 7.0 dlopen的不同
在逆向分析某代码时,get到一处有点差异的地方。开始觉得很奇怪,判断了dlopen返回值最后一位,若为1则知道版本7.0以后,查看源码分析后才知,7.0之后dlopen代码做了一些改动,而该判断是否为7.0前后版本依据为如下源码: 为什么要这样做呢,主要是7.0开始不再允许获取soinfo对象,贴一下大概流程以及依据: 6.0: dlopen -> dlopen_ext:返回soinfo* r
2017-07-17 18:51:53
6514
原创 Dex文件格式扫描器:特征API的检测和扫描(小工具一枚)
之前由于工作需求,会分析大量APP的某些特殊API,对特殊API分析每次都需要打开JEB->查找特定API->分析流程….无奈APP是无穷的,而精力是有限的。于是发挥了人类最本能的天性——偷懒,既然想偷懒了,就让计算机帮助分析,于是写了个小工具来做上面的需求。其实不外乎就是对Dex文件格式的解析,然后根据API特征进行扫描,把调用的类和方法输出,接下来就会针对输出的信息,在逐个分析利用。既然是解析刚
2017-03-13 17:22:04
3050
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人