
Android平台
文章平均质量分 76
helloworddm
这个作者很懒,什么都没留下…
展开
-
全盘扫描是怎么实现的
在疯狂java讲义习题11.1使用Java语言列出了指定目录的所有文件。这里使用C#来实现同样的功能,使用递归和非递归两种方式。基于文件遍历,实现类似everything的功能以及grep功能。C#微软出品,必属精品。C#和Java谁更好是一个一直存在的问题。怎么说那,如果一定要选择一个的话,我选择C#,因为.NET平台的架构是Java无法比拟的(能否最终实现,还要看微软了)。.NET架构:.NET5的架构:Ubuntu下C#开发使用的IDE是MonoDevelop(https://ww.原创 2021-05-30 11:19:16 · 706 阅读 · 0 评论 -
c#的event使用(1)
在C#中,事件是一种用于在类或对象之间进行通信的机制。当某个特定的事件发生时,与该事件相关联的方法(称为事件处理程序)将被调用。有时间到来的时候,会触发相应的注册的事件处理函数。语句调用事件处理程序。当需要触发事件时,使用。是一个事件成员变量,它是一个。原创 2023-12-14 13:22:33 · 737 阅读 · 0 评论 -
blazor webassembly前后台分离
maui blazor的出现,对于andoid平台,windows平台,苹果平台只需要一套代码,就可以在任意设备运行。前台代码通常部署在nginx下面,nginx作为最经典的反向代理服务器,具有很高的性能,这是因为它使用了多路复用技术,这个技术redis也用了,所以redis的性能会很高。中对前后台分离有基本的介绍,文章基于的是node.js做中转服务实现前后台分离。实现了客户端的实时通讯,它的计算跟渲染都在服务端处理,对服务要求还是蛮高的。随着微服务的兴起,前后台分离现在已经是非常主流的技术了。原创 2023-04-09 22:00:35 · 731 阅读 · 0 评论 -
Android音视频编码(3)
继续中的内容,在上一篇文章中,对视频解码和编码进行了详细的介绍,具体可参见。原创 2024-01-21 11:59:52 · 448 阅读 · 0 评论 -
Android分段进度条(继承View实现)
titles.add("process1"); titles.add("process2"); titles.add("process3"); titles.add("process4"); Set indexSet = new HashSet(); indexSet.add(0); indexSet.add(1); nodeProgressView.show原创 2023-12-20 13:21:41 · 828 阅读 · 0 评论 -
lldb安装以及调试Android程序
Android Studio自带lldb,安装过程不再赘述。lldb官网。原创 2023-09-19 11:40:01 · 1223 阅读 · 0 评论 -
Android 编译和使用libpng
使用上面的命令编译报错,从错误中推测应该需要zlib依赖,还需要下载zlib,由于Android自带zlib库,遂使用cmake进行。修改libpng中CmakeLists.txt中的add_library,修改为动态共享库。从上面的信息中可以看出libpng是一个历史悠久的处理png的库,需要zlib依赖。这个路径是clone下来的libpng中CmakeLists.txt所在的目录。更多内容,欢迎关注我的微信公众号: 半夏之夜的无情剑客。使用下面的命令可以直接编译为静态库。原创 2023-09-08 09:46:40 · 650 阅读 · 0 评论 -
Android资源文件以及混淆技术
Android资源文件以及混淆技术转载 2023-08-23 13:16:28 · 258 阅读 · 0 评论 -
Frida高级篇-调试
心仪预备条件安装node和npm代码提示TypeScript优点JavaScript的一个超集,扩展了JavaScript的语法。加强代码可读性。明确参数类型,代码语义更清晰易懂。更友好、更精准的代码补全提示。更贴近面向对象编程的编写习惯,利于模块化和复用。以前用 js 写的脚本也可以被 ts 直接引用,不会浪费。Frida使用TypeScriptfrida-compile將ts 编译为 可被 frida 加载的 js 文件(1)Github 直接下载大胡子的示例仓库: htt.原创 2021-10-19 19:43:54 · 1558 阅读 · 0 评论 -
编程入门(劝学)
【作者】荀子 【朝代】先秦 君子曰:学不可以已。 青,取之于蓝,而青于蓝;冰,水为之,而寒于水。木直中绳,輮以为轮,其曲中规。虽有槁暴,不复挺者,輮使之然也。故木受绳则直,金就砺则利,君子博学而日参省乎己,则知明而行无过矣。 故不登高山,不知天之高也;不临深溪,不知地之厚也;不闻先王之遗言,不知学问之大也。干、越、夷、貉(hé)之子,生而同声,长而异俗,教使之然也。诗曰:“嗟(jiē)尔君子原创 2018-01-21 15:46:57 · 613 阅读 · 0 评论 -
Android源码篇-深入理解粘性广播(1)
广播作为Android的四大组件之一,广播的用途还是非常广泛的。广播是一种同时通知多个对象的事件通知机制,顾名思义也能大概知道是这个意思,类似日常生活中的大喇叭广播,多个人可以受听,人们大都只关心和自己有关的事情,而对和自己无关的事情进行屏蔽,Android中的广播和这个差不多。...原创 2021-08-24 09:39:44 · 1757 阅读 · 0 评论 -
Android 11省电模式开启
流程图原创 2021-05-21 10:20:18 · 1314 阅读 · 3 评论 -
Fiddler Everywhere && HTTP
Fiddler Everywhere中图标The Live Traffic List uses the icons listed below to provide additional context for each recorded session. Hover on an icon on an entry in the Live Traffic list to trigger an explanatory tooltip.完整版可参考: https://docs.telerik.com/fidd原创 2021-03-20 11:39:55 · 1743 阅读 · 0 评论 -
神经网络学习之矩阵
矩阵大一的时候学习的吧,忘记了,感觉很久远了,我以为毕业之后再也用不到了,直到我了解了神经网络。以下内容是百科的解释:在数学中,矩阵(Matrix)是一个按照长方阵列排列的复数或实数集合,最早来自于方程组的系数及常数所构成的方阵。这一概念由19世纪英国数学家凯利首先提出。如下是一个m*n的矩阵。[a11a12⋯a1na21a22⋯a2n⋮⋮⋱⋮am1am2⋯amn]\begin{bmatrix}{a_{11}}&{a_{12}}&{\cdots}&{a_{1n}}\\{原创 2021-02-05 00:07:08 · 1435 阅读 · 0 评论 -
Android apk动态调式以及UI定位
工具Android Studio,后面的内容简称AS.Android Studio 是谷歌推出的一个Android集成开发工具,基于IntelliJ IDEA. 类似 Eclipse ADT,Android Studio 提供了集成的 Android 开发工具用于开发和调试。系统app调试开发系统app的时候,大多数基于makefile的,并且签名是platform的,因此不能直接通过源码进行调试。本文不打算拿系统app来讲解如何调试,不过会使用这里的调式技巧,那么调试系统app也很简单了(系统ap原创 2021-01-23 15:19:59 · 720 阅读 · 2 评论 -
Frida高级篇-Stalker(1)
快捷键的区别三者的区别Ctrl+C :强制中断程序,程序无论运行哪里都停止。Ctrl+D :发送一个 exit 的信号,退出当前的用户或者是客户端。Ctrl+Z :暂停程序,在进程中维持挂起状态。引用别人的说法:1、Ctrl+C比较暴力,就是发送Terminal到当前的程序,比如你正在运行一个查找功能,文件正在查找中,Ctrl+C就会强制结束当前的这个进程。2、Ctrl+Z 是把当前的程序挂起,暂停执行这个程序,比如你正在mysql终端中,需要出来搞点其他的文件操作,又不想退出mysql终端(原创 2021-01-14 12:44:17 · 2393 阅读 · 0 评论 -
Frida工作原理
在调试和验证Frida的Stalker功能的时候,需要频繁暂停程序查看效果。因此这里是首先介绍下Linux下的暂停。在用Linux的时候,都比较熟悉下面这几中暂停方式。三种暂停的区别三者的区别Ctrl+C :强制中断程序,程序无论运行哪里都停止。Ctrl+D :发送一个 exit 的信号,退出当前的用户或者是客户端。Ctrl+Z :暂停程序,在进程中维持挂起状态。引用别人的说法:1、Ctrl+C比较暴力,就是发送Terminal到当前的程序,比如你正在运行一个查找功能,文件正在查找中,Ctr原创 2021-01-13 22:25:47 · 3710 阅读 · 0 评论 -
App动态调试(1)-Radare2和lldb
为什么不用IDA,因为贵。为什么不用gdb,因为lldb的出现,取代gdb只是迟早的事情,可以说gdb是Depracated。在 Android逆向之ARM64静态分析对app的中的so进行了动态分析,这篇文章介绍两种动态调试的方式,一种是radare2,另一种是lldb。r2frida概术Radare2 and Frida better together. 两个强大的工具放在一起,必然会产生更为强大的能量,可以称为"Best Dynamic Debugging Tool ",最主要是免费。其本质原创 2020-12-08 20:15:30 · 985 阅读 · 0 评论 -
Java反射之实例构造
网上很多写反射的,但是对于内部类的反射涉及的非常少,尤其是这种私有的内部类。也许有人认为私有内部类是不能被外部实例化的,但是强大的反射功能突破了Java本身的一些规则。原创 2020-12-05 11:34:55 · 480 阅读 · 0 评论 -
使用Radare2静态分析apk(2)
在Radare2静态分析apk(1) 对Radare静态分析apk进行了简单的介绍。补充以下:通过r2 apk://URI可以直接对apk中的dex进行分析。原创 2020-11-30 11:55:31 · 735 阅读 · 2 评论 -
Radare2进阶之破解
文章重点基于[CrackerMe03]。这是R2 CrackerMe系列的典型的一个,算是CrackerMe系列的一个分水岭。在前面介绍破解,主要是通过修改字节码的方式,当然所有的CrackerMe都可以使用此方式。不过,这篇文章介绍一些其他的方式,主要是基于代码逻辑进行破解以及使用Emulator进行破解。CrackerMe00现说一个最简单的CrackeMe00。查看字符串信息 rabin2 -z crackme0x00通过字符串信息,大概推断密码是250382。运行程序,输入250382,Pa原创 2020-11-29 20:27:32 · 942 阅读 · 1 评论 -
Radare2静态分析apk(1)
在逆向的世界中,有一个工具叫做IDA,它被称为神器,但是它的价格实在让人望而生畏(土豪例外)。正版的全平台下来估计要20w/年,貌似还是美元。当然了,网上有很多破解版的,这个看个人喜好,我不太习惯使用破解版的,一方面功能不全,另一方面,很不稳定。于是我就找到了一个替代IDA的工具-Radare2。个人认为除了在F5(decompiler)功能上有差距之外,其他地方两者很接近了。Radare2在 破解工具Radare2 中多Radare2进行了介绍,在 深入理解GOT覆写技术 系列文章中对Radare2在原创 2020-11-20 21:40:34 · 646 阅读 · 0 评论 -
Frida高级篇-Fiddler Everywhere手机抓包(绕过证书绑定限制)
在 抓包神器之Fiddler Everywhere及Wireshark 中讲解了Fiddler EveryWhere怎么抓取web的数据,这篇文章主要说怎么进行手机抓包以及绕过如何绕过ssl-pining技术实现抓包。纠正一个错误网上很多文章说,在进行手机抓包的时候,一定要保证手机和电脑在同一个局域网。这句话是不准确的,我认为这么说的基本上是两种情况:(1)人云亦云,别人这么说,我也这么说,应该不会错吧。(2)对抓包的原理不理解,甚至于什么是中间人攻击都不清楚。要实现抓包,需要的前提条件并不一定要原创 2020-11-15 20:32:45 · 4510 阅读 · 0 评论 -
免ROOT使用Frida(不修改源代码)
在 非ROOT环境下使用Frida及调试 中通过修改smail代码实现在非ROOT的情况下使用Frida。前面提到这种方式有一个明显的缺点就是要修改smali源代码。这篇文章主要来说怎样在不修改源代码的情况下在非ROOT情况下使用Frida。Frida-gadgetFrida的Gadget是一个共享库,可以在不适合Injected操作模式的情况下由要检测的程序加载。这可以通过多种方式完成, 例如:修改程序的源代码修补它或其一个库,例如 通过使用诸如insert_dylib之类的工具使用动态链接原创 2020-11-14 23:43:40 · 4497 阅读 · 0 评论 -
非ROOT环境下使用Frida及调试
设备Android版本: 9MIUI版本: 11.0.5稳定版手机型号: Redmi Note 8CPU信息:关于ROOTARMV8的引入以及Google对安全的重视,使得Android获取ROOT权限很难。那个仅仅依靠一个apk就能实现手机ROOT的时代基本上一去不返了。apk提权基于的是Android系统的漏洞,目前Android已经很完善了,寻找漏洞非常困难。目前获取ROOT基本都是通过刷安装包来实现。当然了Android模拟器可以很轻松获取ROOT权限。但是很多APP都对模拟器有检测,原创 2020-11-13 19:45:16 · 3812 阅读 · 0 评论 -
通过Wireshark分析HTTPS(1)
Wireshark过滤规则分析一次https连接还是这篇文章https://www.bilibili.com/read/cv7495834通过wireshark分析其中的一次https连接,过滤规则是ip.addr == 27.115.124.159(1)客户端发起SYN请求 seq = 0(2)服务器端进行确认 Ack=1 向客户端发起连接请求 seq = 0(3)客户端进行确认Ack = 1 经典的三次握手(4)客户端发送client hello(5)服务器端进行确认ACK(6)服原创 2020-11-08 00:21:42 · 2241 阅读 · 2 评论 -
抓包工具之Fiddler Everywhere以及Wireshark(1)
抓包工具有很多,比图Wireshark、tcpdump、Fiddler、Burp等。在burp Fiddler抓包软件(https://helloworddm.blog.csdn.net/article/details/98363056)对Burp和Fiddler进行了简单的介绍,同时讲解了在抓取手机数据报时如何配置证书。在黑客攻击-木马远程控制(3)对抓包的原理进行了介绍。 本文主要讲述Fiddler系列的另一个抓包神器-Fiddler Everywhere。Fiddler EverywhereFi原创 2020-10-29 20:28:57 · 1145 阅读 · 0 评论 -
Ubuntu系统安装&&解决Wi-Fi不可用
写系统安装的文章太多太多了,我为何还要写哪?因为文章太多太多了,乍一看各种操作猛如虎,实际上可能对你没有一点的帮助。好多文章只是讲解了如何安装ubuntu系统,对于安装后遇到的问题只字不提,笔者决定写一点不一样的。文章目录为和选择Ubuntu制作U盘启动盘U盘装机启动系统查看系统参数网络问题查询解决办法没有通用的方法查看无线网络的芯片驱动加载有问题?解决办法关于Linux写在最后公众号为和选择Ubuntu开源免费,功能强大,小巧精美。对于小巧的东西,个人都比较喜欢。还有友好的图形化界面,不要和win原创 2020-10-25 12:27:13 · 2961 阅读 · 3 评论 -
实战分析smali汇编代码
在黑客攻击-apk破解(1) 对apk的破解流程进行了完整的介绍。本篇文章基于解包之后的内容介绍smali汇编。汇编语言说到汇编语言,给人的感觉是很高端,很深奥,甚至于很神秘。其实这东西就是另一种形式的语言,一种非常底层的低级语言,大多数的编译型语言在编译过程中都要经历汇编的过程。比如C语言在Windows下会转化为x86/x64汇编,在Linux下会转化为ATT汇编,在Android系统上会转化为arm汇编等,很显然,汇编语言不具备跨平台的性质,在不同平台和系统中的汇编语言是不一样的。就是这些汇编语言原创 2020-10-18 17:50:50 · 1867 阅读 · 0 评论 -
Frida进阶之内存漫游以及简单抓包
在前面的系列文章中对Frida相关的API进行了介绍。文章目录Hook everything内存漫游启动objectionHook anywhere启动Activity或者Serviceobjection的缺陷退出抓包公众号Hook everythingFrida只是提供了各种API供我们调用,在此基础之上可以实现具体的功能,比如禁用证书绑定之类的脚本,就是使用Frida的各种API来组合编写而成。于是有大佬将各种常见、常用的功能整合进一个工具,供我们直接在命令行中使用,这个工具便是objection原创 2020-10-11 19:26:58 · 2045 阅读 · 0 评论 -
Frida API进阶-网络
文章目录SocketSocketListenerSocketConnection代码示例Nagle algorithmJavaScript判断数据类型公众号在聊天系统开发(1) 的文章中,对TCP/IP相关的网络编程进行了介绍。在Frida API进阶-文件 对文件描述符、输入输出流进行了介绍。本篇文章集于此介绍Frida中网络相关的API。SocketSocket.listen([options]): open a TCP or UNIX listening socket. Returns a Pr原创 2020-10-08 09:07:36 · 1495 阅读 · 0 评论 -
漏洞扫描和利用
声明:禁止用作非法目的,谢绝一切形式的转载。在这里对OpenVas进行了简单的介绍。这篇文章着重介绍通过OpenVas扫描出来漏洞之后,如何利用这些漏洞达到获取被入侵机器"肉鸡"的shell(也就是控制权)。OpenVasGSM协议NTP – Time synchronization• Connecting to 123/udp• Mandatory• Not encrypted• May use internal NTP serverFeeds (see below)• Direct原创 2020-09-20 16:49:14 · 993 阅读 · 0 评论 -
MSF专题(3)
声明:谢绝一切形式的转载,禁止用作非法目的当通过木马或者漏洞成功入侵别人电脑后,由于MSF发起的攻击都是基于内存的,因此,当被入侵的电脑关机之后或者漏洞修复之后,前期建立的连接就都不复存在了。所以,有必要在被入侵的电脑上安装后门,让"肉鸡"每次重启之后,都能和自己的机器自动建立连接。准备条件“肉鸡”: Windows7 32位 防火墙开启通过木马建立连接具体内容可参考这里Persistence 后门...原创 2020-09-15 18:23:00 · 198 阅读 · 0 评论 -
Frida API进阶-文件操作
在前面的文章中介绍了数据库的操作,这篇文章主要介绍文件的操作。当你在使用程序的时候,可以动态修改程序的文件操作,其实是很恐怖的,比如,本来是往文件中写入100元钱,但是经过动态修改后变成了0元,据此可以脑洞大开一下。文章目录文件和流文件File文件和流文件Filenew File(filePath, mode): open or create the file at filePath with the mode string specifying how it should be opened.原创 2020-09-06 23:21:14 · 4632 阅读 · 0 评论 -
Frida API进阶(2)
通过数据库,能做的事情还是很多的,比如查看数据信息,查看权限,甚至于抢红包基于的也是数据库。准备条件Android手机需要ROOT,本文基于Android10。Database查看数据库通过下面的命令可以查看指定包名应用的数据库存储信息(包括存储的SQL语句)。adb shell dumpsys dbinfo com.lingpao.lpcf622b运行结果如下:...原创 2020-09-01 17:01:11 · 419 阅读 · 0 评论 -
Frida API进阶(1)
在前面的文章中介绍了Frida基本API的使用,在这篇文章中介绍一些更加强大的API。同时简单介绍下HOOK 系统函数的利器frida-trace。内存,内存还是内存。Java对象Java对象Java是极其重要的API。无论想对so层亦或java层进行拦截,通常都须编Java.perform。Java.available: 该函数一般用来判断当前进程是否加载了JavaVM,Dalvik或ART虚拟机Java.androidVersion: 显示Android系统版本号Java.enumera原创 2020-08-30 13:43:17 · 2728 阅读 · 0 评论 -
windows开机启动之注册表
#include <Windows.h>#include using namespace std;int WriteReg(char* path, char* key, char* value);/************************************@ Brief: 开机启动@ Author: 无情剑客@ Created: 2020/08/25 传统节日七夕@ Return:************************************/v原创 2020-08-26 20:45:13 · 7222 阅读 · 1 评论 -
Frida API使用(4)
在前面的文章中,对图中大部分的API进行了介绍,今天继续后面内容的介绍。Kernel顾名思义,与内核相关的,枚举内核加载的模块,或者操控内核内存部分。经过测试,在Android和Linux系统下,Kernel.available是false,相关的API都是不能够使用的。Kernel.available: a boolean specifying whether the Kernel API is available. Do not invoke any other Kernel propertie.原创 2020-08-22 17:33:07 · 847 阅读 · 0 评论 -
Frida API使用(3)
在这里对其中的一部分API进行了介绍,这篇文章继续介绍后面的内容。通过这部分的介绍,可以发现通过Frida操纵内存、查看模块等信息是如此的简单。操作内存,最重要的自然就是打补丁了,邪恶的微笑。Module对象Module.load(path): loads the specified module from the filesystem path and returns a Module object. Throws an exception if the specified module cann.原创 2020-08-15 11:10:00 · 1656 阅读 · 0 评论 -
Frida API使用(2)
Frida原创 2020-08-09 23:25:27 · 2384 阅读 · 5 评论