导航:首页 > 源码编译 > pe反编译程序教材

pe反编译程序教材

发布时间:2023-05-21 03:29:46

❶ 反编译Android APK的具体步骤是怎样的

1、配置好JAVA环境变量,下载:apktool 解压的文件放在C盘根目录的apktool文件夹里(apktool文件夹自己创立)
2打开命令提示符,(开始-运行-输入cmd)
3输入:cd \apktool 系统指令到了apktool文件夹(这里就是为什么要把解压的apktool解压的文件放到apktool文件夹的原因,当然你也可以自命名文件夹的名称,那么比如arc,那么指令就变成了:cd \arc 前提是你必须把apktool解压的文件放到这个文件夹里面)
4使用RE管理器把系统里面的framework-res.apk 与 SystemUI.apk 提取出来放在apktool文件夹里面

5 如果只是想反编译framework-res.apk

输入apktool if framework-res.apk(框架的建立)
6开始最重要的反编译,输入指令,apktool d framework-res.apk

(反编辑的APK一定要用没换过图片的,否则回编辑失败)
7最后反编译完成

修改代码完成后,输入代码:apktool d framework-res 即可完成回编译
8回编译后的新的 apk在framework/dis 文件夹里面
9如果反编译的是系统文件,比如,SystemUI.apk 那么必须进行挂载框架,反编译时,必须敲入一下命令:(然后再重复7-9步骤)
apktool if framework-res.apk
apktool if SystemUI.apk

10对于三星手机(比如9100、9108/9100G),如果反编译SystemUI.apk要敲入一下命令进行框架挂载apktool if framework-res.apk
apktool if twframework-res.apk
apktool if SystemUI.apk
11回编译的命令是 apktool b XXX (没有后面的apk后缀)反编译的命令是 apktool d xxx (有后面的apk)

❷ 如何对一个exe程序反编译得到它的汇编程序 下了一个 pe explorer 但是不太看的懂 求指教

生成的程序是不能看到源代码的,不过可以看到那个程序的资源,用e-code explorer 反汇编调试由易语言编译生成的易格式可执行文件,分析内部结构,查看其中的各项数据。。格式分析:分析易格式可执行文件的总体结构,查看对应项的数

❸ 什么是PE文件分析呀

即对PE文件的分析。

PE 文件格式
对 PE 的一些说明: PE 是 Portable Excutable 的缩写,是指“可移植可执行”文件,是 32 位 Windows (包括 OS/2 )可执行文件的标准格式。以前的 16 位 Windows 可执行文件的格式称为 NE ,即 New Excutable “新可执行”文件。参考: NE 文件格式

一、简介

PE文件最前面是一个DOS可执行文件(STUB),这使PE文件成为一个合法的MS-DOS可执行
文件。
DOS文件头后面是一个32位的PE文件标志0X00004550(IMAGE_NT_SIGNATURE)。
接着就是PE的文件头了,包含的信息有该程序运行平台、有多少段(sections)、文件
链接的时间、它是一个可执行文件(EXE)还是一个动态链接库(DLL)或是其他。
后面紧接着有一个“可选”头部(这个部分总是存在,但是因为COFF在库(Libraries)
中用了这个词,在一可执行模块中并没有用这个词,但是仍被叫做可选的)。这可部分包含程
序加载的更多的信息:开始地址、保留堆栈数量、数据段大小等等。
可选头中还有一个重要的域是一叫做“数据目录表”(data directories)的数组;表
中的每一项是一个指向某一个段的指针。例如:如果某程序有一个输出目录表(export dire
ctory ),那你就会在数据目录表中找到一个为IMAGE_DIRECTORY_ENTRY_EXPORT的指针,并且
它将指向某一个段。
可选头的下面就是“段”(sections)了,通过一个叫做“段头”(section headers)
的结构索引。实际上,段的内容才是你要真正执行的程序,上面介绍的所有的文件头及目录表
等信息就是为了能正确的找到它。
每一个段都有一些有关的标志,例如它包含什么数据(“初始化数据”或其他),它能
否被共享等,及它数据本身的特征。大多数情况下(并不是全部),每个段会被一个或多个目
录表指向,目录表可通过可选头的“数据目录表”的入口找到,就象输出函数表或基址重定位
表。也有没有目录表指向的段,如可执行代码或初始化数据。
整个文件结构如下:
+-------------------+
| DOS-stub |
+-------------------+
| file-header |
+-------------------+
| optional header |
|- - - - - - - - - -|
| |
| data directories |
| |
+-------------------+
| |
| section headers |
| |
+-------------------+
| |
| section 1 |
| |
+-------------------+
| |
| section 2 |
| |
+-------------------+
| |
| ... |
| |
+-------------------+
| |
| section n |
| |
+-------------------+

