自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(32)
  • 资源 (12)
  • 收藏
  • 关注

原创 vultr ubuntu 服务器远程桌面安装及连接

vultr 上开启一个linux服务器,都是以终端形式给出的,默认不带 ui 界面,那其实对于想使用服务器上浏览器时的情形不是很好。那有没有方法在远程服务器安装桌面,然后原程使用呢?是有的,至少ubuntu的服务器是有的。之前很长一段时间都是使用命令行来使用远程服务器的,那如果再能给远程服务器加个桌面,在某些情况下,会有很多遍历,例如,可以使用远程服务器上的浏览器浏览网页。推荐直接看 二.4. 总脚本 直接安装。

2024-03-31 11:35:38 798

原创 移动硬盘安装ubuntu系统二——启动U盘安装

移动硬盘安装ubuntu系统二——启动U盘安装

2022-12-21 22:18:08 2391

原创 移动硬盘中安装ubuntu系统——Vmware Workstation安装

移动硬盘中安装Ubuntu系统一

2022-12-21 20:32:17 3008 1

原创 Android 内核源码编译记录

注:此处内容总结自google官网:AOSP 编译内核。编译完成后刷机部分参考自其他大佬的文章。官网中介绍的也许没有很详细,但绝对是最权威的。一.简介1. 环境手机:pixelAndroid 版本:8.1.0内核版本:3.18.70-g520f6eb编译内核的Ubuntu:20.04.22. 编译内核流程概要简单分为以下流程:(1)下载源码,并拉取对应分支的源码;(2)配置Ubuntu中编译所需要的环境(主要是aarch64-linux-android-gcc安装);(3)参照goog

2021-10-17 12:41:37 4619

原创 vmware 中安装 macOS 虚拟机记录

一. 背景考虑到需要研究ios上的应用,但又不想急着买mac电脑,因此就想在原来的台式电脑上安装个macOS的虚拟机。网上的安装教程很多,有vmware上安装的,也有virtual box安装的。一开始也是按照教程安装,但折腾了一段时间,都没成功。原因可以归结如下:有的教程是适合intel cpu电脑的,对AMD cpu的电脑不管用,因为在intel笔记本上很容易安装成功,但AMD cpu的台式机却不成功,老是报“客户机操作系统已禁用CPU”之类的错误,后来查了些资料,应该是AMD cpu的原因。v

2021-08-22 00:32:34 512 2

原创 Mac 电脑重装系统

一.简介如果按照极限苹果论坛上给出的安装方法,可以很快安装好Mac系统,过程中比较慢的只有下载Mac系统镜像和使用启动盘安装系统。这里的使用的安装方式是:先制作系统启动盘,然后通过启动盘安装系统。有的系统版本也可以直接升级系统。二.系统启动盘制作(1)如果电脑Mac系统且手头只有Win电脑下载MacOS系统极限苹果论坛给出了如下链接地址: macOS系统下载地址 , 链接内容中给出了各个版本系统的下载地址,并且给出了各个型号的Mac电脑适合安装的系统版本的最早版本和最新版本以及最推荐的版本。升

2021-08-16 20:54:45 367

原创 使用IDAPython dump 内存

