- 博客(21)
- 资源 (2)
- 收藏
- 关注
原创 wx朋友圈Hook(一)
一、定位到关键代码第一次尝试首先想到使用adb shell dumpsys activity top代码获取朋友圈界面的Activity,com.tencent.mm/.plugin.sns.ui.SnsUploadUI,直接反编译微信得到源码第二次尝试然后发现代码实在太多,很难浏览,然后想到DDMS的轨迹追踪功能,我们录取一个发表朋友圈的轨迹,查找OnClick方法,果然找到一个OnMenuItemClick直接搜索这个方法无奈代码还是太多,感觉很难继续分析下去第三次尝试这里考虑
2020-10-01 14:10:46 2127 2
原创 某运动APP登录协议分析
因为一直忙于考试,很久没有学习了,今天随意分析了一个app就当是恢复训练了某APP登录协议分析一、抓包主要分析的是该APP的手机验证登录协议,首先启动Fillder开始抓包,打开该app,输入相关手机号和验证码抓到的包如下:POST https://api.gotokeep.com/account/v2/sms HTTP/1.1Content-Type: application/json; charset=UTF-8Content-Length: 163Host: api.gotoke.
2020-07-09 20:07:17 1388 3
原创 Android ptrace注入基础
一、Android ptrace注入基础1.可执行文件建立首先建立一个ELF可执行文件target,使用ndk-build进行编译需要先在任意地方建立一个jni,然后在jni目录下建立Android.mk,Application.mk,target.cAndroid.mk:LOCAL_PATH := $(call my-dir)include $(CLEAR_VARS)LOCAL_MODULE := targetLOCAL_SRC_FILES := target.cinclude
2020-06-13 22:06:47 1095
原创 (加密基础)TEA篇
TEA算法1.简介TEA算法全称微型加密算法(Tiny Encryption Algorithm)是一种简单容易实现的加密算法,通常只需要很少的代码就可以实现2.加密过程在加密过程中,需要使用2个32位的无符号整数,密钥为128位,四个32位无符号整数流程图:加密中一共有五个量参与运算,l(第一个明文),r(第二个明文),sum=0,delta给定一个定值,密钥key每一轮:sum+=delta;l += ((r << 4) + key[0]) ^ (r + sum) ^ ((
2020-06-04 21:54:15 3345
原创 (加密基础)RSA篇
RSA算法RSA是一种非对称加密算法,假如甲要和乙通讯,甲使用公钥 A 加密,将密文传递给乙,乙使用私钥 B 解密得到明文,其中公钥是在网络上进行传递的,私钥只有乙自己拥有,不在网络上传递,这样即使知道了公钥 A 也无法解密传输的信息RSA算法原理和python代码实现1.生成公私钥1.1给定两个质数P,Q这里的P,Q越大,该算法就会越安全,为了方便描述,这里给定P=67,Q=71,那么他们的乘积n=47571.2计算n的欧拉函数φ(n)根据欧拉函数的定义,φ(n)等于所有小于等于n的正整数中
2020-05-28 23:03:04 788
原创 攻防世界密码学新手区解题思路
1.base64直接使用工具解密base642.Caesar使用工具进行解密,发现偏移为123.Morse将1看成-,0看成.转化成小写4.混合编码首先base64解码:LzExOS8xMDEvMTA4L&a
2020-05-28 22:59:45 2661
原创 2020网鼎杯玄武组移动安全wp
ps:题目是别人发给我的,本人太菜没资格参加这个比赛vulcrack首先jadx打开,发现是一个壳程序libjiabu.so和包名这些很容易看出是一个360壳,这里采用最近各大论坛比较流行的frida-dexDump进行脱壳讲道理这题挺恶心人的,我用安卓模拟器打开的时候无法运行,感觉可能是该360壳存在模拟器检测,那么没办法只有使用真机进行操作,然鹅我的真机的比较辣鸡,启动frida经常报错,其中甚至考虑过手动脱壳,最后折腾半天终于完成脱壳。脱壳过程启动frida_server:cd /.
2020-05-27 19:55:00 528
原创 (加密基础)AES篇
AES加密AES算法原理和C语言实现AES加密算法图解AES算法原理:AES算法可以归纳为四种操作处理,分别为密钥加法层、字节代换层、行位移层、列混淆层标准的AES算法密钥和明文都是等长的,一共有128位,196位和256位三种长度,这里重点讲解128位的情况:128位(16个字节)的的明文会被处理成4X4的二维数组12345678910111213141516↓转化15913261014371115
2020-05-22 22:02:08 1069
原创 (加密基础)DES篇
本文章分析非常浅显,java代码写的不够细致,只考虑了标准的DES加密输出,并未将结果转化为hex或者base64输出,若有不当之处欢迎各位大佬指出DES加密DES加密是一种对称加密算法,被广泛应用与协议传输、本地数据加密、加密用户登录结果信息并序列化到本地磁盘一.C语言实现和原理解析说明:理论部分借鉴看雪密码学大佬:https://bbs.pediy.com/thread-25355...
2020-05-04 20:37:42 1073
原创 (加密基础)base64篇
base64篇base64严格意义说并不是一种加密方式,而是一种编码方式,标准的base64有很多的特征例如字符串中常常会看到"+“和”",在末尾也时常看到两个连续的"="1、原理:base64将每三个字节分成一组(24bit),再将这一组数据数据按照每6个bit进行切割,这样就切割出了4个小组,在将每个小组高位补0,凑齐8bit,在对应base64转化表,将其转化为新的编码。这里需要注意...
2020-04-30 20:46:46 582
原创 某动画app的签名验证学习
最近一直在折腾ollvm,结果折腾了几天一直编译不通过,持续踩坑中,只好暂时放在一边整点app分析分析该app为某动画app,我在看雪上看到有人分析过这个app:https://bbs.pediy.com/thread-258593.htm,感觉分析的不是很详细,就自己分析了一下,写了一篇分析过程目的:修改该app为永久会员首先打开apk看了一下:显然想要修改会员日期就需要找到该界...
2020-04-28 12:39:35 452
原创 安卓加固基础(三)
Xposed检测方法和绕过1.检查安装目录的是否有xposedinstallprivate static boolean findHookAppName(Context context) { PackageManager packageManager = context.getPackageManager(); List<ApplicationIn...
2020-04-26 22:19:42 459
原创 微信Xposed案例实战
一、Xposed环境配置和简单的demo一、新建项目二、配置相关文件a.配置activity_main.xml,这个只需要添加一个测试用的按钮即可b.配置MainActivity.java,同样只需要实现一个按钮事件即可重点来了:c.添加api-82.jar和api-82-sources.jar在libs目录下如图:这两个jar包,在https://bintray.com/r...
2020-04-06 22:51:35 1213
原创 Android native反调试检测及原理剖析
一、检测Android——server文件void check(){const char* Path="/data/local/tmp";dir =opendir(Path);int pid =getpid();if(dir!=NULL){ dirent *currentDir; while((currentDir=readdir(dir)!=NULL)){ ...
2020-04-06 22:36:08 708 1
翻译 Xposed框架官方文档翻译(一)
闲来无事翻译了一下Xposed框架的官方文档,希望对你们有帮助好的。你想要学习如何创造一个新的Xposed模块?那你就阅读一下这篇教程(或者我们可以称其为广泛的文章)同时学会如何解决它。这里不仅包含“创建文件和插入模块”的技术,还思考了其背后更深层次例如一些有意义的步骤,还有一些你真的需要理解你做的事和你为什么做这件事的含义。如果你感觉像“TL;DR”,你可以仅仅只看在本文末尾的源码,然后阅读...
2020-04-02 22:26:09 1561
原创 安卓加固基础(二)
4.反调试4.1 思路一(一个进程最多只能被一个进程ptrace)本文章主要针对安卓so反调试和最初的加壳方法进行了一下总结在处于调试状态时,Linux会向/proc/pid/status写入一些进程状态信息,比如TracerPid字段会写入调试进程的pid,因此我们可以自己ptrace自己,然后让android_server不能调试代码如下:#include<sys/ptra...
2020-03-21 13:35:23 1481
原创 浅析现代密码学和网络安全协议分析
一、对称加密算法1.特点加密密钥==解密密钥2,加密方法2.1流密码(1)同步流密码 指加密时每一次加密一位或一个字节的明文 同步性 无错误传递性 主动攻击性 音频/视频数据提供版权保护(2)自同步流密码 自同步流密码是一种有记忆变换的密码。每一个密钥与已产生的固定数量的密文位有关,*密钥由已生成的密文决定* 自同步行 错误传递有限性 主动攻击...
2020-03-03 15:19:54 761
原创 安卓加固基础
安卓加固基础(一)1.Dex字符串加密1.1 前序Android应用当中,很多隐私信息都是以字符串的形式存在的。这些隐私信息是明文,对于软件来说是想当不安全的,如果我们能在打包时对Dex中的字符串加密替换,并在运行时调用解密,这样就能够避免字符串明文存在于Dex中。虽然,无法完全避免被破解,但是加大了逆向提取信息的难度,安全性无疑提高了很多。1.2 字符串加密方法简介目前市面上主要存在两...
2020-02-19 15:40:52 1622 1
原创 安卓注册机
2016Tencent初赛Android移动端1.java层java层没有什么特殊的地方,so层返回一个参数为0,或1,执行Toast进入libCheckRegister.so2.so层分析发现so层是将name进行加密,并和pass非标准的base64解密后的结果进行比较,table为private static byte[] table = { 0x2B, 0x04, 0x7...
2019-12-18 13:12:43 682 2
转载 APK权限大全
记录了所有的apk权限访问登记属性 android.permission.ACCESS_CHECKIN_PROPERTIES ,读取或写入登记check-in数据库属性表的权限获取错略位置 android.permission.ACCESS_COARSE_LOCATION,通过WiFi或移动基站的方式获取用户错略的经纬度信息,定位精度大概误差在30~1500米获取精确位置 android...
2019-12-15 20:25:20 698 1
原创 pycharm实现简单的服务器搭建
使用pycharm实现简单的服务器搭建实现简单的服务器搭建实现html插入实现简单的服务器搭建使用pycharm创建一个flask项目新建成功后会有一个app.py在里面进行编辑// An highlighted blockfrom flask import Flaskapp = Flask(__name__)@app.route("/")def hello(): ...
2019-12-12 21:56:30 730
java_to_smali.bat
2020-04-26
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人