- 博客(12)
- 收藏
- 关注
原创 网络包相关
抓包功能通过libpcap封装的API实现,Linux内核提供了一种BPF机制,让用户可以监控链路层的数据包,但tcpdump并未直接使用BPF,而是通过封装的libpcap实现了类似的功能,在数据到达硬件层面的网络接口时,该硬件在将数据传递给内核的同时拷贝一份到tcpdump中,从而实现监控网络协议功能,但无法对接收与发送的数据进行任何的修改。第二行(数据链路层):以太网 Ⅱ,头部信息,发送方Mac地址:06:31:22:50:65:e7 , 目标Mac地址:7e:b9:a2:e3:9e:a8。
2024-10-30 17:14:00 119
原创 Xposed 模块开发
下载Xposed的jar包新建Android项目,识别为Project,在main文件夹下添加lib文件夹,导入jar包,右键jar包,点击线面的add****(将该文件添加为项目的依赖)。在main目录下新建assets文件夹,新建init文件,填写插件的入口类的路径打印堆栈XposedBridge.log("Dump Stack: " + "---------------start----------------");
2023-11-10 14:47:58 148 1
原创 so文件相关
上图可以看到plt节是作为一个中转的跳转(在跳转过程中存在一些首次运行got中函数问题,这里不做深入探讨),这样在so文件加载时可大幅减少启动时间,类似于Android7.0以后的运行时编译机制,官方翻译为plt的延迟绑定机制。程序加载so时,会将got表中的函数地址与全局变量全部回填到汇编代码中,如果程序启动只是需要用到该so中的小部分函数,这样会大大增加启动时间,plt节因此被创造。got:全局变量和函数地址表,用于处理全局变量和函数调用的地址解析。plt:函数调用表,用于处理动态链接中的函数调用。
2023-09-02 19:41:37 286
原创 Android 实用软件及环境
安装:将要操作的dex文件,移到解压后的目录中,cmd中 cd 到解压后目录下,d2j-dex2jar.bat 要反编译的文件名,编译成功后,生成同文件夹下的.jar文件。使用Android killer 无法重新打包时使用,好处是你改了哪个文件,他就只重新打包哪个。生成的.jar文件可以拖到jadx中看java代码。
2023-02-13 15:58:56 287
原创 Android源码学习
Dalvik调用链:ApplicationLoaders (new)-> pathClassloader (继承) -> BaseDexClassLoader (new) -> DexPathList (构造中调用)-> makeDexElements (调用)-> loadDexFile (new)-> DexFile。(判断是否有优化路径,没有则生成,有则直接使用优化路径调用loadDex,就是APP是否是第一次运行)
2023-02-10 15:50:14 243
原创 GDB + GDB server环境安装
发(如果在同一局域网内,不需要设置这步,这里设置是设置对于模拟器上数据的端口转发。加载文件(用这个命令可以加载符号表)(需要注意的是,这个指令的默认目录为。功能强大,不过限于我的水平,使用的不是很好,更多的功能请使用。可执行程序),这里为了方便使用,我将改目录加入了。,执行是请检查自己的权限,最好 是 su。),找到后可在对应文件的上级目录找到。路径”的方法给文件可执行的权限,使用。启动服务(这里有个小技巧,可以将文件。,建议将需要加载的文件复制过来加载)启动程序的方式(这种方式我只会启动。
2022-12-30 17:50:54 653
转载 Android杂项
当java程序编译成class后,还需要使用dx工具将所有的class文件整合到一个dex文件,目的是其中各个类能够共享数据,在一定程度上降低了冗余,同时也是文件结构更加经凑,实验表明,dex文件是传统jar文件大小的50%左右。最开始ART只采用AOT编译,在App安装时就编译所有代码存储在本地,打开App直接运行,这样做的优点是应用运行速度变快,缺点也很明显,App安装时间明显变长,而且占用存储空间较大。1.作用:初始化时间,时区,语言等;第一页为0,第二页为10,第三页为20,类推。
2022-09-27 18:11:46 873
原创 C语言的简单爬虫(个人学习笔记)
实现代码:#include <WinSock2.h>#include <ws2tcpip.h>#include<string.h>#include <stdio.h>#include <stdlib.h>#include <windows.h>#pragma warning(disable:4996)#pragma comment(lib,"ws2_32.lib")void check_result(bool
2021-12-29 18:07:17 4013
原创 任务管理器的远程线程注入:实现隐藏自身程序(个人学习笔记)
一、总体思路1.遍历进程找到任务管理器,在该进程申请空间(申请空间strlen 不包括\0,后面写入路径时需要\0,所以申请内存时应该稍大,内存属性设置为 MEM_COMMIT 提交至进程内存),写入dll路径,运行dll2.dll:hook任务管理器遍历进程函数并HOOK3.判断进程名称是否为自身进程4.判断为自身进程时 通过返回值等其他手段隐藏自身实现代码:EXE#include <stdio.h>#include <windows.h>#incl
2021-12-29 17:54:19 963
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人