在网上搜到的最多的 IDA dump 内存的脚本是类似以下的idc代码:static main(void){ auto fp, begin, end, dexbyte; fp = fopen("/home/t/tmpkqk.so", "wb"); begin = 0xCD96F000; end = begin + 0x2FB000; for ( dexbyte = begin; dexbyte < end; dexbyte ++ ) fputc(Byte(dexby

2021-07-26 16:40:14 1949

原创 跟踪okhttp3中https使用时的ssl握手过程

一.简介OKHttp是一个处理网络请求的开源项目,由移动支付Square公司贡献,用于替代HttpUrlConnection和Apache HttpClient(android API23 6.0里已移除HttpClient)。OKHttp处理的网络请求支持https,因此本篇文章主要时跟踪https使用时的ssl握手过程。二.跟踪代码...

2021-06-06 01:37:22 833 2

原创 RSA算法的填充模式

一. 简介RSA算法的常见的表现模式是多少位,例如1024、2048、4096等,这些并不是公钥或私钥的位数,而是模长。先简单介绍下RSA算法的密钥生成过程:给定两个大素数p、q,令 n = p*q;给定一个数e,使得e和φ(n)互质,则存在d,使得 e*d = 1 (mod φ(n)),d即是e对同余数φ(n)的模反元素;以上的 e,d分别是公钥和私钥,给出的通常会带有n,如公钥是(e, n),私钥是(d, n)。加解密过程,给定明文数字M(< n,加密时通常是字符串,转成大整数即可),

2021-05-30 14:37:13 5506 1

原创 Java中Ciher、MessageDigest 、Mac、Signature对应的代码使用步骤

一. 概览本篇文章主要记录下Java中Cipher对应加解密的代码步骤。Cipher封装的算法包括对称加密算法和非对称加密算法,如:AES、DES、DESede、RSA等。关于Cipher的大致步骤简而言之,可以分为:1.通过Cipher cipher = Cipher.getInstance(mode) 传入mode 获取加解密实例,如:Cipher.getInstance(“AES/CBC/PKCS5Padding”) ,mode 也可以直接是算法名称,此时将使用默认的加解密模式和填充模式,例如AE

2021-05-28 00:13:03 1031

原创 AES算法的参数

一.概览AES(Advanced Encryption Standard)是常用的对称分组密码算法之一,是美国NIST在2001年发布的,旨在代替DES称为广泛使用的标准。使用AES算法有很多种模式及填充方式。尽管不同模式的AES的核心加密算法是一致的,但不同模式下,加密的安全性和加解密速度等是有区别的,加密时使用的参数也会不同。另外AES是分组加密算法,会涉及到加密内容的分组,在最后一个组数据中,如果数据长度达不到加密的要求,就需要对最后一组进行填充,这时就涉及填充模式。二.AES算法的参数1.AE

2021-05-23 20:41:55 4465

原创 dex文件字节码查找对应smali指令

一.概述有的场景下可能会有通过smali指令获取对应opcode的需求,那这时就需要知道smali指令和其字节码(包含opcode)转化关系了。二.dex 字节码1.先给出两篇关于dalvik指令的官方文档链接:Bytecode for the Dalvik VM (列出了dalvik虚拟机上所有的指令)Dalvik VM Instruction Formats (给出了上一篇链接中所有指令对应的字节码模式)或者离线版本:在审核中2.smali指令与对应字节码相互转换1)查看dex字节码的

2021-05-16 00:13:10 1130

原创 python使用Django写个web服务器Demo

一.简介Django是python中的一个模块,可以用来搭建web服务器。用户使用时,直接往框架里加逻辑代码即可。但Django使用时得和python的版本搭配,不然代码在这台电脑上跑没问题,到另一台电脑跑可能就报错,版本关系如下:如果版本不匹配,得卸载django模块,通过以下命令重新安装:pip uninstall djangopip install django==version的方式安装对应的版本。二.创建django工程模块1.创建工程django-admin startproj

2021-05-15 01:30:06 397

原创 对Android应用启动时从ActivityThread.main到Application.onCreate的跟踪记录

一. 概述Android中启动应用时,在Zygote进程fork自己创建一个新进程后,就会调用ActivityThread.main,而这便是进入app的起始入口。本片文章主要是记录Android 8.0.0_r1从ActivityThread.main方法到加载apk,再到调用Application的attach、attachBaseContext、onCreate。二. ActivityThread.main/frameworks/base/core/java/android/app/Activi

2021-05-02 15:23:07 549 1

原创 对google手机编译android源码刷机

一.简介最近因为修改系统源码层某功能的代码,对多个版本的系统源码进行了编译,并刷到手机中。如果是单纯研究Android源码或Android手机系统层的某个功能,以google原生Android手机和源码为研究对象再适合不过了,因为google官方给出了很全面的源码编译/刷机等说明文档。编译和刷机常使用到的链接记录如下,后面章节也会进一步说明以下链接:下载源代码,下载前需要先安装repo:安装 Repo。国内推荐使用开源网站的镜像源,例如:清华大学开源软件镜像站-Android 镜像使用帮助搭建构建

2021-03-28 13:52:44 2659

原创 linux中wine安装方法、IDA中keypatch安装

lscpu 查看linux的cpu位数,32位表示您运行的是32位Linux操作系统,32位,64位表示您运行的是64位操作系统。推荐安装方法:sudo apt-get install wine64或者:sudo apt-get install wine32

2021-02-20 22:37:22 1193

原创 elf 文件格式细节记录

ELF文件是Linux系统中发明的很重要的文件,Linux系统中的可执行文件、Object文件、动态库文件都是ELF格式文件,它的地位就相当于Windows中的PE格式文件,不过整体上ELF文件比PE文件要设计地精简。ELF文件中大致分为文件头、段头表、结头表,剩下的就是段和结所指向的数据。一. elf文件头/* ELF Header */typedef struct elfhdr { unsigned char e_ident[EI_NIDENT]; /* ELF Identifi...

2020-10-08 01:00:31 520

原创 ELF文件格式在IDA中解析

一.ELF文件在IDA中展现形式ELF文件本身是一个二进制文件,对应IDA中 HEX VIEW 界面中内容,但用户关注更多的内容可能是 IDA VIEW。IDA VIEW中是对 HEX VIEW 界面中内容从头到尾的解析,并且内容一一对应(HEX VIEW内容偏移和IDA VIEW的左侧地址对应,不管鼠标在IDA VIEW还是HEX VIEW的哪个位置停留,点击进另一个界面时,地址或偏移都是对应的)。不管二进制文件有多大,解析的汇编内容都只是在IDA VIEW,只是文件很大时,解析会比较慢。如果二进制内

2020-10-08 00:18:27 3455

原创 com第六讲201708014:com设计用于脚本语言、ATL双接口工程生成com

一.兼容脚本语言的com的设计思想脚本语言简单地说就是一条条的文字命令,可以用记事本打开查看、编辑,脚本程序在执行时,由系统将其一条条的翻译成机器可识别的指令,并按程序顺序执行。因为脚本在执行时多了一道翻译的过程,所以它比二进制程序执行效率要稍低一些。各种动态语言,如VBS、ASP、PHP、CGI、JSP等,都是脚本语言。脚本语言的一大特点是它只能通过字符串给某编译器发指令并让编译器执行,却不能向其中添加代码,因此脚本语言是不用添加头文件的,既然如此,那么它该如何来使用com呢?有没有一种方式让编译器不

2020-07-15 23:48:16 234

原创 Android Studio的CMakeList.txt中针对不同ABI编译不同代码

一、前言最近需要处理针对不同 ABI 版本(如:“arm64-v8a”, “armeabi-v7a”, “x86”, “x86_64”)编译不同代码的事情。在 Android Studio 的工程中折腾了挺久,在这做个简单的总结。二、Eclipse 的 Android 工程针对不同ABI编译不同代码如果 Android 工程由 Eclipse 创建,则需要在 Application.mk 和 Android.mk 中指定编译的代码即可。如下:# Application.mk 文件...APP_A

2020-06-13 12:39:09 4346 1

原创 from Crypto.Cipher import AES报错时,使用 pip install pycryptodome

from Crypto.Cipher import AES报错时,使用 pip install pycryptodome 安装 pycryptodome 能解决问题(python2 和python3 都是),亲测有效。使用 pip installpycrypto 会报 需要Microsoft Visual C++ 14.0 is required 的错误。...

2020-03-05 14:47:52 718

原创 notepad++/vscode中去空行,去重复项,快捷写脚本等操作汇总

一.前言notepad++软件对于编辑txt文档或者中间转换的文字内容特别方便,可以快速替换、去空行、去重复字符串、多行同时加内容等。例如,对于网上查找的文字内容,要编辑替换一下,可以先拷贝到notepad++,替换后考回到excel或者word等文档中,对于初略的脚本,可以用多行添加字符串操作。二.操作汇总1.去空行操作方法1:notepad++中依次“编辑”–> “行操作” -...

2020-02-02 15:37:20 5312 1

原创 安装VMware Workstation安装时提示“无法安装服务VMAuthdService”解决记录

问题发生场景:安装VMware Workstation,卸载然后重新安装后,可能会弹框提示无法安装服务VMAuthdService。发生的原因是因为有VMAuthdService这个服务存在,使得无法继续安装VMware Workstation。在任务管理器的服务中能查看到该服务,下图是个VMware Workstation Server服务的例子(这里问题修复了,没有VMAuthdServic...

2020-01-29 17:47:57 9493

原创 Android Studio NDK中cpp代码链接第三方动态库libcrypro.so

一. 简介使用场景:JNI代码中使用libcrypro.so库和libssl.so库,Android Studio版本是3.4.2。Android系统中提供了libcrypro.so和libssl.so,存在/system/lib目录中,但是在NDK中并没有提供使用该库的头文件和库。不过openssl是开源的,能将其代码编译获得libcrypro.so和libssl.so,并且源码中提供头文件...

2019-08-04 00:04:41 1464 2

原创 Window上sqlcipher软件打不开32位密码的sqlite数据库解决方法

一. 前言最近要研究一个安卓应用的数据库加密,密码和数据库都导出来了,但用window上的sqlcipher.exe怎么都打不开,分析了应用的apk,里面用到的数据库是微信开源的那一套数据库。在导出微信的数据库,并获得密码后,sqlcipher.exe是能打开的。不过我研究的应用的数据库和微信的数据库唯一不同是:前者密码长度为32位,后者是7位。初步怀疑打不开的原因是:1. 我所研究的应用对微信...

2019-07-07 23:17:10 1346 1

原创 用Android Studio编写Xposed hook模块

一.前言过去用Eclipse写过很多Xposed hook模块,并有一定的封装,这几天临时用到Android Studio编写Xposed模块遇到一些坑,现在做一个笔记。二.Android Studio编写Xposede的步骤书写过程中,没有特定的步骤,只是按照个人习惯,将需要做到的几点记录下来。在安卓手机中安装好Xposed Installer模块,Android 4.4的系统,直接a...

2019-06-02 18:21:02 2242

原创 安卓逆向分析中常用动态调试方法总结

安卓逆向之----常用动态调试方法一. 前言逆向分析中常用的分析方法有:静态分析、动态调试、HOOK等。动态调试的好处是:1)可以在调试的过程中知道参数或者局部变量的值以及变化过程,2)可以快速履清代码运行的先后顺序,验证自己的想法是否正确。安卓中需要调试的代码有dex中代码和so中代码,对于dex层java代码调试,本人常用的是JEB调试和IDEA + Smalidea调试,so层代码是用I...

2019-06-01 01:09:47 11937 2

原创 MSDN2008下载

之前电脑上安装是MSDN2001,后来自己到网上想找更高版本的MSDN,找了很久才找到MSDN2008的下载地址,特地记录一下:https://www.microsoft.com/en-us/download/confirmation.aspx?id=20955。下载时,可选直接下载2.2G的文件,也可以下载分四批压缩的4个文件(将2.2G分散上传,方便用户一个个下载)。下载完,运行set...

2019-03-04 12:41:07 3865

原创 ndk生成elf可执行文件及动态库文件

    Eclipse中安装好adt插件后,就可以通过Eclipse开发Android工程,然后网上下载一个ndk包并解压,然后在Eclipse中填好ndk目录,之后便可以使用ndk。ndk最主要的功能是为了实现Android 的jni,除此功能外还可通过ndk生成elf可执行文件和so动态库文件,下面一一讲解其中细节。1. adt的安装和ndk的配置到能查找到很多教程,最终配置好后,如下界面...

2018-12-30 21:46:28 1000

原创 某mo通过Xposed自动抢红包

     最近鄙人接到一个分析某mo抢红包的单子,于是在网上搜到很多关于抢红包的例子,不过大多都是微信抢红包的例子,因此分析的时候也对微信抢红包进行了参考,要实现自动抢红包得通过两步实现:1.对红包消息的监听,2.对红包自动领取。    对红包消息的监听方法大同小异,hook 加入数据库的函数,hook JSONObject 的 toString 函数,初步估计某mo软件功能很多,有消息界面,...

2018-12-08 01:31:27 1784

原创 用xposed Hook框架Hook 安卓apk的按钮Id

 写这篇随笔,是因为最近在分析apk的某些功能代码时,老是要找相应按钮的监听函数。作为一个没多少经验的生手,我一开始是在jeb左上角目录的public.xml中查找可能的按钮的id号对应的名称,如发送消息的按钮,就找带 “send” 字符的id名称,虽然最后也能找到,但太费力了,效率也很低,作为新手想熟悉环节可以试一下。  一开始就想找个快捷的方法获得按钮的监听函数,但苦于没辙,也听很多人说可以用...

2018-06-20 09:48:44 2176

原创 在另一个进程中注入代码的方式20171013

在另一个进程中注入代码,可以实现程序员自己编写的功能,这为很多程序员提供了方便,同时也给恶意的黑客(当然黑客范畴很广,并不是一个贬义词,也有好的黑客)提供了可乘之机,不管怎样,注入代码很管用,能做到将代码注入到一个进程,却不被杀毒软件查杀到才最牛。要想另外一个进程能执行我们写入的代码,就是让另一进程执行我们写入的一个或多个函数功能,最简单的方法就是将函数代码写在dll中,然后通过远程线程注入该

2017-10-13 22:49:12 766

TestDynamicProxy.zip

Android 动态代理Demo

2021-11-24

android-msm-kernel-code-and-aarch64gcc-multi.zip.003

msm内核代码及AArch64位gcc工具 - 3

2021-10-17

android-msm-kernel-code-and-aarch64gcc-multi.zip.002

msm内核代码及AArch64位gcc工具 - 2

2021-10-17

android-msm-kernel-code-and-aarch64gcc-multi.zip.001

适用于 msm 编译64位的内核编译

2021-10-17

nlgphodeccebbcnkgmokeegopgpnjfkc-4.0.3.5-Crx4Chrome.com.crx

进入 Chrome 扩展程序管理页面(选项 - 更多工具 - 扩展程序)。打开 “开发者模式” ->拖进插件文件

2021-06-12

DexBytecodeGuidance.zip

http://www.dre.vanderbilt.edu/~schmidt/android/android-4.0/dalvik/docs/dalvik-bytecode.html 的离线版本

2021-05-15

elf解析工具及源代码

压缩包中parseElf.exe可读取节表、程序表、文件头、动态符号及相应的函数体机器码。如果没问题,欢迎批评指正,谢谢!

2020-10-07

forTestCPP.7z

Android Studio的CMakeList.txt中针对不同ABI编译不同代码,这种需求的人可能不多,因为AS中代码不同ABI是兼容的,只有在涉及底层汇编时,才有可能要求不同。当然也可能故意在ABI上实现不同功能。

2020-06-13

NdkUseLinkedSo.rar

《Android Studio NDK中cpp代码链接第三方动态库libcrypro.so》那篇博文对应的demo,里面有第三方链接libcrypto.so和libssl.so。

2019-08-03

AS_XposedModule.rar

AS_Xposed模块,安装好后,选中模块,重启后,点击GETDEVICEID这个按钮,如果Toast 11234,说明hook成功,如为300多,说明hook不成功。

2019-06-02

elf 控制台解析

代码使用VS2015编写的,里面有解析elf的文件头、节头、程序头、以及通过函数名查找函数代码所在的偏移和代码字节数,支持32位和64位,育德函数没有调用,可查看相应的ElfFile32.h和ElfFile64.h

2018-12-30

NDK jni中编程时帮助文档

下载并解压后,就可以使用QNX632.chm文件查询NDK编程中的使用函数,类似于WIndows中MSDN

2018-06-16

空空如也

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

TA关注的人

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