自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(52)
  • 资源 (2)
  • 收藏
  • 关注

原创 硬核java hook(直接改jdk)

这个就是最终的流程了,优势就是不改java逻辑,java程序无法感知应该。

2023-09-24 10:58:40 153

原创 内网编译strace支持堆栈展示

上网搜了个专门的libunwind-devel库,编译完安装后系统目录多了个libunwind-ptrace.a,是个静态库,还是没用,后来看到这个libunwind-devel就是来源于libunwind,就直接在我们编译好的libunwind文件夹中搜索,果然有一个libunwind-ptrace.so,直接将他拖到系统目录下,执行成功!直接使用公司环境的strace不支持 -k选项,这样知道应用调用了什么系统调用,但是也不知道在哪里调用的,不方便。想要支持-k选项需要自己编译。

2023-04-07 15:39:13 524

原创 简单linux 下 x64任意地址的inlinehook

相对主流工具frida,更加快速的inlinehook,代码简单,可以针对性进行修改

2023-03-25 21:20:43 1137 2

原创 ios 安装 ssl-kill-switch2流程

1.到https://github.com/nabla-c0d3/ssl-kill-switch2/releases下载2.然后scp传输:scp -P22 com.nablac0d3.sslkillswitch2_0.14.deb [email protected]:/tmp3.然后安装:dpkg -i com.nablac0d3.sslkillswitch2_0.14.deb4.安装失败,需要安装preferenceloader ,直接在cydia里面搜索安装即可5.打开设置,找...

2020-09-23 11:02:22 4696

原创 frida 工具 objection 小细节

打开objection:C:\Users\Administrator\Downloads>objection -g com.tencent.mobileqq exploreUsing USB device `AOSP on angler`Agent injected and responds ok! _ _ _ _ ___| |_|_|___ ...

2020-04-10 11:21:33 2887 1

原创 qq jcestruct 结构 python 解析

jcestruct就是类似于protobuff的序列化结构,qq主要就是使用的这个序列化结构,网上的资料比较少,都是Java的,我就写个python的解析吧。格式内容:ttlv结构,即tag,type,length,value三个内容。jcestruct的结构都是一个head,接一个内容。head结构通常head为一个字节,既包含type,还包含一个tag表示序号。一个he...

2020-02-10 10:37:00 3772 2

原创 明文数据解析方法大全

分析软件的时候,通常需要得到收发报文的明文数据,所以有了下面这篇文章。加解密原理:本文主要针对标准加密,即tls流量,非标准需要单独逆向分析其原理,如腾讯qq的tea算法,参见https://blog.csdn.net/liutianheng654/article/details/86641410tls是非对称加密,即公钥和密钥两个。当建立连接时流程如下: 大致就是客户端...

2020-01-15 15:51:27 2360 2

原创 检测调试器以及虚拟机方法汇总(不断更新,主要针对android)

第一类:环境监测类1)监测设备温度2)查看相应进程、文件、so(通过/proc/self/mmap)3)查看相应软件(virtualbox)4)监测当前内存(内存过低),系统(版本过低),sim卡信息,cpu核数太少5)当前电量(基本上不变)6)虚拟机无法处理的一些特殊指令7)查看环境(临时文件多不多)8)延迟执行第二类:监测调试行为1)...

2020-01-15 14:37:11 2126

原创 无源protobuf二进制流反序列化学习

最近分析软件的时候经常会遇到protobuf相关的数据结构,但是逆向的时候,没办法找到相关的proto文件,只能直接通过二进制流来找到相关含义,其实逆向正常也不需要那些,能够解析出数据就行了,数据名称无所谓。所以有了这篇文章。 首先找个protobuf的结构来看一下,这里就以微信发送文本消息为例:protobuf的二进制流格式是key :long:value的格...

2019-12-10 10:30:47 3142

原创 android 7.0之后导入证书解决fiddler等软件无法解析加密报文

