chore: update cos link
This commit is contained in:
@@ -12,7 +12,7 @@ IDA pro 是收费软件,价格极其昂贵,一套完全版人民币 10W 左
|
|||||||
|
|
||||||
## 0x00 IDA 简单介绍
|
## 0x00 IDA 简单介绍
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
IDA是一款交互式反汇编和反编译工具,其支持文件类型和文件平台丰富。
|
IDA是一款交互式反汇编和反编译工具,其支持文件类型和文件平台丰富。
|
||||||
|
|
||||||
@@ -20,7 +20,7 @@ IDA是一款交互式反汇编和反编译工具,其支持文件类型和文
|
|||||||
|
|
||||||
## 0x01 启动界面
|
## 0x01 启动界面
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
```
|
```
|
||||||
NEW:打开IDA同时弹出对话框选择要打开的文件
|
NEW:打开IDA同时弹出对话框选择要打开的文件
|
||||||
@@ -30,15 +30,15 @@ Previous,或者下面的列表项:快速打开之前的的文件
|
|||||||
|
|
||||||
这里选择Go键,打开以后,将文件拖入
|
这里选择Go键,打开以后,将文件拖入
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
这里按我们的默认选项点击OK即可
|
这里按我们的默认选项点击OK即可
|
||||||
|
|
||||||
## 0x02 关闭界面
|
## 0x02 关闭界面
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
```
|
```
|
||||||
第一个选项:就是不打包数据包文件,那么这些数据库文件就会分开这放。
|
第一个选项:就是不打包数据包文件,那么这些数据库文件就会分开这放。
|
||||||
@@ -53,15 +53,15 @@ Previous,或者下面的列表项:快速打开之前的的文件
|
|||||||
|
|
||||||
反汇编代码的图表窗口
|
反汇编代码的图表窗口
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
按**空格键**切换成文本结构的反汇编
|
按**空格键**切换成文本结构的反汇编
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
按**F5**进行反编译跳转至`Pseudocode`(伪代码)界面
|
按**F5**进行反编译跳转至`Pseudocode`(伪代码)界面
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
然后就可以分析代码逻辑了
|
然后就可以分析代码逻辑了
|
||||||
|
|
||||||
@@ -71,19 +71,19 @@ Previous,或者下面的列表项:快速打开之前的的文件
|
|||||||
|
|
||||||
十六进制窗口(不太常用)
|
十六进制窗口(不太常用)
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
## 0x05 主界面-Structures
|
## 0x05 主界面-Structures
|
||||||
|
|
||||||
结构体窗口
|
结构体窗口
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
## 0x06 主界面-Enums
|
## 0x06 主界面-Enums
|
||||||
|
|
||||||
枚举类型界面
|
枚举类型界面
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
## 0x07 主界面-Imports
|
## 0x07 主界面-Imports
|
||||||
|
|
||||||
@@ -91,23 +91,23 @@ Previous,或者下面的列表项:快速打开之前的的文件
|
|||||||
|
|
||||||
可以查看当前模块用了哪些模块的哪些函数
|
可以查看当前模块用了哪些模块的哪些函数
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
## 0x08 主界面-Exports
|
## 0x08 主界面-Exports
|
||||||
|
|
||||||
导出表
|
导出表
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
## 0x09 主界面-Strings
|
## 0x09 主界面-Strings
|
||||||
|
|
||||||
按`Shift+F12`转到`String`界面,该操作会搜索程序中的字符串数据并展示
|
按`Shift+F12`转到`String`界面,该操作会搜索程序中的字符串数据并展示
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
按`Ctrl+F`后输入想要检索的字符可以快速搜索字符串
|
按`Ctrl+F`后输入想要检索的字符可以快速搜索字符串
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
## 0x0a 其他界面-Functions
|
## 0x0a 其他界面-Functions
|
||||||
|
|
||||||
@@ -115,7 +115,7 @@ Previous,或者下面的列表项:快速打开之前的的文件
|
|||||||
|
|
||||||
其中一般来说`main`是程序的主要函数
|
其中一般来说`main`是程序的主要函数
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
## 0x0b 其他界面-Output
|
## 0x0b 其他界面-Output
|
||||||
|
|
||||||
@@ -125,13 +125,13 @@ Previous,或者下面的列表项:快速打开之前的的文件
|
|||||||
|
|
||||||
另外还可以直接在下面输入python语句,方便在ida使用过程中简单的数据处理
|
另外还可以直接在下面输入python语句,方便在ida使用过程中简单的数据处理
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
## 0x0c 其他界面-导航栏
|
## 0x0c 其他界面-导航栏
|
||||||
|
|
||||||
一个二进制文件包括不同的区块,这里显示程序的不同类型数据,不同的颜色代表二进制文件中不同的块
|
一个二进制文件包括不同的区块,这里显示程序的不同类型数据,不同的颜色代表二进制文件中不同的块
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -170,7 +170,7 @@ Previous,或者下面的列表项:快速打开之前的的文件
|
|||||||
|
|
||||||
IDA 提供可与其交互的IDA Python接口,可以使用Python做很多的辅助操作
|
IDA 提供可与其交互的IDA Python接口,可以使用Python做很多的辅助操作
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
可以参考这篇文章了解常用的接口
|
可以参考这篇文章了解常用的接口
|
||||||
|
|
||||||
@@ -184,17 +184,17 @@ IDA 提供可与其交互的IDA Python接口,可以使用Python做很多的辅
|
|||||||
|
|
||||||
可以先在汇编代码或伪代码界面下断点,然后`F9`选择调试器,这里直接选`Local Windows Debugger`
|
可以先在汇编代码或伪代码界面下断点,然后`F9`选择调试器,这里直接选`Local Windows Debugger`
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
之后就可以用F7(单步不跳过执行)/F8(单步跳过执行)/F9(继续执行,遇到断点停止)进行调试
|
之后就可以用F7(单步不跳过执行)/F8(单步跳过执行)/F9(继续执行,遇到断点停止)进行调试
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
### 调试Linux下的文件
|
### 调试Linux下的文件
|
||||||
|
|
||||||
可以先在汇编代码或伪代码界面下断点
|
可以先在汇编代码或伪代码界面下断点
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
由于Linux下文件调试比较特殊,需要远程起一个服务器运行服务端,这里可以使用**Vmware**或者**WSL2(Windows subsystem Linux)**进行调试
|
由于Linux下文件调试比较特殊,需要远程起一个服务器运行服务端,这里可以使用**Vmware**或者**WSL2(Windows subsystem Linux)**进行调试
|
||||||
|
|
||||||
@@ -240,21 +240,21 @@ int main() {
|
|||||||
|
|
||||||
##### 将程序拖入IDA
|
##### 将程序拖入IDA
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
##### F5分析查看伪代码
|
##### F5分析查看伪代码
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
发现有`change`和`check`的自定义函数
|
发现有`change`和`check`的自定义函数
|
||||||
|
|
||||||
按`n`修改一下变量名
|
按`n`修改一下变量名
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
分别进入里面查看函数逻辑
|
分别进入里面查看函数逻辑
|
||||||
|
|
||||||
@@ -262,11 +262,11 @@ int main() {
|
|||||||
|
|
||||||
change函数
|
change函数
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
check函数
|
check函数
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
###### 静态分析逻辑
|
###### 静态分析逻辑
|
||||||
|
|
||||||
@@ -280,19 +280,19 @@ change函数是对输入字符串的每一个字节进行修改
|
|||||||
|
|
||||||
随意的进行一些输入
|
随意的进行一些输入
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
然后断下来
|
然后断下来
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
F7进入函数进行单步不跳过调试
|
F7进入函数进行单步不跳过调试
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
遇到类似`strlen`等库函数可以F8单步调试跳过
|
遇到类似`strlen`等库函数可以F8单步调试跳过
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
可以发现输入字符串的每一个字节的Ascii值都减小了1
|
可以发现输入字符串的每一个字节的Ascii值都减小了1
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user