自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

微笑-向前行

真实,有料,有用。

  • 博客(38)
  • 资源 (4)
  • 收藏
  • 关注

转载 Fiddler -http/https抓包工具使用介绍-Android/iOS-抓包

一、Fiddler 介绍Fiddler是一个使用C#编写的http抓包工具。它使用灵活,功能强大,支持众多的http调试任务,是web、移动应用的开发调试利器。1,功能特点同Httpwatch、Firebug这些抓包工具一样,Fiddler够记录客户端和服务器之间的所有HTTP请求,可以针对特定的HTTP请求,分析请求数据、设置断点等。 但F...

2019-07-19 10:27:26 445

转载 API接口之安全篇

APP、前后端分离项目都采用API接口形式与服务器进行数据通信,传输的数据被偷窥、被抓包、被伪造时有发生,那么如何设计一套比较安全的API接口方案呢?一般的解决方案如下:1、Token授权认证,防止未授权用户获取数据;2、时间戳超时机制;3、URL签名,防止请求参数被篡改;4、防重放,防止接口被第二次请求,防采集;5、采用HTTPS通信协议,防止数据明文传输;一、Token授权认证HTTP协议是无状态的,一次请求结束,连接断开,下次服务器再收到请求,它就不知道这个请求是哪个用

2021-11-02 18:34:05 1764 1

转载 nexus 5 刷机

nexus 5 刷机that_is_this关注2018.03.17 17:36:50字数 1,002阅读 1,594源码编译和刷机编译Android 4.4.4 r1的源码刷Nexus 5手机详细教程 下载镜像https://developers.google.com/android/images#hammerhead 在这里寻找想要的系统版本 开始刷机,按照以下命令 参考网址:https://www.25pp.com/news/news_76805.html 1、

2021-07-08 19:16:42 1001 1

原创 2021-04-02

微信安装旧版本方法(抓包必备)老版本APK可以在公众号内下载1,先安装最新版本微信,并登陆2,使用命令保存用户数据方式卸载应用adb shell pm uninstall -k com.tencent.mm3,使用cmd命令安装旧版本apkadb install -r -d...

2021-04-02 16:16:47 271

转载 2021-04-02

大家在使用模拟器的时候,打开浏览器可能会遇到提示“该网站的安全证书有问题”不停的跳出的问题。下面就给大家介绍下解决办法:1、首先,我们使用鼠标左键,在弹出安全警告的提示框中点击继续按钮,直到点击没有此窗口为止,一般继续的次数会和访问的网站发送的请求次数有关系,所以完全可以点没掉此提示框,疯狂点击吧。 然后在点击没有的时候,点击右上角设置按钮(如图所示,三个小点),进入其中;2、在跳出的界面,我们下拉选择显示安全警告选项,把红框位置点击鼠标左键,打勾后,返回,这一步确保了之后点击任何网站都不会跳...

2021-04-02 15:01:28 132

转载 【Java】多线程初探

目录Java的线程状态 线程的创建和启动 一. 继承Thread类创建线程 二. 实现Runnable接口创建线程 三. 通过Callable接口和Future接口创建线程 四.通过线程池创建和管理线程 线程的运行 线程的阻塞(广义) 线程的终止 1. 共享变量结束线程 2. 利用中断机制结束线程 线程的常用方法调用 Thread.sleep Thr...

2020-02-24 19:07:08 95

转载 Python入门之os.walk()方法

os.walk方法,主要用来遍历一个目录内各个子目录和子文件。os.walk(top, topdown=True, onerror=None, followlinks=False) 可以得到一个三元tupple(dirpath,dirnames,filenames),第一个为起始路径,第二个为起始路径下的文件夹,第三个是起始路径下的文件。dirpath是一个s...

2019-12-28 13:13:21 140

转载 Python Os模块--路径、文件、系统命令等操作

