- 博客(258)
- 资源 (42)
- 收藏
- 关注
原创 安卓应用加固大全(速查篇)
安卓加固技术是保护应用程序免受逆向工程、篡改和攻击的一系列策略和工具。通过对源码、运行环境和业务场景进行加固,可以显著提高应用程序的安全性。
2024-07-29 14:34:32 265
原创 菜鸟Vue教程 - 实现带国际化的注册登陆页面
初接触vue的时候觉得vue好难,因为项目中要用到,就硬着头皮上,慢慢的发现也不难,无外乎画个布局,然后通过样式调整界面。在通过属性和方法跟js交互。js就和我们写的java代码差不多了,复杂一点的就是引用这种那种库,然后就能做出来一个界面了。如果你的项目就是和服务器交互,感觉用vue来做确实也蛮合适的。在上手之前,我先说下我们要实现的场景。
2023-08-19 15:01:54 1929
原创 Web菜鸟入门教程 - Springboot接入认证授权模块
网络安全的重要性不言而喻,如今早已不是以前随便弄个http请求就能爬到数据的时代,而作为一个架构师,网络安全必须在产品开发之初就考虑好。因为在产品开发的后期,一方面是客户增多,压力变大,可供利用的时间也会变少,另一方面,随着时间的推移,项目越发庞大,这个时候想要在开发继续推进的同时来调整架构,带来的影响不可谓不大。
2023-08-17 18:33:37 528
原创 Web菜鸟入门教程 - Radis实现高性能数据库
Redis是用C语言开发的一个高性能键值对数据库,可用于数据缓存,主要用于处理大量数据的高访问负载。也就是说,如果你对性能要求不高,不用Radis也是可以的。不过作为最自己写的程序有高要求的程序员,自然是要学一下的,毕竟大部分的网站都配置了radis。
2023-08-14 22:14:33 2523 1
原创 Web菜鸟入门教程 - Swagger实现自动生成文档
如果是一个人把啥都开发了,那用不到Swagger-UI,但一般情况是前后端分离的,所以就需要告诉前端开发人员都有哪些接口,传入什么参数,怎么调用,返回什么。有了Swagger-UI就能把这部分文档编写的业务给省去了。Swagger-UI是HTML, Javascript, CSS的一个集合,可以动态地根据注解生成在线API文档。
2023-08-14 16:29:09 1471
原创 Web菜鸟入门教程 - MyBatis通过数据库生成java代码
环境有了,接下来是配置。Web开发中,终端的运算能力越来越强,大部分场景就是数据库的操作,只有少部分逻辑会放在Web端处理。因为后端的强大,导致架构师和编码人员在分工上有区别,架构师负责指定目录结构,用到的技术栈,并设计好数据库,命名规范,数据字典等。不过我怕这里为了演示方便,只在配置中配置了一张表,大家可以根据自己需要把整个数据库都用生成的方式来做,这样就只需要关心业务代码就可以了。别看上面列出了不少的代码,实际上再使用MyBatis-Gen的时候只需要编辑几个文件就ok,其他文件都是运行后生成的。
2023-08-14 14:32:56 541
原创 对于入门安卓的开发人员的建议
做了这么多年的开发,虽算不上资深,但作为一个工作多年创业多次的一个安卓开发人员,倒也有自己的一点见解。如遇到更厉害的大牛看到,还请多多指教。写这篇文章主要是给一些初级安卓开发人员的建议。每个人都会有自己的职业生涯,每个人的职业生涯又大不相同,每个人的精力,生活环境,背景的差异都会对每个人的成就有很大影响,所以一些术或者道的东西,并不适合每一个人,不过看到这篇文章算是缘分,就像铃木禅师提到的:对是佛,错亦是佛,既然这样,我就畅所欲言了。
2023-07-20 11:32:16 1013
原创 IO 重定向的Hook和对抗
对于设备指纹来说,系统文件是用来标识设备比较稳定的特征码,特别是对于改设备机型,一般来说,一些关键文件信息可用来标识一台设备。典型的如mac地址文件,序列号文件,还有一些用来标识某个特定机型的,比如小米在framework下就有一些文件的文件大小,md5等信息可拿来和标准机型库比对,已识别设备是否被模拟。攻击方自然也知道这个道理,因此也会修改这些文件,对于非源码定制系统来说,这些文件只能通过hook来修改。在比较早的时期,直接通过hook java代码的类的open方法达到效果,
2023-04-24 19:45:39 393
原创 ChatGPT机会与变现大全
这是一篇教你如何利用ChatGPT变现的文章,从商业的视角看ChatGpt这个产品。虽然我们都听过chatGPT,网络上也铺天盖地的文章介绍这个产品有多牛,甚至是一些有点关联的产品都跑过来陈热度给自家产品打广告。但是,这些我们都不关心,我们需要关心的是,在ChatGPT产生后,我们有哪些机会能让我们摆脱苦逼的打工人的身份,或者是如何利用他来发展自己的副业。
2023-03-29 13:09:22 13921
原创 普通应用访问隐藏API的解决办法
众所周知,在Android9之后,Android系统限制了通过反射的方式访问隐藏Api,这对于系统应用来说或者你拥有系统签名的应用来说,并不是一件难事,但是更多的时候,我们的应用并不是系统应用,而现在通过反射的方式调用也会提示出错,那么这种情况下我们是否还有其他方法能够访问这些系统级API吗?答案是有的。在将方法之前,我们先了解一下,什么是隐藏API,以及为什么我们需要访问这些Api。如果你对这些都不感兴趣,可以直接拖到下面看解决方案。
2023-02-13 16:44:30 1520
原创 Magisk工具使用指南
对于一般玩机用户,Magisk官方提供的发布版本即可满足要求,但对于高级开发者来说这远远不够,我们不仅仅是满足于使用,更要学会定制面具,最好的能完全理解面具的核心架构以便于自己也能写出来一套和面具差不多的工具,这才是我们研究面具最根本的原因所在。因为做移动安全,就是要理解最深层最基础的安全知识,而不仅仅是用以两个工具那么简单,这是高级工程师和初级工程师最大的区别所在。本文介绍面具中提供的用于开发者直接调用的工具,我们可以通过这些工具整合到我们自己的系统中,以此实现更便捷的修改目的。
2023-01-30 21:03:07 6321
原创 Magisk内部实现原理
Android10以后,Android系统限制了System分区的修改,结果就是,即使你i是自己编译的Android系统,即使是有做高的root权限,你依然无法挂载System分区并对其内容进行修改,尽管网上有各种帖子说可以使用,但这并没有解决开发者的实际问题。这意味着传统的万能root出现局限性,为了解决这个问题Magisk的作者在确认了这一问题,并导致该问题的原因是谷歌在Android10以后引入了EXT4 共享块,而这个共享块和其他分区的区别在于根本没有可用空间的概念,所以也就没办法挂在为可读写。
2023-01-29 21:55:10 7601 1
原创 Android原生检测Selinux的三种方法
本文介绍 3 种检测 Android 设备 SELinux 状态的方法, Java 层检测Selinux已经没有太多意义,因为不是很靠谱,随便一个hook代码就能绕过,所以我要告诉你如何在 C 层完成检测。这几种方法在效率和抵抗mock SELinux State 的技术方面都不相同,因此在使用之前你需要知道每种方法的背景及其局限性。
2023-01-14 16:45:59 1486
原创 Android抓包Charles入门教程
Android抓包工具有很多,有轻量的如httpCanary直接安装在手机上通过代理进行抓包,有功能强大的WireShark PC端的抓包工具(也要设置代理啦),还有老牌抓包工具Finder和Charles以及mitmproxy。手机上的抓包工具远离基本差不多,要么是设置Vpn要么就是通过代理,用在Android 逆向上,使用Finder和Charles的人要多一些,而我比较倾向于使用Charles,对于http和https的抓包来说支持的比较好,上手容易,缺点就是他是,当然了好软件通常是。
2023-01-13 19:46:56 1861 1
原创 Frida零基础入门教程
阅读这篇文章,不仅能了解frida是什么,还能知道如何搭建Frida运行换以及学会用frida进行简单的java/native hook实战。
2023-01-12 23:18:38 2099
原创 Android免so逆向框架unidbg入门及浅析
本文来自互联网,我只是收集整理,unidbg作者写这个东西不容易,有条件的小伙伴可以去支持一下unidbg是一个允许你用来模拟执行Android的ELF和的IOS的MachO原生文件。Elf文件:从组成结构上可以看得出他主要是服务于section的,而section又是so的资源,所以狭义上我们可以理解成此表为告诉计算机要怎么加载解析so资源的一张表.
2023-01-12 17:18:58 1124
原创 Idea同步失败Unresolved dependency的解决办法
下载一些开源的库,经常会碰到一些同步问题,本文就该系列问题单独开一篇文章,和大家缕一缕这样的问题怎么解决。IDEA的同步问题多半为网络环境问题,少部分为代码问题或IDE版本问题,但还击那个问题又有很多种情况,比如有些可以设置猥皮恩的代理来实现,有些却需要使用国内源实现,还有一些是因为用了猥皮恩才出现,形式各种各样,本文不一定列全,但是会随着后续的更新慢慢完善。
2023-01-12 11:24:10 13883 1
原创 Edify Script (Android Shell)定制Twrp刷机包
本文将通过三方面向大家介绍Edify Script,相信你看完了这篇文章会对安卓系统可刷写插件有一个比较完整的认识,并且能过通过阅读此文章实现使用twrp刷入自己写的插件zipi包。网上能搜到的大部分是旧的,新版本去掉了很多的edify函数,照着他们那个写多半会报错。
2023-01-06 22:31:44 1868
原创 twrp Xposed zip包脚本定制全解析
想要研究一个新技术,最好的办法就是`read the fuck source code`,读源码时最直接高效的方式,当然,这很难啃,所以通常也可以配合网上一些教程来理解,但是通常,值钱的技术一般人是不会在网上发布的,因为技术的价值就在于它的稀缺性。本文介绍Xposed的一些基础知识以及相关插件的定制方法。帮大家梳理了一下如何定制twrp刷机包。
2023-01-04 12:10:08 969
原创 Aosp系统编译定制系统签名
商业化产品,如果使用默认的签名,一是不安全,而是显得没啥技术。就连谷歌官方也说了,不建议使用testkey作为最终发布版的key,因此,定制系统签名就派上用场了。具体使用方法谷歌给了一个大致的说法,我们可以在aosp的自述文件中找到,位置位于,我们来看看光放原文:老实说一般人还真不一定看得懂,因此我决定自己实践一下,然后把实践的过程分享给大家,希望抛砖引玉,让大家少走一些弯路。由于利用系统签名生成keystore的方式网上一大把而且没有太多坑,这里不赘述,只说说如何定制系统的签名。
2022-12-20 12:43:26 1095
原创 Android系统属性文件浅析
Android的属性文件是Android系统攻防中重要的一环,属性中的一些只读字段(以ro开头)通常会被当作大厂的指纹而加入检测,于是如何mock和检测mock成了安全中举足轻重的知识。实际上,除了上述列出的方式以外,我们还能读取的地方有很多,为什么会有那么多。熟悉朋友就会发现,上述列出来得方案,基本是从代码调用侧跟踪,一步步往下跟踪调用,就能发现上述所有得调用方式。
2022-12-08 22:48:55 1412
原创 Android系统镜像备份与还原并转发数据
你拿到一台测试机,觉得系统不错挺好用,想要把里面的镜像拷贝出来,然后买一台新手机刷入进去。然后屏蔽原来系统的数据转发并把数据转发到自己的服务器上,有没有可能呢?答案是有的,这篇文章说的就是这方面的内容。
2022-11-02 11:51:25 2078 1
原创 移动攻防-检测非标准调用和如何防止反射
反射一度被认为是java开发者得福音而被广泛应用,但是在Android9之后,Google系统对开发者通过反射进行非官方得api接口调用做了限制。也就是说,一些隐藏的接口开发者无法正常访问了。我们可以在Androi系统的源码中看到系统那些地方做了api隐藏,以Android10为例,位于,当然,谷歌此举旨在提升软件的用户体验,降低崩溃,但是对于攻防者来说,关注点却不太一样。
2022-11-01 19:57:43 616
原创 Apk安装和权限控制流程全解析
安卓版本的升级,系统对于应用程序的权限管控越来越严格。从8.0开始需要使用权限必须在清单文件中声明,否则将不予使用该权限或报错(即使你的apk位于priv-app中也不行,所以你会发现新买的手机即使是系统应用,也需要申请访问权限)。其目的是为了规范开发者对用户隐私的访问。对于软件包和权限的控制,在Android9及以前位于 PackageInstaller 中,他是一款app(位于[aospsource]/packages/apps/PackageInstaller),此时apk安装和权限控制的逻辑都在这
2022-10-24 17:08:56 2699
原创 UbuntuNAT内网穿透实现远程访问
家里有两台服务器,有时候要外出见客户或者外出办公,需要用到家里的服务器编译,由于家里面并没有固定公网ip,所以穿透似乎很麻烦一直没有合适的解决方案。后面我发现很多网站提供了免费的内网穿透服务,比如我现在就在用的。当然别家的也可以,主要是这家的操作简单。
2022-10-21 15:12:09 1139
原创 AOSP添加Google Apps(Open Gapps)构建并刷入Pixel
Google App是谷歌全家桶的简称,包含了所有的Google应用(不只是Google框架),我们按照中的介绍完成了系统编译后,刷入并开机我们看到的是很纯净的系统,甚至连浏览器都是跟Demo差不多,要想能正儿八经用,还是要加上Gapp。本文要讲的是第三个方案,这个最有技术含量,而且如果你按照openGapp的你还不一定能成功,而网上大部分的文章都是没办法成功的,这就是这篇文章的意义所在。
2022-10-13 19:40:45 4416 2
原创 面具Zygigk插件开发入门教程
Zygisk版本的模板,注释写的非常详细,特别方便大家理解Zygisk并编写自己的Zygisk模块。最核心的就两个文件,其中一个是magisk源码提供的头文件,剩下的就是我们自己写的插件源码。
2022-10-09 11:00:50 3390 1
翻译 搭建本地AOSP Gerrit Server完全指南 (三)
本文引导如何从现有的AOSP Branch建立另一个Branch以进行AOSP的客制化,以便将企业及自身的技术知识管理及保留。本系列介绍如何建立本地自有(Local) Gerrit Server并且将AOSP (Android Open Source Project)的原始码完整导入此Gerrit Server。若你已完成了PART1(架设一个自有本地Gerrit Server)及PART2(将AOSP完整导入Gerrit Server)的工作后。
2022-10-07 15:00:04 905
翻译 搭建本地AOSP Gerrit Server完全指南 (二)
本文在引导你如何将AOSP (Android Open Source Project)完整导入企业内部或个人Gerrit伺服器。AOSP包含近800个专案,要如何有效快速无误的将这些专案导入Gerrit对很多IT人员来说若不知方法会是很头痛的问题。本文是系列文的第二篇,本系列在介绍如何建立本地自有(local host) Gerrit Server并且将AOSP (Android Open Source Project)的原始码完整导入此Gerrit Server。
2022-10-07 14:51:31 1826 2
翻译 搭建本地AOSP Gerrit Server完全指南 (一)
本文引导入如何从0到1,搭建一个专属自己的Gerrit伺服器(Gerrit Server)本文是系列文的第一篇,本系列在介绍如何建立本地自有(localhost) Gerrit Server并且将AOSP (Android Open Source Project)的原始码完整导入此Gerrit Server。文章分为三个部份,本文是第一部份,教导如何架设Gerrit Server,如果你已经很熟悉这个工作,可以直接跳至第二或第三部份。真正利用Gerrit来确保Code的品质并且保留企业内部技术。
2022-10-07 14:42:05 1964
原创 Android应用安全指南-反逆向
由于其开源性质,Android 拥有广泛的追随者。虽然很受欢迎,但 android 也有不利的一面,即漏洞。Android 为应用程序开发人员提供了大多数移动平台所没有的显着优势。由于它是开源的, 因此开发人员和逆向工程师可以有效地研究 Android 开源项目 (AOSP) 中的源代码,并根据他们的要求对其进行调整。简而言之,逆向工程是工程师用来重新获取源代码以重建程序、构建与之类似的东西、发现应用程序中的缺陷或提高其安全性的一种技术。这些是可以帮助您保护Android。
2022-10-02 17:29:34 1164
原创 Android App性能优化指南
在不同的 android 应用程序组件之间提供清晰的界限是至关重要的。当你需要添加、删除或测试对应用程序其他模块的修改时,它会派上用场。最后,值得注意的是,全球已经数字化,连接设备的数量正在以惊人的速度增长。与此同时,用户的注意力范围正在减少。保留它们的唯一方法是让你的移动应用程序高效运行。此博客描述了提高 Android 应用程序性能的方法。这些策略结合起来可以显着减少 CPU 执行的工作量和应用程序消耗的内存量。
2022-10-02 15:50:04 722
原创 Android init.rc语言全解析
读懂init语言并不难,难的是有人愿意去做这个事情然后分享出来,如果不是接触到这块的知识,没有谁会专门研究这个,这也是为什么我写第一篇initrc文章到现在过去了7年多了一直没更新的原因,经常有小伙伴私信我希望我写一篇关于init文件解读的文章,或者是想请教下如何在custom的rc文件中加入自己的服务,当然有心的人肯定自己已经整明白了,因为所有的知识都是现存的,用心的小伙伴都能在网上找到。还没整明白的小伙伴也没关系,看完这篇文章你也可以摸索着自己做实现了。
2022-09-28 13:31:01 792
原创 Android系统启动流程全解析--你知道Android系统启动都干了啥吗
只要是Android系统,运行的第一个程序一定是引导程序,可以这么说,所有的unix系统都有引导加载程序。这个引导加载程序的作用是在在加载 Linux 内核之前进行低级(底层)系统初始化。Android系统启动的第一阶段是将recovery镜像加载到系统flash里(就是我们的固定内存Rom),这也是引导程序的主要功能。
2022-09-27 18:54:33 5173
原创 手把手教你用IDEA搭建SpringBoot并使用部署宝塔服务器
作为一个搞移动端开发的人,对于web技术的更新迭代不是一般的不敏感,毕业好多年了我都只记得当时用servlet搭建建议web项目,到了后来ssh然后ssm,这些我都不太熟悉,直到现在才发现又出现了springboot和springcloud,如果是web的从业人员一定很熟悉,因此这篇入门的文章并不是写给他们的,而是希望自己搭建简易的web服务器来实现高扩展的云端功能。
2022-09-17 15:08:11 2143 1
原创 想定制Android系统实现改机?看完我也会了
众所周知,再谷歌一次又一次打的升级迭代下,应用厂商能获取的应用越来越优先,获取的方式也变得越来越麻烦。从一千大部分权限默认授予,到后来的动态授权,再到Android Q的禁止应用获取设备标识,获取设备信息的难度不断加大。当然,从用户角度来看,这无疑是一大进步,是提升体验的一大进步。但是作为广告投放商来说,要能实现精准投放,获取设备标识是很关键的。对于发放 license来盈利的人来说也需要获取设备id。本文详尽的列出了需要修改哪些具体项目,以及在源代码中的具体位置,方便读者更好更快的实现。
2022-09-02 18:21:03 2996 3
原创 Magisk如何针对性隐藏Root避免被检测
Magisk隐藏特征码有两种途径,一种是通过插件,一种是定制源码。插件的方式相对简单,但是使用范围也有限,好处是成本低好上手。定制源码难度大,成本高,好处是稳定,后续也好更新维护。
2022-09-01 16:52:22 10616 1
原创 编译定制magisk和Lsposed并刷入定制的hook框架(一)
玩Github不能局限与使用人家的api以及下载别人的开源库,更要学会如何定制修改大神的开源库,因为大神们的开源库里面能学到的东西很多,如果不去深入了解,会错失很多学习的机会,就像我们做安卓的,如果会看谷歌源码,成长速度也会比别人快很多。............
2022-08-11 17:54:12 2321
原创 手把手教你Magisk安装
Magisk 是一套用于定制 Android 的开源软件,支持高于 Android 5.0 的设备。也就是,用户通过MagiskBoot 重新打包Boot.img,然后通过fastboot刷入boot分区,这个时候就具有了Root权限(MagiskSU会协助管理SU),用户可以开发Magisk插件以实现只读分区的修改(因为有Root),同时能够把我们写的代码附着到任意App(在应用进程被fork出来的时候添加上去)。这篇文章就和大家来聊聊如何刷入Magisk。......
2022-08-11 17:40:48 7684
idea 7.0 pro 直装版
2022-07-18
TableView.rar
2020-09-10
FastStone Capture 9.2 Portable.rar
2020-04-09
BaiduPCS-Go-v3.5.6-windows-x64.rar
2020-04-09
Fences.rar
2020-04-09
Motrix-1.4.1-x86_64-linux.rar
2020-04-09
Motrix-Setup-1.5.4.rar
2020-04-09
Genymotion-ARM-Translation_
2017-09-18
mybatis-3.1.1
2017-05-18
web入门需要的lib库
2017-05-18
support-annotations.jar
2017-04-24
软件测试结果范本
2017-03-06
jadclipse查看工具
2015-11-17
cygwin离线安装包 支持64位32位part1
2015-07-16
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人