面试题整理3(逆向基础)
一.汇编与逆向 函数调用约定 cdecl:C 语言的调用约定(VS 默认) * int __cdecl cdecl_add(int a, int b) * { * return a + b; * } * // 从右到左使用栈传参,函数[外]平衡堆栈 * int resultB = cdecl_add(1, 2); * // push 2 * // push ...
一.汇编与逆向 函数调用约定 cdecl:C 语言的调用约定(VS 默认) * int __cdecl cdecl_add(int a, int b) * { * return a + b; * } * // 从右到左使用栈传参,函数[外]平衡堆栈 * int resultB = cdecl_add(1, 2); * // push 2 * // push ...
一、Windows编程基础 1. windows 基础概念 Windows是一个基于消息模型面向对象的分时操作系统 Windows GUI程序的入口函数: WinMain 2. Windows 编程框架 创建窗口类:WNDCLASS WndClass = { 0 }; 重点是窗口类名和消息回调函数 注册窗口类:RegisterClass() 创建...
一、计算机基础部分 1. 原码、反码和补码 原码:原码的最高位保存的是它的符号位,负数的最高位为1 反码:反码就是将原码除符号位外按位取反 补码:补码就是反码+1. 2. 二进制、十进制和十六进制 二进制:0 1 十进制:0 1 2 3 4 5 6 7 8 9 十六进制:0 1 2 3 4 5 6 7 8 9 A B C D E F 3. 进制间的转换方式 不同进制到十进制...
1.基础知识 1. Linux的常用命令有哪些? Linux的常用命令有很多,根据不同的功能和用途,可以分为以下几类: 文件和目录操作命令,如ls、cd、cp、mv、rm等 系统状态查看命令,如stat、who、whoami、hostname、uname、top、ps、du、df、ifconfig、free等 文本处理命令,如cat、echo、grep、sed、awk 压缩和解压缩命...
android面试问题 1、项目里静态分析和基于xposed动态工具介绍一下,如果不使用xposed,怎么实现动态分析工具? 静态分析工具是指在不运行程序的情况下,通过对程序文件进行源代码分析,从而对程序的安全性、可靠性、性能等进行分析的工具。它可以识别出程序文件中的漏洞,但只能识别出程序文件中的静态漏洞,不能识别出程序在运行中可能出现的动态漏洞。 xposed是一款可以为Android...
企业常见174道面试题 1. SD卡 路径 a).Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED) b).Environment.getExternalStorageDirectory().getPath() //sd卡路径 ->/storage/emulated/0 c).Environ...
算法高频面试题 1.什么是素数 素数的定义看起来很简单,如果⼀个数如果只能被 1 和它本⾝整除,那么这个数就是素数。 不要觉得素数的定义简单,恐怕没多少⼈真的能把素数相关的算法写得⾼效。⽐如让你写这样⼀个函数: // 返回区间 [2, n) 中有⼏个素数 int countPrimes(int n) / / ⽐如 countPrimes(10) 返回 4 / 因为 2,3,5,7 是素数...
音视频开发高频面试题 1.为什么巨大的原始视频可以编码成很小的视频呢?这其中的技术是什么呢? 1)空间冗余:图像相邻像素之间有较强的相关性 2)时间冗余:视频序列的相邻图像之间内容相似 3)编码冗余:不同像素值出现的概率不同 4)视觉冗余:人的视觉系统对某些细节不敏感 5)知识冗余:规律性的结构可由先验知识和背景知识得到 2.怎么做到直播秒开优化? DNS 解析慢 为了有效降低 D...
第一节 Java 基础部分 1.1 抽象类与接口的区别? 大体区别如下: 抽象类可以提供成员方法的实现细节,而接口中只能存在 public 抽象方法; 抽象类中的成员变量可以是各种类型的,而接口中的成员变量只能是 public static final 类型的; 接口中不能含有构造器、静态代码块以及静态方法,而抽象类可以有构造器、静态代码块和静态方法; 一个类只能继承一个抽象类,而一个...
1.1 Activity 与 Fragment 之间常见的几种通信方式? 使用Intent:可以使用Intent来在Activity和Fragment之间传递数据,Intent还可以用来启动新的Activity或Fragment。 使用Bundle:Bundle是一种将数据封装成key-value形式的存储方式,可以在Activity和Fragment之间进行数据传递。 使用接...