• 博客(0)
  • 资源 (6)

空空如也

《Linux命令行大全》 linux shell命令 高清完整版 带书签

《Linux命令行大全》是内容最全面、讲解最清楚的linux shell命令大全。 《linux命令行大全》主要介绍linux命令行的使用,循序渐进,深入浅出,引导读者全面掌握命令行的使用方法。 《linux命令行大全》分为四部分。第一部分开始了对命令行基本语言的学习之旅,包括命令结构、文件系统的导引、命令行的编辑以及关于命令的帮助系统和使用手册。第二部分主要讲述配置文件的编辑,用于计算机操作的命令行控制。第三部分讲述了从命令行开始执行的常规任务。类unix操作系统,比如linux,包含了很多“经典的”命令行程序,这些程序可以高效地对数据进行操作。第四部分介绍了shell编程,这是一个公认的初级技术,并且容易学习,它可以使很多常见的系统任务自动运行。通过学习shell编程,读者也可以熟悉其他编程语言的使用。 《linux命令行大全》适合从其他平台过渡到linux的新用户和初级linux服务器管理员阅读。没有任何linux基础和linux编程经验的读者,也可以通过本书掌握linux命令行的使用方法。

2018-07-05

《Linux命令行大全》 高清完整版 带书签

最完整,最全面的Linux系统的shell命令集合 本书的编写基于Fedora Core 6操作系统,2.6.18内核,汇集了绝大部分命令的功能介绍、参数说明和注意事项,并针对具体应用列举了大量示例,分别详细地介绍了磁盘管理命令、文件管理、系统管理命令、网络配置命令、网络服务命令、系统应用命令、系统安全命令及其他命令,以及Shell和Shell编程,使读者真正做到学以致用。本书内容全面、语言简练、深入浅出、通俗易懂,既可作为即查即用的工具手册,也可作为了解Linux系统的参考书目。本书同样适用于其他Linux发行版,是Linux用户必备的参考用书。   本书适合系统管理员、开发人员和高级用户阅读。 第1章 磁盘管理命令 1 1.1 目录管理命令 1 1.1.1 切换工作目录——cd 1 1.1.2 显示工作目录——pwd 3 1.1.3 列出目录内容——ls 4 1.1.4 树状目录列表——tree 8 1.1.5 建立目录——mkdir 10 1.1.6 删除目录——rmdir 12 1.1.7 链接目录内容——lndir 14 1.1.8 列出目录栈内容——dirs 16 1.1.9 目录入栈——pushd 19 1.1.10 目录出栈——popd 21 1.2 MS-DOS文件系统磁盘管理命令 23 1.2.1 切换目录——mcd 23 1.2.2 目录列表——mdir 24 1.2.3 显示目录大小——mdu 26 1.2.4 建立目录——mmd 27 1.2.5 删除目录——mrd 28 1.2.6 删除目录及内容——mdeltree 28 1.2.7 显示mtools支持命令——mtools 29 1.2.8 测试mtools相关设置——mtoolstest 30 1.2.9 加载MS-DOS文件系统——mmount 31 1.2.10 设置MS-DOS磁盘卷标——mlabel 31 1.2.11 磁盘格式化——mformat 33 1.2.12 显示文件系统信息——minfo 34 1.2.13 显示FAT记录——mshowfat 35 1.2.14 Zip/Jaz磁盘控制命令——mzip 36 1.3 磁盘空间限制管理命令 36 1.3.1 检验磁盘使用空间与限制——quotacheck 37 1.3.2 开启磁盘空间限制——quotaon 39 1.3.3 关闭磁盘空间限制——quotaoff 40 1.3.4 编辑磁盘空间限制——edquota 42 1.3.5 显示使用空间与限制——quota 44 1.3.6 报告磁盘空间限制状态——repquota 47 1.4 文件系统管理命令 49 1.4.1 创建MS-DOS文件系统——mkdosfs 49 1.4.2 创建ext2/ext3文件系统——mke2fs 52 1.4.3 创建文件系统——mkfs 56 1.4.4 创建ISO9660文件系统——mkisofs 58 1.4.5 创建ext2/ext3文件系统——mkfs.ext2 64 1.4.6 创建ext2/ext3文件系统——mkfs.ext3 64 1.4.7 创建MS-DOS文件系统——mkfs.msdos 65 1.4.8 创建vfat文件系统——mkfs.vfat 65 1.4.9 加载文件系统——mount 65 1.4.10 卸载文件系统——umount 70 1.4.11 创建交换区——mkswap 72 1.4.12 关闭交换区——swapoff 74 1.4.13 开启交换区——swapon 76 1.5 磁盘分区命令 78 1.5.1 磁盘分区——fdisk 78 1.5.2 磁盘分区——sfdisk 81 1.5.3 管理磁盘分区——parted 85 1.6 其他磁盘管理命令 89 1.6.1 报告文件系统磁盘使用信息——df 89 1.6.2 显示磁盘空间使用信息——du 92 1.6.3 读取或设置硬盘参数——hdparm 96 1.6.4 设置循环设备——losetup 102 1.6.5 弹出设备——eject 105 1.6.6 显示inode内容——stat 107 1.6.7 远程磁带传输协议——rmt 108 1.6.8 刷新磁盘缓冲区——sync 108 第2章 文件管理 110 2.1 文件的建立、移动、删除 110 2.1.1 建立文件——cat 110 2.1.2 建立文件——touch 111 2.1.3 建立链接文件——ln 112 2.1.4 移动以及重命名文件——mv 115 2.1.5 删除文件——rm 117 2.2 查看文件的内容 118 2.2.1 查看文件的内容——cat 118 2.2.2 查看文件的内容——more 120 2.2.3 查看文件的内容——less 122 2.2.4 查看文件头部的内容——head 124 2.2.5 查看文件尾部的内容——tail 126 2.2.6 查看文件部分内容——cut 127 2.2.7 以八进制或其他形式显示文件的内容——od 128 2.3 查看、修改文件的属性 130 2.3.1 查看文件的类型——file 130 2.3.2 查看文件的属性——ll 132 2.3.3 查看文件的属性——stat 134 2.3.4 改变文件的属主或属组——chown 136 2.3.5 改变文件的属组——chgrp 138 2.3.6 改变文件的访问权限——chmod 140 2.3.7 改变文件的时间戳——touch 142 2.3.8 设置文件的默认权限掩码——umask 144 2.3.9 修改文件的其他高级属性——chattr 145 2.3.10 查看由chattr设置的文件 属性——lsattr 147 2.4 文件的比较 148 2.4.1 比较文件——cmp 148 2.4.2 比较文件——cmm 149 2.4.3 比较文件——diff 151 2.4.4 比较文件并合并——sdiff 154 2.4.5 比较3个文件——diff3 155 2.5 文件的备份、归档、恢复 156 2.5.1 文件的备份——cp 157 2.5.2 文件的归档——tar 160 2.5.3 文件的备份——cpio 161 2.5.4 文件或文件系统的备份——dump 165 2.5.5 文件或文件系统的恢复——restore 167 2.5.6 文件的整理——ar 168 2.6 文件的压缩、解压缩以及相关命令 171 2.6.1 文件的压缩——bzip2 171 2.6.2 文件的解压缩——bunzip2 173 2.6.3 解压缩文件到屏幕——bzcat 175 2.6.4 文件的压缩——gzip 176 2.6.5 文件的解压缩——gunzip 178 2.6.6 压缩/解压缩可执行文件——gexe 179 2.6.7 解压缩文件到屏幕——zcat 180 2.6.8 压缩文件的修复——bzip2recover 181 2.6.9 归档压缩文件——zip 182 2.6.10 解压缩文件——unzip 183 2.6.11 显示zip压缩文件的信息—