背景7.0之后Android默认不相信用户自己安装的证书,需要程序自己实现是否相信用户证书。在此背景下,fiddler无法抓包https加密的报文,这种情况下解决办法只有两个,一个是不用android7.0以上的设备。。通常模拟器都是6.0目前,所以还可以。还有一个方法就是安装系统的根证书。我们这里就采用的第二个方法。条件一台root的手机,这里使用的是nexus6p方式1.先......

2019-09-24 15:34:21 40484 9

原创 通过Android studio逆向apk时输出字符串

使用Android studio 逆向代码时,市场遇到变量是一个数组,其实数组中内容包含字符串,但是Android studio无法识别,可能因为android studio string是默认unicode格式吧,学艺不精,不知道怎么操作才能把字符显示出来。期望有知道的留言告诉我呀。。就写了个脚本,把数组复制出来然后提取处之后,自己转换一下吧。复制出来的数组是这样的:0 = -91...

2019-09-11 10:04:12 1081

原创 Android 加壳与脱壳方式总结

介绍说到加壳,之前接触的主要都是pc端的壳,当时的脱壳就是用的esp脱壳法,大概意思就是程序运行到将当前环境保存之后,在当前的esp指向的地址下硬件断点,然后再次运行到该点时,进行dump内存,即可(大概意思,好多年没弄过了,网上资料很多反正)。这个时通常的加密或者压缩壳的方式,还有类似vmprotect的虚拟机壳,就是用其他指令代替原有的指令从而达到反调试的技术。这个没研究过怎么破解,还有代...

2019-04-29 16:18:40 2376 1

原创 软件保护方法简析

no_proxy:很多走fiddler之类的软件,走中间人的方式直接识别明文数据。但是app可以直接设置no_proxy不走代理,这样fiddler就无法抓包了解决方式:无域名前置:不走普通dns的方式找到服务器真实的ip,而是使用第三方的服务,走dns得到真实想要的ip地址,比如可以通过google.com的dns,得到实际的telegram的真实ip。这个是谷歌官方提供的...

2019-04-22 11:53:25 2055

原创 xposed 输出 bytebuffer数据