下面介绍一下相关虚拟地址(Relative Virtual Addresses)
PE格式文件中经常用到RVA,即相关虚拟地址,用在不知道基地址的情况下表示一个内存
地址。它需要加上基地址才能得到线性地址(Linear address)。
例如:假设一个可执行程序调入内存0x400000处并且程序从RVA 0x1560处开始执行。那
么正确的开始地址是0x401560。如果可执行程序调入0x100000处,则开始地址为0x101560。
因为PE文件的每一个段不必按同样的边界对齐方式调入,因此RVA地址的计算变得比较复
杂。例如,在文件中每一个段往往按512个字节的方式对齐,而在内存中可能以4096字节的方
式对齐。这方面的介绍可见下面的“SectionAlignment”、“FileAlignment”。举个例子,
假设你知道一个程序从RVA 0x1560开始执行,你想从那儿反汇编它。你发现内存中的段对齐方
式为4096并且.code段开始于内存RVA 0x1560并且有16384字节长;那么你可以知道RVA 0x156
0在这个段的0x560处。你又发现这个段在文件中以512字节方式对齐并且.code开始于文件0x8
00处,那现在你知道了可执行程序开始于0x800+0x560 = 0xd60处。

二、DOS头(DOS-stub )
众所周知DOS头的概念是从16位的WINDOWS可执行程序(NE格式)中来的,这个部分主要
用在OS/2可执行程序、自解压文档及其他应用程序。在PE格式文件中,大多数程序的这个部分
中只有大约100个字节的代码,只输出一个诸如“this program needs windows NT ”之类的
信息。
你可以通过一个叫做IMAGE_DOS_HEADER的结构来识别一个合法的DOS头。这个结构的头两
个字节一定是“MZ”(#define IMAGE_DOS_SIGNATURE "MZ")。怎么才能找到PE开始的标志呢
?你可以通过该结构的一个叫做“e_lfanew”(offset 60,32bits) 的成员来找到它。在O
S/2及16位WINDOWS程序中这个标志是一个16位的字;在PE程序中,它是一个32位的双字,值为
0x00004550(#define IMAGE_NT_SIGNATURE 0x00004550)。

typedef struct _IMAGE_DOS_HEADER { // DOS .EXE header
WORD e_magic; // Magic number
WORD e_cblp; // Bytes on last page of file
WORD e_cp; // Pages in file
WORD e_crlc; // Relocations
WORD e_cparhdr; // Size of header in paragraphs
WORD e_minalloc; // Minimum extra paragraphs needed
WORD e_maxalloc; // Maximum extra paragraphs needed
WORD e_ss; // Initial (relative) SS value
WORD e_sp; // Initial SP value
WORD e_csum; // Checksum
WORD e_ip; // Initial IP value
WORD e_cs; // Initial (relative) CS value
WORD e_lfarlc; // File address of relocation table
WORD e_ovno; // Overlay number
WORD e_res[4]; // Reserved words
WORD e_oemid; // OEM identifier (for e_oeminfo)
WORD e_oeminfo; // OEM information; e_oemid specific
WORD e_res2[10]; // Reserved words
LONG e_lfanew; // File address of new exe header
} IMAGE_DOS_HEADER, *PIMAGE_DOS_HEADER;

三、文件头(File Header)
通过DOS头,你可以找到一个叫做IMAGE_FILE_HEADER的结构,如下;下面我分别介绍一
下。

typedef struct _IMAGE_FILE_HEADER {
WORD Machine; //0x04
WORD NumberOfSections; //0x06
DWORD TimeDateStamp; //0x08
DWORD PointerToSymbolTable; //0x0c
DWORD NumberOfSymbols; //0x10
WORD SizeOfOptionalHeader; //0x14
WORD Characteristics; //0x16
} IMAGE_FILE_HEADER, *PIMAGE_FILE_HEADER;

Machine:表示该程序要执行的环境及平台,现在已知的值如下:
IMAGE_FILE_MACHINE_I386(0x14c)
Intel 80386 处理器以上
0x014d
Intel 80486 处理器以上
0x014e
Intel Pentium 处理器以上
0x0160
R3000(MIPS)处理器,高位在前
IMAGE_FILE_MACHINE_R3000(0x162)
R3000(MIPS)处理器,低位在前
IMAGE_FILE_MACHINE_R4000(0x166)
R4000(MIPS)处理器,低位在前
IMAGE_FILE_MACHINE_R10000(0x168)
R10000(MIPS)处理器,低位在前
IMAGE_FILE_MACHINE_ALPHA(0x184)
DEC Alpha AXP处理器
IMAGE_FILE_MACHINE_POWERPC(0x1f0)
IBM Power PC,低位在前
NumberOfSections:段的个数,段的概念我们将在下面介绍。
TimeDateStamp:文件建立的时间。你可用这个值来区分同一个文件的不同的版本,即使
它们的商业版本号相同。这个值的格式并没有明确的规定,但是很显然的大多数的C编译器都
把它定为从1970.1.1 00:00:00以来的秒数(time_t )。这个值有时也被用做绑定输入目录表
,这将在下面介绍。
注意:一些编译器将忽略这个值。
PointerToSymbolTable 及 NumberOfSymbols:用在调试信息中,我不太清楚它们的用途
,不过发现它们总为0。
SizeOfOptionalHeader:可选头的长度(sizeof IMAGE_OPTIONAL_HEADER)你可以用它
来检验PE文件的正确性。
Characteristics:是一个标志的集合,其中大部分的位用在目标文件(OBJ)或库文件
(LIB)中:
Bit 0 (IMAGE_FILE_RELOCS_STRIPPED):置1表示文件中没有重定向信息。每个段都
有它们自己的重定向信息。这个标志在可执行文件中没有使用,在可执行文件中是用一个叫做
基址重定向目录表来表示重定向信息的,这将在下面介绍。
Bit 1 (IMAGE_FILE_EXECUTABLE_IMAGE):置1表示该文件是可执行文件(也就是说
不是一个目标文件或库文件)。
Bit 2 (IMAGE_FILE_LINE_NUMS_STRIPPED):置1表示没有行数信息;在可执行文件
中没有使用。
Bit 3 (IMAGE_FILE_LOCAL_SYMS_STRIPPED):置1表示没有局部符号信息;在可执行
文件中没有使用。
Bit 4 (IMAGE_FILE_AGGRESIVE_WS_TRIM):
Bit 7 (IMAGE_FILE_BYTES_REVERSED_LO)
Bit 15 (IMAGE_FILE_BYTES_REVERSED_HI):表示文件的字节顺序如果不是机器所期
望的,那么在读出之前要进行交换。在可执行文件中它们是不可信的(操作系统期望按正确的
字节顺序执行程序)。
Bit 8 (IMAGE_FILE_32BIT_MACHINE):表示希望机器为32位机。这个值永远为1。
Bit 9 (IMAGE_FILE_DEBUG_STRIPPED):表示没有调试信息,在可执行文件中没有使
用。
Bit 10 (IMAGE_FILE_REMOVABLE_RUN_FROM_SWAP):置1表示该程序不能运行于可移
动介质中(如软驱或CD-ROM)。在这种情况下,OS必须把文件拷贝到交换文件中执行。
Bit 11 (IMAGE_FILE_NET_RUN_FROM_SWAP):置1表示程序不能在网上运行。在这种
情况下,OS必须把文件拷贝到交换文件中执行。
Bit 12 (IMAGE_FILE_SYSTEM):置1表示文件是一个系统文件例如驱动程序。在可执
行文件中没有使用。
Bit 13 (IMAGE_FILE_DLL):置1表示文件是一个动态链接库(DLL)。
Bit 14 (IMAGE_FILE_UP_SYSTEM_ONLY):表示文件被设计成不能运行于多处理器系
统中。

四、可选头(Optional Header)
文件头下面就是可选头,这是一个叫做IMAGE_OPTIONAL_HEADER的结构。它包含很多关于
PE文件定位的信息。下面分别介绍:
typedef struct _IMAGE_OPTIONAL_HEADER {
//
// Standard fields.
//
WORD Magic; //0x18
BYTE MajorLinkerVersion; //0x1a
BYTE MinorLinkerVersion; //0x1b
DWORD SizeOfCode; //0x1c
DWORD SizeOfInitializedData; //0x20
DWORD SizeOfUninitializedData; //0x24
DWORD AddressOfEntryPoint; //0x28
DWORD BaseOfCode; //0x2c
DWORD BaseOfData; //0x30
//
// NT additional fields.
//
DWORD ImageBase; //0x34
DWORD SectionAlignment; //0x38
DWORD FileAlignment; //0x3c
WORD MajorOperatingSystemVersion; //0x3e
WORD MinorOperatingSystemVersion; //0x40
WORD MajorImageVersion; //0x42
WORD MinorImageVersion; //0x44
WORD MajorSubsystemVersion; //0x46
WORD MinorSubsystemVersion; //0x48
DWORD Win32VersionValue; //0x4c
DWORD SizeOfImage; //0x50
DWORD SizeOfHeaders; //0x54
DWORD CheckSum; //0x58
WORD Subsystem; //0x5c
WORD DllCharacteristics; //0x5e
DWORD SizeOfStackReserve; //0x60
DWORD SizeOfStackCommit; //0x64
DWORD SizeOfHeapReserve; //0x68
DWORD SizeOfHeapCommit; //0x6c
DWORD LoaderFlags; //0x70
DWORD NumberOfRvaAndSizes; //0x74
IMAGE_DATA_DIRECTORY DataDirectory[IMAGE_NUMBEROF_DIRECTORY_ENTRIES];
} IMAGE_OPTIONAL_HEADER, *PIMAGE_OPTIONAL_HEADER;

Magic:这个值好象总是0x010b。
MajorLinkerVersion及MinorLinkerVersion:链接器的版本号,这个值不太可靠。
SizeOfCode:可执行代码的长度。
SizeOfInitializedData:初始化数据的长度(数据段)。
SizeOfUninitializedData:未初始化数据的长度(bss段)。
AddressOfEntryPoint:代码的入口RVA地址,程序从这儿开始执行。
BaseOfCode:可执行代码起始位置,意义不大。
BaseOfData:初始化数据起始位置,意义不大。
ImageBase:载入程序首选的RVA地址。这个在址可被Loader改变。
SectionAlignment:段加载后在内存中的对齐方式。
FileAlignment:段在文件中的对齐方式。
MajorOperatingSystemVersion及MinorOperatingSystemVersion:操作系统版本,Load
er并没有用它。
MajorImageVersion及MinorImageVersion:程序版本。
MajorSubsystemVersion及MinorSubsystemVersion:子系统版本号,这个域系统支持;
例如:如果程序运行于NT下,子系统版本号如果不是4.0的话,对话框不能显示3D风格。
Win32VersionValue:这个值好象总是为0。
SizeOfImage:程序调入后占用内存大小(字节),等于所有段的长度之和。
SizeOfHeaders:所有文件头的长度之和,它等于从文件开始到第一个段的原始数据之间
的大小。
CheckSum:校验和。它仅用在驱动程序中,在可执行文件中可能为0。它的计算方法Mic
rosoft不公开,在imagehelp.dll中的CheckSumMappedFile()函数可以计算它。
Subsystem:NT子系统,可能是以下的值:
IMAGE_SUBSYSTEM_NATIVE (1)
不需要子系统。用在驱动程序中。
IMAGE_SUBSYSTEM_WINDOWS_GUI(2)
WIN32 graphical程序(它可用AllocConsole()来打开一个控制台,但是不能在
一开始自动得到)。
IMAGE_SUBSYSTEM_WINDOWS_CUI(3)
WIN32 console程序(它可以一开始自动建立)。
IMAGE_SUBSYSTEM_OS2_CUI(5)
OS/2 console程序(因为程序是OS/2格式,所以它很少用在PE)。
IMAGE_SUBSYSTEM_POSIX_CUI(7)
POSIX console程序。
Windows95程序总是用WIN32子系统,所以只有2和3是合法的值。
DllCharacteristics:Dll状态。
SizeOfStackReserve:保留堆栈大小。
SizeOfStackCommit:启动后实际申请的堆栈数,可随实际情况变大。
SizeOfHeapReserve:保留堆大小。
SizeOfHeapCommit:实际堆大小。
LoaderFlags:好象没有用。
NumberOfRvaAndSizes:下面的目录表入口个数,这个值也不可靠,你可用常数IMAGE_N
UMBEROF_DIRECTORY_ENTRIES来代替它,值好象总等于16。
DataDirectory:是一个IMAGE_DATA_DIRECTORY数组,数组元素个数为IMAGE_NUMBEROF_
DIRECTORY_ENTRIES,结构如下:
typedef struct _IMAGE_DATA_DIRECTORY {
DWORD VirtualAddress;
DWORD Size;
} IMAGE_DATA_DIRECTORY, *PIMAGE_DATA_DIRECTORY;
VirtualAddress:起始RVA地址。
Size:长度。
每一个目录表代表以下的值:
IMAGE_DIRECTORY_ENTRY_EXPORT (0)
IMAGE_DIRECTORY_ENTRY_IMPORT (1)
IMAGE_DIRECTORY_ENTRY_RESOURCE (2)
IMAGE_DIRECTORY_ENTRY_EXCEPTION (3)
IMAGE_DIRECTORY_ENTRY_SECURITY (4)
IMAGE_DIRECTORY_ENTRY_BASERELOC (5)
IMAGE_DIRECTORY_ENTRY_DEBUG (6)
IMAGE_DIRECTORY_ENTRY_COPYRIGHT (7)
IMAGE_DIRECTORY_ENTRY_GLOBALPTR (8)
IMAGE_DIRECTORY_ENTRY_TLS (9)
IMAGE_DIRECTORY_ENTRY_LOAD_CONFIG (10)
IMAGE_DIRECTORY_ENTRY_BOUND_IMPORT (11)
IMAGE_DIRECTORY_ENTRY_IAT (12)

❹ PEExplorer反编译如何设置


大档磨家知道吗?下文就是全部内容,相信对大家会有所帮助的,一起来看看吧!
1.实现包含第三方册枣组件的行姿斗方法代码
2.点击:文件.--打开
3.用反编译软件打开如下操作
4.打开之前和点击之后左侧列表的变化情况如下
5.点击左侧的“+”号操作如下
6.代码存放的地方如下
7.点击:文件--》选择:保存代码之后即可导出操作

❺ 如何反编译EXE执行文件

C32asm 可反编译成汇编文件
http://www.25it.net/SoftView.Asp?SoftID=227
C32asm 是一款非常不错的国产静态反编译工具!
C32Asm现具有如下功能:
快速静态反编译PE格式文件(Exe、Dll等)
提供Hex文件编辑功能,功能强大
提供内存Dump、内存编辑、PE文件Dump、PE内存ImageSize修正等多种实用功能
提供内存反汇编功能,提供汇编语句直接修改功能,免去OPCode的直接操作的繁琐
提供反编译语句彩色语法功能,方便阅读分析,能方便自定义语法色彩
提供输入表、输出表、参考字符、跳转、调用、PE文件分析结果等显示
提供方便的跳转、调用目标地址的代码显示
提供汇编语句逐字节分析功能,有助于分析花指令等干扰代码

❻ 学习反编译涉及到什么知识

首先要懂编译原理。
还要有扎实的汇链凳编和c语言棚枣旅岩旦的知识,这一点非常重要。
最好还要有linux/unix环境的知识(如果是在windows环境,你需要了解pe文件格式)。

❼ 求一个能把PE文件反汇编成源码软件

我倒,你的意思就是把VB生成的源程序反编译成VB格式。。。 貌似有类似的东西,很多年前有这样的,不完全。。。 都不太记得叫神马了,你BAIDU反汇编VB看看

❽ 如何打造自己的pe呢微软官方WinPE的制作流程

临近年关,工作压力辣么大,大家是不是应该手下留情点啊,让小编也轻松两天能在上班的时候耍耍《守望先锋》什么的(不是,总编您听我说,我的意思是想咱们的公众号来点新鲜的内容,不要整天系统系统啥的,太技术流),唉,还是太年轻,太天真了!

你们这些懒惰的家伙,真是够了啊,明天是不是想让小编把做好的爱好者版WinPE盘快递给你们啊?

算了,既然总编碰巧看到,又有好多小伙伴想要学习微软官方PE的制作流程,小编只能继续码字了!

想要制作微软官方纯净版的WinPE,首先就需要去微软网站,根据自身的需求选择下载对应的Windows 评估和部署工具包

工具下载软件并不大,仅1.4MB左右,运行后会提示是直接安装在电脑中还是单独下载。如果是在正在使用的电脑上制作PE维护盘,就选上面的安装,需要分享或在其他电脑上安装的话,就选下面的。

随后的选项“ Windows预安装环境(Windows PE) ”是一定要勾选的,至于其他的工具看个人喜好了。

之后就进入漫长的安全下载安装时间,2.9GB左右的文件对网速是个不小的考验,建议晚上睡觉判樱前准备好下载工作,明天再进入制作维护的盘的环节。

全部完成后会询问时候“启动‘ 开始指南’ ”,想学习技术及相关命令的朋友可以研读一下,也可以没事的时候去微软官网翻阅教程(页面地址: technet.microsoft/zh-cn/library/hh825110.aspx ),没事多看看, 以后也会像小编一样成为电脑技术流派的选手哦。

现在点击开始菜单,在“ Windows Kits ”程序组下,找到“部署和映像工具环境”,以管理员身份运行,随后出现命名提示符界面,开始掘核丛制作流程吧!因为涉及较多命令操作,建议大家在利用电脑微信端,用浏览器打开页面将命令完全复制下来,避免代码执行出错。

首先输入以下命令开始提取WinPE镜像,此时会刷屏,等出现结果显示后再进行操作。

pe amd64 C:WinPE_amd64

接下来使用命令加载WinPE镜像

Dism /Mount-Image /ImageFile:”C:WinPE_amd64mediasources oot.wim” /index:1 /MountDir:”C:WinPE_amd64mount”

就会在C盘下生成WinPE的文件夹,如果你想将它存放在其他磁盘位置,将上两段命令中的“C:”更改其其他位置即可,建议直接在各盘符下直接生成WinPE文件夹,不要存放在有中文路径或子文件夹中,容易时命令变得复杂出错。

基于之前下载的Windows版本(8.1/10)的WinPE相关文件已经完全提取出来了,此时只要用

/ISO C:WinPE_amd64 C:WinPE_amd64WinPE_amd64.iso

在后台制作映像文件,等待执行完毕后,在C:WinPE_amd64文件夹下生成了名为“WinPE_amd64.iso”的WinPE映像了。

现在大家只要使用UltraISO(软碟通),选择“ 启动-写入硬盘映像 ”功能,将刚才制作好的WinPE_amd64.iso做成启动U盘,纯正的微软WinPE维护盘就算制作成功。

也可以在命令窗口使用

/UFD C:WinPE_amd64 X:(X代表U盘盘符)

直接制作WinPE维护盘。

官方版本的好处就是一个干净,没有任何第三方软件及用第三方工具制作维护盘插入的广告,但它的缺点也非常明显,只能用命令提示符进行操作。大家氏脊别怕哦,有关维护、恢复等DISM命令在昨天的内容中已经详细解说了,大家只要照着这个来就行(微软也非常贴心的罗列出所有的命令,大家想添加或删除组件直接复制technet.microsoft/zh-cn/library/hh824972.aspx#的命令即可)。

如果你觉得只是一个干巴巴的WinPE不给力,少了点什么的话,请参看《装机高手必备软件WimTool的使用方法介绍 》,利用WimTool软件为咱们制作好的ISO增加各种维护系统时需要的软件工具。

❾ pe explorer怎么修改程序把要改的程序拉进去 反编译出现代码段 但不知道点哪里进行修改

问题是你要改什么?工具不是主要的,掌握了其中的原理,什么工具都是一样的改.

❿ 如何反编译一个exe文件,并修改里面一句代码

1、首先打开浏览器,网络搜索“反编译工具ILSpy”,选择一个安全的网站进行下载。

阅读全文

与pe反编译程序教材相关的资料

热点内容
文件加密看不到里面的内容 浏览:649
程序员脑子里都想什么 浏览:428
oppp手机信任app在哪里设置 浏览:183
java地址重定向 浏览:268
一年级下册摘苹果的算法是怎样的 浏览:448
程序员出轨电视剧 浏览:88
服务器系统地址怎么查 浏览:54
解压游戏发行官 浏览:601
国外小伙解压实验 浏览:336
顶级大学开设加密货币 浏览:437
java重载与多态 浏览:528
腾讯应届程序员 浏览:942
一键编译程序 浏览:129
语音加密包哪个好 浏览:339
有什么学习高中语文的app 浏览:282
安卓手机的表格里怎么打勾 浏览:409
阿里云服务器有网络安全服务吗 浏览:969
超解压兔子视频 浏览:24
单片机怎么测负脉冲 浏览:174
魅族备份的app在哪里 浏览:740