2018-07-05

EasyHook 函数钩子 最好的完整稳定的钩子Demo程序(VS2010 C++ 版本)

目前最好的EasyHook的完整Demo程序,包括了Hook.dll动态库和Inject.exe注入程序。 Hook.dll动态库封装了一套稳定的下钩子的机制,以后对函数下钩子,只需要填下数组表格就能实现了,极大的方便了今后的使用。 Inject.exe部分是用MFC写的界面程序,只需要在界面上输入进程ID就能正确的HOOK上相应的进程,操作起来非常的简便。 这个Demo的代码风格也非常的好,用VS2010成功稳定编译通过,非常值得下载使用。 部分代码片段摘录如下: //【Inject.exe注入程序的代码片段】 void CInjectHelperDlg::OnBnClickedButtonInjectDllProcessId() { ////////////////////////////////////////////////////////////////////////// //【得到进程ID值】 UINT nProcessID = 0; if (!GetProcessID(nProcessID)) { TRACE(_T("%s GetProcessID 失败"), __FUNCTION__); return; } ////////////////////////////////////////////////////////////////////////// //【得到DLL完整路径】 CString strPathDLL; if (!GetDllFilePath(strPathDLL)) { TRACE(_T("%s GetDllFilePath 失败"), __FUNCTION__); return; } ////////////////////////////////////////////////////////////////////////// //【注入DLL】 NTSTATUS ntStatus = RhInjectLibrary(nProcessID, 0, EASYHOOK_INJECT_DEFAULT, strPathDLL.GetBuffer(0), NULL, NULL, 0); if (!ShowStatusInfo(ntStatus)) { TRACE(_T("%s ShowStatusInfo 失败"), __FUNCTION__); return; } } //【Hook.dll动态库的代码片段】 extern "C" __declspec(dllexport) void __stdcall NativeInjectionEntryPoint(REMOTE_ENTRY_INFO* InRemoteInfo) { if (!DylibMain()) { TRACE(_T("%s DylibMain 失败"), __FUNCTION__); return; } } FUNCTIONOLDNEW_FRMOSYMBOL array_stFUNCTIONOLDNEW_FRMOSYMBOL[]= { {_T("kernel32"), "CreateFileW", (void*)CreateFileW_new}, {_T("kernel32"), "CreateFileA", (void*)CreateFileA_new}, {_T("kernel32"), "ReadFile", (void*)ReadFile_new} }; BOOL HookFunctionArrayBySymbol() { /////////////////////////////////////////////////////////////// int nPos = 0; do { /////////////////////////////// FUNCTIONOLDNEW_FRMOSYMBOL* stFunctionOldNew = &g_stFUNCTIONOLDNEW_FRMOSYMBOL[nPos]; if (NULL == stFunctionOldNew->strModulePath) { break; } /////////////////////////////// if (!HookFunctionBySymbol(stFunctionOldNew->strModulePath, stFunctionOldNew->strNameFunction, stFunctionOldNew->pFunction_New)) { TRACE(_T("%s HookFunctionBySymbol 失败"), __FUNCTION__); return FALSE; } } while(++nPos); /////////////////////////////////////////////////////////////// return TRUE; } HANDLE WINAPI CreateFileW_new( PWCHAR lpFileName, DWORD dwDesiredAccess, DWORD dwShareMode, LPSECURITY_ATTRIBUTES lpSecurityAttributes, DWORD dwCreationDisposition, DWORD dwFlagsAndAttributes, HANDLE hTemplateFile ) { TRACE(_T("CreateFileW_new. lpFileName = %s"), lpFileName); return CreateFileW( lpFileName, dwDesiredAccess, dwShareMode, lpSecurityAttributes, dwCreationDisposition, dwFlagsAndAttributes, hTemplateFile); }