遇到一个问题,需要输出函数的bytebuffer参数数据,用到了下面的代码:ByteBuffer buf = (ByteBuffer) param.args[0]; byte[] rawBuf = new byte[buf.limit()]; while(buf.hasRemaining()...

2019-04-15 11:13:14 1167

原创 python kamena(scapy)修改pcap包

原本有人分析过viber的聊天报文,是两个字节开头,而后加上标准rtp流的,不知道新的viber是不是依旧这样,粗略从流量上看是的,但是不靠谱啊,怎么办呢,写个工具,把前面两个字节的头剥了,看看后面的能不能解析成rtp之后播放。语言选择:python3.6 已有环境 anaconda3先下载pip install scapy-python3这里下载完之后用不了,错误信息大概就是不支...

2019-04-03 15:23:15 3513

原创 查看qq so中tea算法加密前后数据

环境:qq android 7.9.7.3915之前是hook的java层的encoderequest函数,但是这里面入参太多,不知道最终组包是如何进行的也,这篇先看一下腾讯的tea算法加解密前后数据是什么样子的。通过peid的插件krypto analyzer分析qq的so文件,找到libcoderwrapperV2。里面使用了tea算法,故我们只要hook这个函数里...

2019-01-30 16:15:56 3474

原创 xposed输出qq加密前明文数据

这章主要介绍java层的hook,首先需要找到qq加密的函数在哪里,这里采用最简单的monitor的录制方法。monitor是android sdk里面的一个小工具,就是之前的ddms,里面的录制调用的功能可以快速定位。这里有一个疑问:为什么搜不到onClick的操作呢,没有的话他是通过什么实现的呢?有知道的评论一下呀,谢谢定位之后发现了一个函数:com.tencent.qphone....

2019-01-25 11:27:14 1931 1

原创 python 刷一下csdn博客排名吧。。。

写的东西看的人太少了。。随便写个爬虫,正好用之前那个代理的改改就行,假装多一点点点击量。。勿喷,自己不太好意思用。。大家谁想用的,改一下自己的博客链接就好import urllib.requestimport randomimport zlibfrom bs4 import BeautifulSoupimport sqlite3import osimport requestsi...

2019-01-18 09:17:31 1380

转载 xposed 修改通过修改系统返回计步器修改微信运动步数

这个是用来刷一些微信小程序,通过微信运动的步数来计步的,怕一下子跑太快被封号,只是把获取到的步数乘以3,不是直接修改为一个很大的数字,感觉赚不到钱。。我还买了个摇步器,淘宝给了个差评,太吵了。。和摆钟一样。代码如下:package com.example.liuti.hooksport;import android.hardware.Sensor;import android.har...

2019-01-17 14:21:07 24680 9

原创 python 代理 爬取不同ip段的微信服务器地址

项目需要收集微信的服务器Ip,微信之前也是通过http请求获取的ip地址,参考网上资料写了个脚本,通过代理使用不同地方的ip,发送同样的请求,然后将返回的ip地址存入数据库:import urllib.requestimport randomimport zlibfrom bs4 import BeautifulSoupimport sqlite3import osimport ...

2019-01-10 11:02:51 1273

原创 python 读取zlib压缩的文档

import zlibdef compress(infile, dst, level=9): infile = open(infile, 'rb') dst = open(dst, 'wb') compress = zlib.compressobj(level) data = infile.read(1024) while data: dst.write(compress.com...

2019-01-10 11:00:47 1678

原创 深度学习花书学习笔记 第十七章 蒙特卡罗方法

这个方法最初见到就是alpha go中使用的,后面会有专门介绍alpha go的文章,这里预留一个链接的地方:。。。。。。。。。。随机算法粗略的分为两类:拉斯Vegas 和蒙特卡罗算法,前者代表精确算法,后者代表近似算法。名字的由来大概都是和赌场有关。采样和蒙特卡罗方法这里主要介绍采样的必要性和蒙特卡罗方法的合理性。 重要采样通过在最优条件下的采样马尔科夫链蒙特卡罗...

2018-12-22 11:06:52 944

原创 深度学习花书学习笔记 第十六章 深度学习中的结构化概率模型

非结构化建模的挑战主要介绍非结构化对内存要求大,速度慢。而结构化相对好很多。主要例子,a影响b ,b影响c,非结构化的处理的话,还需要处理a影响c的情况,结构化不需要。使用图描述模型结构主要分为有向图和无向图,有向图又叫信念网络或贝叶斯网络。就像前面介绍的那样可以减少很多参数,适用于因果关系。无向图又称马尔科夫随机场(MRF)或马尔科夫网络。这里介绍了配分函数:配置分母的函数,...

2018-11-19 21:22:18 1245

原创 微信协议分析 pc端记录

android端的之前参考如下帖子:https://blog.csdn.net/yy405145590/article/details/79963999 但是这个帖子出来之后,微信在pack之后又封装了一层,尝试跟踪,在tencent.mm:push进程下,java端最后断在一个req2buf函数中,但是这个函数是由so调用的,能力有限,还没调到具体调用的地方。所以试试看转战PC端。...

2018-11-13 15:43:53 5043 1

原创 深度学习花书学习笔记 第十五章 表示学习

本章的表示学习主要就是通过无监督训练学习特征的意思。这种没有具体的算法,就是介绍表示学习的应用和大概的分支,至于如何进行表示学习,没有详细介绍。感觉可以直接跳过。。贪心逐层无监督预训练贪心算法在无监督训练中的应用,每层只关心当前,进行训练。无监督指低层训练的网络在训练高层时不会改变。后面就是通过实验证明无监督预训练好。。。迁移学习和领域自适应监督学习的应用场景介绍。...

2018-11-07 22:00:08 1324

原创 Hook dll中导出函数,输出想要的入参或出参

最近逆向某聊天软件协议部分,需要打印出所有报文加解密的原文,密文以及密钥。想通过hook的方式,hook导出函数的地址,然后在函数进入前输出想要的入参,函数返回时输出想要的出参。用到了dll注入的方式。参考了逆向工程核心原理的内容。可通用性还可以,分享代码如下:https://download.csdn.net/download/liutianheng654/10754049如果想针对自己...

2018-10-30 19:40:07 3623 1

原创 图像框检测算法的演变

mAPmean Average Precision:在每个类上的平均准确率NMS非极大值抑制针对每个类的候选框,根据得分从大到小排序 取最大得分的候选框,依次和后面的候选框进行IoU计算,若大于阈值,则删除得分低的。否则认为图像中存在多个同类物体。 依次在得分较低的候选框上计算2,得到最终候选框。这里有说可以在最后一步结果上删除候选框得分小于阈值的。但是完全可以在开始就做这一...

2018-10-23 19:36:27 1625

原创 深度学习花书学习笔记 第十四章 自编码器

RBM受限玻尔兹曼机:后面有专门章节介绍。书中这里多次提到,感觉这个书的顺序也很不合理啊,很多这种问题。。。欠完备自编码器编码输出维度小于输入的编码器称为欠完备自编码器,可以得到有效特征。正则自编码器编码输出维度大于等于输入的编码器称为过完备自编码器。可能学不到任何有用信息稀疏自编码器:其中g(h) 是解码器输出,h是编码器输出。即h = f(x)去噪自编码器DAE...

2018-10-23 19:29:28 1551

翻译 kaggle 入门系列翻译(六) RSNA 肺炎预测

https://www.kaggle.com/zahaviguy/what-are-lung-opacities这篇从医学的角度来阐述检测图像的特征这篇文章说比赛主要是检测肺浑浊而非肺炎,反正也是一种肺病吧。通常肺部的图片还包括很多部分,如血管、脂肪、心脏等。一个正常人的x光肺部图片如下:在拍摄图像的过程中,x射线穿过身体到达另一侧的探测器。稀疏的组织,如充满空气的肺,不会...

2018-10-18 20:01:58 2457 3

原创 遇到SSE相关指令含义整理

工作需要逆向微信部分代码,遇到了这个指令集,资料很少,整理如下:xmm0~xmm7 128位mm0~mm7     64位byte     一个字节、8bitdword   双字,4个字节,32bitqword   四字,8个字节,64bit指令含义参照如下英文链接:https://www.felixcloutier.com/x86/index.htmlmovdqu...

2018-10-15 14:32:26 3105

原创 深度学习花书学习笔记 第十三章 线性因子模型

线性因子模型通常用作其他混合模型的组成模块,用于描述数据生成过程。各种线性因子模型的主要区别在先验概率不一样。概率PCA服从高斯先验。独立成分分析不服从高斯先验。其功能类似em算法。用于分离特征。区别?慢特征分析(SFA)源于慢性原则。稀疏编码可以进行特征选择。PCA就像在一个流体上按照最大横截面积切了,然后最长的方向就是主成分,正交的最长的就是次长,类推。具体这张是什么意...

2018-10-15 09:39:15 1727 5

翻译 kaggle 入门系列翻译(五) RSNA 肺炎预测

第二课:肺部X光结果的语义分割本课主要介绍应用MD.ai使用U-Net来进行语义分割;使用MD.ai注释器查看DICOM图像,并创建图像级别注释。然后使用MD.ai python客户端库下载图像和注释,准备数据集,然后用于训练模型进行分类。MD.ai官网如下:https://www.md.ai/是一个专门用于医疗AI的开源库,不过目前好像就只有这个kaggle项目呀,可以很方便的看...

2018-10-13 15:03:29 1463

原创 深度学习花书学习笔记 第十二章 应用

大规模深度学习首先深度学习之所以能够在现在获得大的突破,主要依靠于硬件技术的进步和大数据的发展。卷积神经网络需要的高并发,依赖于GPU的发展不断进步,甚至已经有了很多专用设备,如谷歌TPU,阿里和华为也都有最新针对AI算法的芯片。高并发时可能导致梯度下降出问题,目前多采用异步梯度下降。当模型过大时,通常可以通过模型压缩来减少内存和运算时间。(具体方法这里没提)模型可以动态选择运算单...

2018-10-12 10:37:12 908

原创 深度学习花书学习笔记 第十一章 实践方法论

性能度量根据任务需求,需要有不同的性能度量方式,常规度量方式如下:_ 真 假 认为真 true positive(TP) false positive(FP) 认为假 false negative(FN) true negative(TN) 准确率:精确率:召回率:PR曲线:F1分数: 覆盖:IoU:R...

2018-10-09 18:41:54 1023

原创 深度学习花书学习笔记 第十章 序列建模:循环神经网络

展开计算图就是将循环图展开成展开图而已。循环神经网络 就是如上网络,将某一层不断重复,输出重新作为输入的一部分。双向RNN应用于上下文环境都影响结果的场景,如语音识别,文章翻译等基于编码-解码的序列到序列架构可以将可变长度的输入转变为可变长度的输出。这里也提到了注意力模型。后面了解下自编码网络有没有用到循环神经网络的技术。自编码网络是将一个东西编码后解码再还...

2018-10-09 11:44:59 1424

翻译 kaggle 入门系列翻译(四) RSNA 肺炎预测

https://github.com/mdai/ml-lessons/blob/master/lesson3-rsna-pneumonia-detection-kaggle.ipynb上述是官方提供的一个教学,点进去之后共有四个章节,本文先翻译第一个章节:针对使用深度学习进行医疗图像识别第一课:胸部和腹部x光的分类这是对用于医学图像分类的实用机器学习的高级介绍。本教程的目标是建立一...

2018-10-08 14:57:43 2140 1

原创 深度学习花书学习笔记 第九章 卷积网络

卷积运算内积和外积中的内积被通常认为时卷积,可交换性是因为他经过了翻转。但是神经网络中一般不应用翻转。而是直接使用互相关函数:动机三大特性:稀疏交互、参数共享、等变表示。稀疏交互:核的大小远小于输入。相对于全连接,一个输入项只影响较少神经元,大大减少运算量。参数共享:也叫绑定权重,每个核的权重不变,遍历整个输入。使我们只需要少量参数,等变表示:卷积网络具有平移等变的...

2018-10-06 21:55:53 1773

翻译 kaggle 入门系列翻译(三) RSNA 肺炎预测

https://www.kaggle.com/peterchang77/exploratory-data-analysis概述 比赛主要用来识别二维高分辨率图像的胸片中是否存在肺炎的区域。肺炎只是导致胸片显示出问题的一种可能,且每幅图可能有数个肺炎区域或没有肺炎区域。文章由一个放射科医师和机器学习双重专家编写,介绍该数据集的底层结构、成像结构和标签类型首先导入依赖库:im...

2018-10-02 21:46:56 4771 1

原创 深度学习花书学习笔记 第八章 深度模型中的优化

学习和纯优化有什么不同我们期望降低的是期望泛化误差,也叫风险。但是我们平时训练时是以训练误差计算,俗称经验风险最小化。可能导致过拟合。训练方式:当原问题较难运算时,可以计算对等问题,使用代理损失函数。但是提前终止算法使用的是真实的损失函数一般。当训练数据过多时,一般每次训练不使用全部样本,而是选取部分批次来训练,大大降低了训练成本,提高训练速度。但是要注意,选取批次样本时,要先...

2018-10-01 22:11:26 1437

原创 深度学习花书学习笔记 第七章 深度学习中的正则化

正则化:减少测试误差的策略统称,可能会增加训练误差。参数范数惩罚在目标函数后面添加一项参数惩罚项,参数越多越复杂,则惩罚越大。根据对参数的惩罚方式不一样,分为以下几种:正则化:,也被称为岭(Ridge)回归。书上是上述公式,但是不知道右下角那个2什么意思,好像有问题呀。但实际意义就是权值向量各元素平方和再求平方根。用于防止过拟合。主要用于权重衰减。原理即通过添加正则项,...

2018-09-30 21:38:24 1636 1

微信协议hook代码

hook 微信报文发送和接收中的变换。

2018-11-16

hook dll程序

dll注入方式实现hook 应用中的函数。输出想要的入参和出参

2018-10-30

空空如也

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

TA关注的人

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