年度归档: 2022 年

26 篇文章

thumbnail
GeekPwn中的一个RE
babyre 题目链接:babyre.zip 程序无壳,是一个elf,可以直接分析。 首先执行程序,没有输入提示,但是有input error的输出错误提示。 可以看到程序中有这样一段字符串数据,可以根据这段字符串定位到主要逻辑。 定位到主要逻辑后,可以看到过程相对比较多。在程序的很多地方可以看到和36做对比,所以猜测flag的长度可能为36。其中…
thumbnail
Rust基础语法
一、基础语法 1、变量和常量 rust为强类型语言,但具有自动判断类型的能力,所以可以不用指定类型 关键词let用于声明变量,如let a =123;或let mut a = 123; 由于rust是强类型语言,所以下面代码是不合法的 let a=123; a=123 //不能把字符串赋值给整型变量 关键字coast用于声明常量,其用法和let相同…
AOSP的编译
前言 推荐使用海外服务器进行编译,节约时间,节约生命! 并且,官方推荐使用Ubuntu LTS进行编译,算上输出物需要500+G的空间。 官方文档见下载源代码 | Android 开源项目 | Android Open Source Project和 Building Android | Android Open Source Project 本文…
thumbnail
安卓的Socket通信
一、基于TPC的Socket通信服务端 1、使用ServerSocket实例化一个服务端Socket对象,参数为监听的端口号 2、调用ServerSocket.accept方法监听客户端的请求 该方法会在收到客户端请求前一直阻塞,直到收到了客户端消息,并且该方法的返回值是一个Socket对象 3、实例化一个InputStream对象用于接收来自客户…
thumbnail
内存管理
一、内存初始化 1、内存的初始化一般由BIOS或boot loader完成,由bios或boot loader将内存的大小传递给linux内核 2、在arm设备中,设备由DTS(Device Tree Source)描述,安卓中也是如此 3、在内核启动过程中,需要解析dts文件,其中使用early_init_dt_scan_memory()函数来解…