os模块包含普遍的操作系统功能。注意:函数参数path是文件或目录的路径,filename是文件的路径,dirname是目录的路径,路径可以是相对路径,也可绝对路径常见或重要的函数为加粗字体os模块:os.name ----- 返回当前操作系统名称('posix', 'nt', 'os2', 'mac', 'ce', 'riscos'),windows为'nt',linux为'po...

2019-12-25 18:23:48 199

转载 Android Dalvik虚拟机之Dalvik指令集

1. 指令特点Dalvik指定在调用格式上模仿了C语言的调用约定。Dalvik指令的语法与助词符有如下特点: 参数采用从目标(destination)到源(source)的方式。 根据字节码的大小与类型不同,一些字节码添加了名称后缀以消除岐义。 32位常规类型的字节码末添加任何后缀。 64位常规类型的字节码添加 -wide后缀。 特殊类...

2019-12-15 11:32:10 280

原创 各类加密算法-Java版

在APP的网络协议中,这些对称加密和非对称加密算法常会用在APP和服务器的交互数据中request和response(部分可能会用在数据的签名),识别这些算法是非常重要的,这里给出整理好的Java版(smali层)加密算法,C/C++(so层)也类似,主要就是识别这两行...

2019-10-16 15:11:48 133

原创 请问 S2S 和C2S 是什么样的模式,两者之间的区别又是什么样的?

通用的OTT广告监测一般分为第三方SDK监测和第三方API监测两种,而第三方API监测又分为C2S(Client to Server) API和S2S(Server to Server) API两种。C2S即client to server,是指终端发出请求指令给下单代理服务器,终端获得指令并执行完成后,将完成指令发送给第三方监测代理的服务器,通过双方计数来进行准确的流量监测;S2S即se...

2019-09-23 15:29:21 13195 1

转载 详解Hook框架frida,为工作效率提速!