2018-01-19

《Android软件安全与逆向分析》最新 完整版 清晰版 带书签 (PDF)

《Android软件安全与逆向分析》由浅入深、循序渐进地讲解了Android系统的软件安全、逆向分析与加密解密技术。包括Android软件逆向分析和系统安全方面的必备知识及概念、如何静态分析Android软件、如何动态调试Android 软件、Android 软件的破解与反破解技术的探讨,以及对典型Android病毒的全面剖析。 作者简介:丰生强(网名非虫),Android软件安全专家,看雪论坛Android安全版版主,安卓巴士开发交流版版主。 目录 第1章  Android程序分析环境搭建 1.1  Windows分析环境搭建 1.1.1  安装JDK 1.1.2  安装Android SDK 1.1.3  安装Android NDK 1.1.4  Eclipse集成开发环境 1.1.5  安装CDT、ADT插件 1.1.6  创建Android Virtual Device 1.1.7  使用到的工具 1.2  Linux分析环境搭建 1.2.1  本书的Linux环境 1.2.2  安装JDK 1.2.3  在Ubuntu上安装Android SDK 1.2.4  在Ubuntu上安装Android NDK 1.2.5  在Ubuntu上安装Eclipse集成开发环境 1.2.6  在Ubuntu上安装CDT、ADT插件 1.2.7  创建Android Virtual Device 1.2.8  使用到的工具 1.3  本章小结 第2章  如何分析Android程序 2.1  编写第一个Android程序 2.1.1  使用Eclipse创建Android工程 2.1.2  编译生成APK文件 2.2  破解第一个程序 2.2.1  如何动手? 2.2.2  反编译APK文件 2.2.3  分析APK文件 2.2.4  修改Smali文件代码 2.2.5  重新编译APK文件并签名 2.2.6  安装测试 2.3  本章小结 第3章  进入Android Dalvik虚拟机 3.1  Dalvik虚拟机的特点--掌握Android程序的运行原理 3.1.1  Dalvik虚拟机概述 3.1.2  Dalvik虚拟机与Java虚拟机的区别 3.1.3  Dalvik虚拟机是如何执行程序的 3.1.4  关于Dalvik虚拟机JIT(即时编译) 3.2  Dalvik汇编语言基础为分析Android程序做准备 3.2.1  Dalvik指令格式 3.2.2  DEX文件反汇编工具 3.2.3  了解Dalvik寄存器 3.2.4  两种不同的寄存器表示方法--v命名法与p命名法 3.2.5  Dalvik字节码的类型、方法与字段表示方法 3.3  Dalvik指令集 3.3.1  指令特点 3.3.2  空操作指令 3.3.3  数据操作指令 3.3.4  返回指令 3.3.5  数据定义指令 3.3.6  锁指令 3.3.7  实例操作指令 3.3.8  数组操作指令 3.3.9  异常指令 3.3.10  跳转指令 3.3.11  比较指令 3.3.12  字段操作指令 3.3.13  方法调用指令 3.3.14  数据转换指令 3.3.15  数据运算指令 3.4  Dalvik指令集练习--写一个Dalvik版的Hello World 3.4.1  编写smali文件 3.4.2  编译smali文件 3.4.3  测试运行 3.5  本章小结 第4章  Android可执行文件 4.1  Android程序的生成步骤 4.2  Android程序的安装流程 4.3  dex文件格式 4.3.1  dex文件中的数据结构 4.3.2  dex文件整体结构 4.3.3  dex文件结构分析 4.4  odex文件格式 4.4.1  如何生成odex文件 4.4.2  odex文件整体结构 4.4.3  odex文件结构分析 4.5  dex文件的验证与优化工具dexopt的工作过程 4.6  Android应用程序另类破解方法 4.7  本章小结 第5章  静态分析Android程序 5.1  什么是静态分析 5.2  快速定位Android程序的关键代码 5.2.1  反编译apk程序 5.2.2  程序的主Activity 5.2.3  需重点关注的Application类 5.2.4  如何定位关键代码--六种方法 5.3  smali文件格式 5.4  Android程序中的类 5.4.1  内部类 5.4.2  监听器 5.4.3  注解类 5.4.4  自动生成的类 5.5  阅读反编译的smali代码 5.5.1  循环语句 5.5.2  switch分支语句 5.5.3  try/catch语句 5.6  使用IDA Pro静态分析Android程序 5.6.1  IDA Pro对Android的支持 5.6.2  如何操作 5.6.3  定位关键代码--使用IDA Pro进行破解的实例 5.7  恶意软件分析工具包--Androguard 5.7.1  Androguard的安装与配置 5.7.2  Androguard的使用方法 5.7.3  使用Androguard配合Gephi进行静态分析 5.7.4  使用androlyze.py进行静态分析 5.8  其他静态分析工具 5.9  阅读反编译的Java代码 5.9.1  使用dex2jar生成jar文件 5.9.2  使用jd-gui查看jar文件的源码 5.10  集成分析环境--santoku 5.11  本章小结 第6章  基于Android的ARM汇编语言基础--逆向原生! 6.1  Android与ARM处理器 6.1.1  ARM处理器架构概述 6.1.2  ARM处理器家族 6.1.3  Android支持的处理器架构 6.2  原生程序与ARM汇编语言--逆向你的原生Hello ARM 6.2.1  原生程序逆向初步 6.2.2  原生程序的生成过程 6.2.3  必须了解的ARM知识 6.3  ARM汇编语言程序结构 6.3.1  完整的ARM汇编程序 6.3.2  处理器架构定义 6.3.3  段定义 6.3.4  注释与标号 6.3.5  汇编器指令 6.3.6  子程序与参数传递 6.4  ARM处理器寻址方式 6.4.1  立即寻址 6.4.2  寄存器寻址 6.4.3  寄存器移位寻址 6.4.4  寄存器间接寻址 6.4.5  基址寻址 6.4.6  多寄存器寻址 6.4.7  堆栈寻址 6.4.8  块拷贝寻址 6.4.9  相对寻址 6.5  ARM与Thumb指令集 6.5.1  指令格式 6.5.2  跳转指令 6.5.3  存储器访问指令 6.5.4  数据处理指令 6.5.5  其他指令 6.6  用于多媒体编程与浮点计算的NEON与VFP指令集 6.7  本章小结 第7章  Android NDK程序逆向分析 7.1  Android中的原生程序 7.1.1  编写一个例子程序 7.1.2  如何编译原生程序 7.2  原生程序的启动流程分析 7.2.1  原生程序的入口函数 7.2.2  main函数究竟何时被执行 7.3  原生文件格式 7.4  原生C程序逆向分析 7.4.1  原生程序的分析方法 7.4.2  for循环语句反汇编代码的特点 7.4.3  if...else分支语句反汇编代码的特点 7.4.4  while循环语句反汇编代码的特点 7.4.5  switch分支语句反汇编代码的特点 7.4.6  原生程序的编译时优化 7.5  原生C++程序逆向分析 7.5.1  C++类的逆向 7.5.2  Android NDK对C++特性的支持 7.5.3  静态链接STL与动态链接STL的代码区别 7.6  Android NDK JNI API逆向分析 7.6.1  Android NDK提供了哪些函数 7.6.2  如何静态分析Android NDK程序 7.7  本章小结 第8章  动态调试Android程序 8.1  Android动态调试支持 8.2  DDMS的使用 8.2.1  如何启动DDMS 8.2.2  使用LogCat查看调试信息 8.3  定位关键代码 8.3.1  代码注入法--让程序自己吐出注册码 8.3.2  栈跟踪法 8.3.3  Method Profiling 8.4  使用AndBug调试Android程序 8.4.1  安装AndBug 8.4.2  使用AndBug 8.5  使用IDA Pro调试Android原生程序 8.5.1  调试Android原生程序 8.5.2  调试Android原生动态链接库 8.6  使用gdb调试Android原生程序 8.6.1  编译gdb与gdbserver 8.6.2  如何调试 8.7  本章小结 第9章  Android软件的破解技术 9.1  试用版软件 9.1.1  试用版软件的种类 9.1.2  实例破解--针对授权KEY方式的破解 9.2  序列号保护 9.3  网络验证 9.3.1  网络验证保护思路 9.3.2  实例破解--针对网络验证方式的破解 9.4  In-app Billing(应用内付费) 9.4.1  In-app Billing原理 9.4.2  In-app Billing破解方法 9.5  Google Play License保护 9.5.1  Google Play License保护机制 9.5.2  实例破解--针对Google Play License方式的破解 9.6  重启验证 9.6.1  重启验证保护思路 9.6.2  实例破解--针对重启验证方式的破解 9.7  如何破解其他类型的Android程序 9.7.1  Mono for Android开发的程序及其破解方法 9.7.2  Qt for Android开发的程序及其破解方法 9.8  本章小结 第10章  Android程序的反破解技术 10.1  对抗反编译 10.1.1  如何对抗反编译工具 10.1.2  对抗dex2jar 10.2  对抗静态分析 10.2.1  代码混淆技术 10.2.2  NDK保护 10.2.3  外壳保护 10.3  对抗动态调试 10.3.1  检测调试器 10.3.2  检测模拟器 10.4  防止重编译 10.4.1  检查签名 10.4.2  校验保护 10.5  本章小结 第11章  Android系统攻击与防范 11.1  Android系统安全概述 11.2  手机ROOT带来的危害 11.2.1  为什么要ROOT手机 11.2.2  手机ROOT后带来的安全隐患 11.2.3  Android手机ROOT原理 11.3  Android权限攻击 11.3.1  Android权限检查机制 11.3.2  串谋权限攻击 11.3.3  权限攻击检测 11.4  Android组件安全 11.4.1  Activity安全及Activity劫持演示 11.4.2  Broadcast Receiver 安全 11.4.3  Service安全 11.4.4  Content Provider安全 11.5  数据安全 11.5.1  外部存储安全 11.5.2  内部存储安全 11.5.3  数据通信安全 11.6  ROM安全 11.6.1  ROM的种类 11.6.2  ROM的定制过程 11.6.3  定制ROM的安全隐患 11.6.4  如何防范 11.7  本章小结 第12章  DroidKongFu变种病毒实例分析 12.1  DroidKongFu病毒介绍 12.2  配置病毒分析环境 12.3  病毒执行状态分析 12.3.1  使用APIMonitor初步分析 12.3.2  使用DroidBox动态分析 12.3.3  其他动态分析工具 12.4  病毒代码逆向分析 12.4.1  Java层启动代码分析 12.4.2  Native层启动代码分析 12.4.3  Native层病毒核心分析 12.5  DroidKongFu病毒框架总结 12.6  病毒防治 12.7  本章小结

2017-12-23

ARM® Architecture Reference Manual ARMv8, for ARMv8-A architecture (PDF)

ARM官方的ARM架构参考手册,最新版本ARMv8-A,是系统学习ARM指令的最好参考书。Architecture Reference Manual ARMv8 汇编指令手册。

2017-12-15

Objective-C编程全解(第3版)

Objective-C编程全解(第3版) 结合理论知识和实例程序,全面而系统地介绍了Objective-C 编程的相关内容,包括类和继承、对象的类型和动态绑定、基于引用计数的内存管理、垃圾回收、属性声明、类NSObject 和运行时系统、Foundation 框架中常用的类、范畴、抽象类与类簇、对象的复制及存储、块对象、消息发送模式、图像视图、异常和错误、并行编程、键值编码等。 本书适合iOS 应用和Mac OS X 开发初学者系统入门、有经验的开发者深入理解语言本质,也适合开发团队负责人、项目负责人作为综合性的Objective-C 参考书阅读

2017-11-21

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除