一、frida简介frida是一款基于python + java 的hook框架,可运行在androidioslinuxwinosx等各平台,主要使用动态二进制插桩技术。本期“安仔课堂”,ISEC实验室为大家详解frida,认真读完这篇文章会让你在逆向工作中效率成倍提升哦!1、插桩技术插桩技术是指将额外的代码注入程序中以收集运行时的信息,可分为两种:(1)源代码插桩[Sourc...

2019-08-08 14:31:16 3080 1

转载 Android逆向之旅—动态方式破解apk进阶篇(IDA调试so源码)

文章内容大纲 (右击展开→→)本文篇幅可能有点长,所以小编建议,关注公众号之后,可以点击收藏,慢慢看哦~~ 一、前言 二、知识准备 第一、IDA工具的使用 第二、常用的ARM指令集知识 三、构造so案例 四、开始破解so文件 第二、开始使用IDA进行调试设置 第三、总结IDA调试的流程 五、使用IDA来解决反调试问题 六、技术总结 七、总结 内容预览:...

2019-08-06 16:57:49 3788

原创 bat批量安装apk到真机

@echo offadb kill-serveradb start-serveradb wait-for-device:: 遍历ApkPath目录下apk文件进行安装:: %cd% 表示当前目录set ApkPath=%cd%cd %cd%for /R %%s in (*.apk) do ( echo %%s adb install -r "%...

2019-06-21 18:10:43 491 1

转载 Android应用程序进程启动过程(后篇)

前言在前篇中我们讲到了Android应用程序进程启动过程,这一篇我们来讲遗留的知识点:在应用程序进程创建过程中会启动Binder线程池以及在应用程序进程启动后会创建消息循环。1.Binder线程池启动过程我们首先来看RuntimeInit类的zygoteInit函数,如下所示frameworks/base/core/java/com/android/internal/os/RuntimeInit....

2018-04-04 10:13:13 172

转载 Android应用程序进程启动过程(前篇)

前言在此前我讲过Android系统的启动流程,系统启动后,我们就比较关心应用程序是如何启动的,这一篇我们来一起学习Android7.0 应用程序进程启动过程,需要注意的是“应用程序进程启动过程”,而不是应用程序启动过程。关于应用程序启动过程,我会在后续系列的文章中讲到。希望阅读这篇文章前先阅读本文列出的相关文章,要不你一脸蒙蔽,就别怪我了。1.应用程序进程概述要想启动一个应用程序,首先要保证这个应...

2018-04-04 10:12:21 190

转载 Android系统启动流程(四)Launcher启动过程与系统启动流程

 2017-02-23 ANDROID框架层 ANDROID框架层, ANDROID系统启动AndroidPIT-best-launchers-w782 (1)_副本.jpg前言此前的文章我们学习了init进程、Zygote进程和SyetemServer进程的启动过程,这一篇文章我们就来学习Android系统启动流程的最后一步:Launcher的启动流程,并结合本系列的前三篇文章的内容来讲解And...

2018-04-04 10:11:09 231

转载 Android系统启动流程(三)解析SyetemServer进程启动过程

前言上一篇我们学习了Zygote进程,并且知道Zygote进程启动了SyetemServer进程,那么这一篇我们就来学习Android7.0版本的SyetemServer进程的启动过程。1.Zygote启动SyetemServer进程在上一篇文章中我们讲到在ZygoteInit.java的startSystemServer函数中启动了SyetemServer进程,如下所示。frameworks/b...

2018-04-04 10:09:56 207

转载 Android系统启动流程(二)解析Zygote进程启动过程

前言上一篇文章我们分析了init进程的启动过程,启动过程中主要做了三件事,其中一件就是创建了Zygote进程,那么Zygote进程是什么,它做了哪些事呢?这篇文章会给你这些问题的答案。1.Zygote简介在Android系统中,DVM(Dalvik虚拟机)、应用程序进程以及运行系统的关键服务的SystemServer进程都是由Zygote进程来创建的,我们也将它称为孵化器。它通过fock(复制进程...

2018-04-04 10:09:04 162

转载 Android系统启动流程(一)解析init进程启动过程

前言作为“Android框架层”这个大系列中的第一个系列,我们首先要了解的是Android系统启动流程,在这个流程中会涉及到很多重要的知识点,这个系列我们就来一一讲解它们,这一篇我们就来学习init进程。1.init简介init进程是Android系统中用户空间的第一个进程,作为第一个进程,它被赋予了很多极其重要的工作职责,比如创建zygote(孵化器)和属性服务等。init进程是由多个源文件共同...

2018-04-04 10:07:32 180

转载 Android热修复技术总结

插件化和热修复技术是Android开发中比较高级的知识点,是中级开发人员通向高级开发中必须掌握的技能,插件化的知识可以查我我之前的介绍:Android插件化。本篇重点讲解热修复,并对当前流行的热修复技术做一个简单的总结。作者:佚名来源:程序师|2018-01-09 15:57 收藏  分享插件化和热修复技术是Android开发中比较高级的

2018-02-02 12:59:55 189

转载 Android安全机制介绍

本文从Android系统架构着手,分析Android的安全机制以SE Android,最后给出一些Android安全现状和常见的安全解决方案。1、Android系统架构   Android采用分层的系统架构,由下往上分别是linux内核层、硬件抽象层、系统运行时库层、应用程序框架层和应用程序层。  Android以Linux操作系统内核为基础,实现硬件设备驱动、进程

2018-02-02 12:04:32 276

原创 ARM指令(阅读笔记)

ARM寄存器基础笔记 1.2.2 寄存器组织    R8~R12 也是存放临时变量R13/SP 栈指针寄存器,记录栈顶地址(地址指向那,栈就在那)R14/LR 链接返回寄存器,保存程序返回地址,如函数调用返回CASE:当BL  fun返回地址保存在R14寄存器里R15/pC 保存CPU下一步执行的地址里面的指令 

2018-01-15 19:26:48 401

转载 ARM汇编之寄存器

在ARM处理器内部共有37个用户可访问的寄存器,分别为31个通用的32位寄存器和6个状态寄存器。一.通用寄存器:1.在汇编语言中,寄存器R0-R13为保存数据或地址值的通用寄存器。2.其中寄存器R0-R7为未分组的寄存器。对于任何处理器模式,它们都共享R0~R7的通用寄存器。3.寄存器R8-R12为两个分组的物理寄存器。   a.FIQ拥有自

2018-01-07 12:03:57 1084

转载 ANDROID JNI 智能指针

Android系统的运行时库层代码是用C++来编写的,用C++来写代码最容易出错的地方就是指针了,一旦使用不当,轻则造成内存泄漏,重则造成系统崩溃。不过系统为我们提供了智能指针,避免出现上述问题,本文将系统地分析Android系统智能指针(轻量级指针、强指针和弱指针)的实现原理。一、内存泄露与智能指针        在使用C++来编写代码的过程中,指针使用不当造成内存泄

2018-01-06 22:56:23 727

转载 android JNI中JNIEnv类型和jobject类型的解释

JNIEXPORT void JNICALL Java_com_jni_demo_JNIDemo_sayHello (JNIEnv * env, jobject obj){coutendl;}对于这个方法参数中的JNIEnv* env参数的解释:JNIEnv类型实际上代表了Java环境,通过这个JNIEnv* 指针,就可以对Java端的代码进行操作。例如,创建Java类中

2018-01-06 22:20:47 8613

转载 JNI 数据类型转换

1、基本数据类型下面一张表是描述了 Java 基本数据类型和JNI中基本数据类型的相对应关系已经占用空间大小。随便观察就能发现,其实就基本数据类型而已,JNI基本数据类型只是比Java基本数据类型前多了个’j’而已当然,JNI中还有个Java中没有的jsize,定义如下:typedef jint jsize;其实jsize整型是用来描述基本指标和大小,没有什么神秘的

2018-01-06 18:21:17 3951

原创 JNIEnv的使用在C和C++中的区别

Java调用C和C++函数时的JNI使用区别:注意:jni.h头文件中对于***.c & ***.cpp采用不同的定义在C的定义中,env是一个两级指针,而在C++的定义中,env是个一级指针C形式需要对env指针进行双重deferencing,而且须将env作为第一个参数传给jni函数jclass (JNICALL *GetObjectClass) (JNIEnv *env, jobject o

2018-01-06 18:19:31 1110

转载 Thumb和ARM指令的区别

Thumb指令集        Thumb指令可以看做是ARM指令压缩形式的子集,是针对代码密度【1】的问题而提出的,它具有16为的代码密度。Thumb不是一个完整的体系结构,不能指望处理程序只执行Thumb指令而不支持ARM指令集。因此,Thumb指令只需要支持通用功能,必要时,可借助完善的ARM指令集,例如:所有异常自动进入ARM状态。       在编写Thumb指令

2018-01-05 16:16:07 11858

原创 Android4.3源码分析--JNI本地接口层

第一章 分析JNI(Java 本地接口)层 2.1加载JNI库Android4.3的源码,与JNI相关的文件如下所示:./frameworks/base/media/java/android/media/MediaScanner.java./frameworks/base/media/jni/android_media_MediaScanner.cpp./f

2017-12-24 23:44:21 417

原创 Android4.3源码分析--Android世界

1.3.1 Activity 的界面表现Activitys是这五个组件中最常用的组件,程序中的Activity通常的表现形式是一个单独的界面(screen),每个Activity都是一个单独的类,它扩展实现了Activity基础类,整个类显示未一个由Views组成的用户界面,并响应事件,大多数程序都有多个Activity。 1.3.2 Intent和In

2017-12-24 23:40:37 274

转载 ARM支持的4种堆栈工作方式

1.满递增堆栈:堆栈指针指向最后压入堆栈的数据,且由低地址向高地址生成2.满递减堆栈:堆栈指针指向最后压入堆栈的数据,且由高地址向低地址生成3.空递增堆栈:堆栈指针指向下一个要放入数据的空位置,且由低地址向高地址生成4.空递减堆栈:堆栈指针指向下一个要放入数据的空地址,且由高地址向低地址生成ARM支持以上四种方式,在ARM中,通常使用

2017-12-15 16:01:13 2877

转载 Android eax, ebx, ecx, edx, esi, edi, ebp, esp 寄存器的作用

一般寄存器:AX、BX、CX、DXAX:累积暂存器,BX:基底暂存器,CX:计数暂存器,DX:资料暂存器索引暂存器:SI、DISI:来源索引暂存器,DI:目的索引暂存器堆叠、基底暂存器:SP、BPSP:堆叠指标暂存器,BP:基底指标暂存器EAX、ECX、EDX、EBX:為ax,bx,cx,dx的延伸,各為32位元ESI、EDI、ESP、EBP:為si,di,

2017-12-14 17:18:29 323

原创 Android ARM注释

Android JNI_OnLoad 简单注释JNI_onLoad汇编代码 EXPORT JNI_OnLoad.text:000022E0 JNI_OnLoad.text:000022E0.text:000022E0 var_C           = -0xC.text:000022E0.text:000022E0                 PUSH    {R

2017-12-13 19:03:59 324

原创 判断AndroidCPU32位还是64位

ELF文件头e_indent[]数组文件类标识索引private static final int EI_ClASS = 4; ELF文件头 e_indent[EI_CLASS]的取值:ELFCLASS32表示32位目标private static final int ELFCLASS32 =1; ELF文件头 e_indent[EI_CLASS]的取值:ELFCLASS6

2017-12-11 10:51:26 1942

转载 NDK环境搭建

转博客地址:http://blog.csdn.net/true100/article/details/51554309Android NDK 是指Android Native Development Kit,也被Google称为“NDK”。Android程序运行在Dalvik虚拟机中, NDK允许用户使用类似C / C++之类的原生代码语言执行部分程序。包括了:从C / C

2017-12-06 16:50:30 13519

原创 Eclipse c/c++ 环境搭建步骤 (MinGw 4.8.1 最新版本)

一、安装MinGW1、MinGW下载地址http://sourceforge.net/projects/mingw/files/Installer/mingw-get-inst/MinGW-MSYS Bundle--http://sourceforge.net/projects/mingwbundle/下载mingw-get-setup.exe安装器,并默认安装到C:\MinGW

2014-12-14 23:43:57 1706

原创 Android ARM 指令学习

......6.1原生程序ARM汇编语言,逆向你的helloworld6.2原生程序的生成过程1:预处理 “如include头文件"包含的头文件全部编译进来,还有#define预定义,#if预条件处理等也都在这里被编译器处,详细的输出可以给gcc编译器传递”-E“,选项查看。2,编译编译器首先要检查代码的规范性,以及是有语法错误等,以及代码实际要做的工作,检查无误后

2014-10-28 13:30:34 643

ARM汇编基础

汇编语言是一种功能很强的程序设计语言,也是利用计算机所有硬件特性并能直接控制硬件的语言。目前在嵌入式开发、单片机开发、系统软件设计、某些快速处理、位处理、访问硬件设备等高效程序的设计方面有较多应用。ARM处理器是一种16/32位的高性能、低成本、低功耗的嵌入式RISC微处理器,由ARM公司设计,然后授权给各半导体厂商生产。它目前已经成为应用最为广泛的嵌入式处理器。

2014-11-07

最新ios开发语言

非常好的ios开发文档,内容简洁精悍,清楚明了。

2014-07-12

Android瀑布流效果

android最好的瀑布流效果,史上最好,最炫的Android效果, android程序员,想要的来down,过期不候哦!

2013-08-17

Android 自定义控件

最全的自定义控件讲解,速来下载,过期不候!

2013-08-17

空空如也

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

TA关注的人

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