自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

x

x

  • 博客(234)
  • 资源 (26)
  • 收藏
  • 关注

原创 模拟链接器 重定位符号表

重定位符号表模拟连接器动态加载GDT模拟重定位

2021-12-29 15:38:50 354

原创 win32asm 自定义添加可执行代码

C版本:win32asm 自定义代码段加密解密C版本没做新增节等各种检查1. 把一段可执行代码插入进另一个程序中2.插入的代码需要自定位3.3.1如果被插入的程序有空间可以新增一个节表则加入节表,对新增节表赋值(需对齐大小), 写入需要新增代码修正:FileHeader.NumberOfSections ++, OptionalHeader.SizeOfIm...

2021-09-03 01:16:00 149

原创 win32asm int3 int1 tf WaitForDebugEvent 调试进程

需要用到的函数 :CreateProcess ,WaitForDebugEvent,ContinueDebugEvent ,WriteProcessMemory,GetThreadContext,SetThreadContext.ReadProcessMemory 一般都要用, 这里没用到WriteProcessMemory : 用来增加int 3 断点(0cch), 以及恢复旧数据的GetThreadContext: 用来获取被调试进程的线程所保存的寄存器, 这些寄存器用来恢复...

2021-05-14 04:56:47 724

原创 纯重叠io服务器模型

基础:套接字重叠io客户端: telnet 或者自己随意写一个;纯重叠实现的服务器模型,基本上就是使用OVERLAPPED和APC函数完成.APC函数即需要使用alterable状态的函数 , 例 SleepEx.另外重叠io与非阻塞是2个概念.下面的代码中使用到了非阻塞io, 仅仅作用在了accept上. 让其不阻塞;原因是如果阻塞accpet 就没法调用到Slee...

2019-01-15 17:32:18 478 1

原创 5.1 任务切换使用jmp半自动切换任务

任务切换

2023-12-20 05:51:54 328

原创 5.任务切换 使用call

任务切换

2023-12-20 03:05:05 476

原创 4.权限特权转移代码

【代码】4.权限特权转移代码。

2023-12-09 04:37:18 118

原创 4. 权限,特权,任务说明

CPL:当前CS段的RPL, RPL:请求这个数据段的权限, DPL: 数据段的权限。从大方向说:只要权限比数据段大 ,或者相等就OK。

2023-11-29 20:57:10 158

原创 2.2 带控制的寄存器

使用三态门来控制输出, 三态门相当于一个继电器(2.1 总线问题里有模拟)只有当三态门打开,数据才会输出

2023-11-25 23:52:38 74

原创 2.1 总线问题

同一时间只能有一个去控制总线,因此需要一个输出开关去确保总线不出错一旦同时开启输出开关,下面的锁存器还会被上面的数据修改如果上下同时开启可写,且同时开启可输出, 则短路

2023-11-25 23:51:44 93

原创 2.1 总线问题

同一时间只能有一个去控制总线,因此需要一个输出开关去确保总线不出错一旦同时开启输出开关,下面的锁存器还会被上面的数据修改如果上下同时开启可写,且同时开启可输出, 则短路

2023-11-25 23:49:45 74

原创 2. 寄存器

锁存器,用于存储1位的电路只有当 可写位(write enable)开启,才会把输入写到输出,同时保存输出使用锁存器带时钟的锁存器带时钟带可写控制的完整版锁存器下面的时钟使用按钮来代替, 只有按钮为1时,相连的电路才工作时钟的作用在于协同所有电路共同工作,也是一切电路自动化的源头更多关于时钟的解释在 3.1 内部数据总线与时钟 中1个8位的简易版寄存器可由8个锁存器组成

2023-11-25 23:48:41 101

原创 1.5 加减法

加减法这是一个有问题的加减法根据8位加法和8位取反可以组合成一个加减法减法相当于 加一个负数,而负数可以用取反+1的补码来表示现在的问题是如何解决+1的问题, 目前只有一个取反控制器 ?加法器中有个“首个进位控制" , 可以用来+1操作,只需要把 " 首个进位控制" 跟 取反器的“开启取反” 用同一个控制线连接即可根据下面可以看到2个数相加没问题,一旦相减,最后的进位还是存在问题, 原因在于 补码+正数 后的进位解决方式解决方案是如果没开负数,进位保持原样如果开了负数,则忽略进位

2023-11-25 23:46:03 47

原创 1.4 8位加法器

1.半加器2.全加器。

2023-11-25 23:44:27 116

原创 1.3 取反器和8位取反器

取反器真值表:取反开关输入输出011000110101取反器相当于一个异或门8位取反器

2023-11-25 23:40:41 253

原创 1.2 全加器

处理1个进位的加法根据半加器可知,结果和进位只有1种情况:要么有结果要么有进位因此全加器可由2个半加器组合而成通过一个半加器输出的结果和进位再次由另一个半加器输出2个半加器的进位通过或门输出

2023-11-25 23:38:04 96

原创 1.1 半加器

输入1输入2结果进位0000101001101101半加器: 实现1位的加法根据结果可知输入1与输入2相加结果 -> 符合 异或门进位 -> 符合 与门最终要么有结果要么有进位,不存在即有结果也有进位异或门的实现也可以由基本的3个 “与或非” 门实现与:& , 或:| , 非:! 用这3个符号表示假设输入1:x, 输入2:y可以得出真值表达式(仅有1的结果):sum = x&!y +

2023-11-25 23:36:35 116

原创 3. 内存单元

原行1 连接到 位0 , 原列1->位1,原行2->位2,原列2->位3…列1:1000010 (行4连连接到是位6, 列1连接到的是位1)由于上面一共16个地址, 因此2的4次方 => 2^4 就可以表示。行3连接到的是位4:10000, 列1连接到的是位1:10。总之,根据 行,列 对应连接的位来计算此内存单元的值。因此 行3列1 的内存单元 对应的值是:10010。下面替换的地址线,通过一个查找表来实现。列4:10010000。列4:11000000。列2:1001000。列3:1100000。

2023-11-25 23:27:55 153

原创 3.2 CPU的自动化

MOV_TO_ADDR(1010) 流程: step 0 ~ step 2一样。1.step 1,内存地址寄存器传送地址,内存缓存寄存器获取数据。4.step 4, 执行一次step 1, 传递地址获取内存数据。上述的改造还需要手动输入二进制,才能实现自动化,因此继续改造。2.step 2, 内存缓存寄存器把数据传送到指令寄存器。8.step 8, 执行MOV_TO_ADDR。5.step 5, 把数据传送到寄存器A。6.step 6, 回到step 0。7.step 7, 执行ADD。

2023-11-25 23:09:34 1459 1

原创 3.1 CPU内部结构与时钟与指令

CPU内部结构总线一些自定义部件总线图内存指令执行流程:取指令,译码,执行pc做的事内存地址寄存器内存缓存寄存器指令寄存器,译码第一步指令寄存器传递地址到内存地址寄存器指令MOV_A的过程(译码第二步)第一条指令执行完毕第三条指令的执行第四条指令第四条指令不同的执行流程整体流程内部数据总线使用到的有8位寄存器(用于输入),4位寄存器(用于内存地址,只能寻址16个内存单元[2^4]),简化版加法ALU寄存器带了时钟, 由时钟统一控制操作ALU不需要时钟, 输入端的

2023-11-25 23:00:25 1476

原创 3. 加载器与加载连接用户程序

模拟加载连接用户程序,符号表

2023-11-25 22:15:02 184

原创 2. 进入保护模式

描述符表,通过描述符修改代码段

2023-11-25 21:39:03 108

原创 1.加载用户程序

加载器

2023-11-25 21:34:14 114

原创 进入保护模式小例子

16位实模式进入32位保护模式

2023-03-15 01:43:15 187

原创 引导程序示例

引导程序,mbr

2023-03-07 20:41:30 175

原创 段界限 描述符表 32位保护模式

描述符表描述符界限段界限描述符D/B位 修改代码段

2021-12-12 07:18:19 575

原创 程序加载器

仅在16位上有效,给别人写的.作用:模拟如何加载一个APP实际还要检索内存空间,这里省去;读取硬盘端口 [读取硬盘这部分可直接忽略] ;0x1f0 数据端口 ;0x1f1 错误端口 ;0x1f2 设置扇区数量 ;0x1f3 ~ 0x1f6 [ 0x1f6 中只占4 bit] 共28bit ;0x1f6 高4位 1110 , 111 -> LBA, 0 -> 主盘 ;0x1f7 状态控制端口 ; 写入 0x20 -> 准备读取, ; 读取后 and 0x8

2021-11-09 01:48:37 335

原创 虚表指针在哪里

虚表指针群里有人问。就写了从最简单的类开始, 后面有单继承和多继承虚表指针的不同代码在32环境下:先写结论: 虚表指针在构造函数与析构中赋值(下面反汇编证明), 赋值: *this = 虚表指针(即首个成员) 虚表指针指向的是一个数组,存放虚函数,虚函数按一般声明先后排序. 这个数组一般在 .rdata 或 .data 每个父类都会在构造,析构中设置自己的虚表,下面继承中会写 * 为什么要在构造...

2021-09-08 18:27:01 962

原创 计算函数字节长度

#include <Windows.h>#include <stdio.h>#include <iostream>using std::cout;using std::endl;int main(){func_begin: DWORD asm_len = 0; DWORD func_len = 0; _asm { pushad begin_code: mov eax,offset end_code mov esi,offs...

2021-09-06 14:43:54 421

原创 获取kernel32 peb

.386.model flat, stdcalloption casemap:noneinclude windows.incinclude user32.incincludelib user32.libinclude kernel32.incincludelib kernel32.libinclude msvcrt.incincludelib msvcrt.lib.databuffer db 256 dup(0).constszText db 'addr : ...

2021-08-18 12:38:45 133

原创 提取图标 ico 资源

待修改文件中 : 图标头后直接跟图标数据PE: 图标头跟图标数据分开放, 图标头被放在图标组(对应索引14), 图标数据放在图标资源(索引3)过程:通过图标组找到各个图标头, 根据图标头的ID再去匹配图标资源中的ID图标结构://图标头struct ICON_DIR{ WORD reserved; WORD idtype; //资源类别 . ico为1 WORD idcount; //图标数量 ICON_DIR_ENTRY dir_entry[1]; // 数...

2021-08-15 11:10:02 726

原创 查找kernel32.dll 基地址 stack

从[esp]获取kernel32中call 指令push的返回地址, 即应用程序返回后的地址rtlexituserthread , 有些是exitthread.拿到这个地址就拿到了kernel32空间的某个值, 模块地址64k对齐,去掉低2个字节来对齐.然后依次减64k寻找.386.model flat, stdcalloption casemap:noneinclude windows.incinclude user32.incincludelib user...

2021-08-10 03:10:27 428

原创 函数地址动态加载api

C版本:GetProcAddress 实现asm:.386.model flat, stdcalloption casemap:noneinclude windows.incinclude user32.incincludelib user32.libinclude kernel32.incincludelib kernel32.libinclude msvcrt.incincludelib msvcrt.lib.codeseh_handler proc C p

2021-08-10 00:54:12 275

原创 查找kernel32.dll 基地址 SEH

根据SEH来找,teb.tib.exceptionlist 中最后一个EXCEPTION_REGISTRATION 异常处理函数在kernerl32 中最后一个 EXCEPTION_REGISTRATION.prev = 0ffffffffh根据这个特征找到EXCEPTION_REGISTRATION.handler , 去掉10000h, 模块都在64k边界上.386.model flat, stdcalloption casemap:noneinclude wind.

2021-08-09 11:27:29 236

原创 查找kernel32.dll 基地址 特征函数

从用户层高地址往下找高地址:7ffe0000h (用户层可读的最高地址,之后的地址拒绝访问)一直扫描到最后一块64k起始页面为止, 因此结束地址9999h每个pe模块都会加载在64k边界的地址上, 因此每次减64k(10000h)代码中增加了自己修复的重定位信息, 和异常处理;***** 不要运行在调试环境中 , 否则异常首先被送到debug中流程:1.每次在64k的边界上查看是否是一个pe2.如果是,则找到导出表,如果有导出表,根据名字GetProcAddres..

2021-08-09 06:07:04 450

原创 tls 回调

不修改aop, 用静态 tls回调在线程初始化时做一些事* 线程启动前会先初始化tls结构 , 依次调用tls回调数组1.在全局变量定义一个IMAGE_TLS_DIRECTORY 变量 模拟tls结构2.在回调部分放上自己的函数3.修改数据目录tls的位置, 指向自己的结构模拟tls 的C代码:tls回调函数跟dllentry 参数一样tls结构的第4个参数是一个回调数组, 依次调用前3个参数在这里没用 , 具体参考msdn#include <i...

2021-08-07 05:17:40 272

原创 GetProcAddress 实现

没用的C代码根据导出表查找函数名#define _CRT_SECURE_NO_WARNINGS#include <Windows.h>#include <iostream>using std::cout;using std::endl;void * getExportApi(DWORD base_addr ,const char * api_name) { if (0 == base_addr || 0 == api_name) return 0;

2021-07-29 02:24:14 352

原创 win32asm 自定义代码段加密解密

没有做各种错误处理和异常处理,以及如果失败需要还原属性一个简单的例子1.新增一个节用于解密代码段, 写入解密字节码,用于还原代码段2.找到入口所在的代码段,加密3.修改入口点指向新增节,修改.text属性加上可写执行流程, 新节->解密还原代码段->跳转代码段使用的exe是:win32asm 自定义PE头解密汇编:00405000 > 60 pushad00405001 BE 00104000 mov esi

2021-07-20 19:26:17 245

原创 win32asm 新增节 对齐内存 对齐文件

没用的c代码#define _CRT_SECURE_NO_WARNINGS#include <Windows.h>#include <iostream>using std::cout;using std::endl;//用来对齐内存DWORD calc_mem_section_size(void * mem,DWORD raw_size) { IMAGE_DOS_HEADER * dos = (IMAGE_DOS_HEADER*)mem; IMAGE_N..

2021-07-20 08:00:41 157

原创 win32asm 自定义PE头

3个节, .text, .data , .rdata(导入表)为了方便 ,长度均0x1000 , 对齐都0x1000.text rva 0x1000.data rva 0x2000.rdata rva 0x3000 - 导入表(或者.idata , 随意)BaseOfCode 0x1000BaseOfData 0x2000entrypoint 0x1000imagebase 0x400000sizeofImage 0x4000sizeofheaders 0x100..

2021-07-14 02:43:50 144

汇编语言 基于x86处理器.7z

汇编

2021-04-19

Linux高性能服务器编程

全书共17章,分为3个部分:第一部分对Linux服务器编程的核心基础——TCP/IP协议进行了深入的解读和阐述,包括TCP/IP协议族、TCP/IP协议,以及一个经典的TCP/IP通信案例;第二部分对高性能服务器编程的核心要素进行了全面深入的剖析,包含Linux网络编程API、高级I/O函数、Linux服务器程序规范、高性能服务器程序框架、I/O复用、信号、定时器、高性能I/O框架库Libevent、多进程编程、多线程编程、进程池和线程池等内容,原理、技术与方法并重;第三部分从侧重

2019-07-06

libevent参考手册(中文版)

libevent大概是这样的: 默认情况下是单线程的(可以配置成多线程,如果有需要的话),每个线程有且只有一个event_base,对应一个struct event_base结构体(以及附于其上的事件管理器),用来schedule托管给它的一系列event,可以和操作系统的进程管理类比,当然,要更简单一点。当一个事件发生后,event_base会在合适的时间(不一定是立即)去调用绑定在这个事件上的函数(传入一些预定义的参数,以及在绑定时指定的一个参数),直到这个函数执行完,再返回schedule其他事件。

2019-07-06

libevent深入浅出

libevent大概是这样的: 默认情况下是单线程的(可以配置成多线程,如果有需要的话),每个线程有且只有一个event_base,对应一个struct event_base结构体(以及附于其上的事件管理器),用来schedule托管给它的一系列event,可以和操作系统的进程管理类比,当然,要更简单一点。当一个事件发生后,event_base会在合适的时间(不一定是立即)去调用绑定在这个事件上的函数(传入一些预定义的参数,以及在绑定时指定的一个参数),直到这个函数执行完,再返回schedule其他事件。

2019-07-06

深入实践Boost

深入实践Boost 深入实践Boost

2019-03-06

Boost程序库完全开发指南 第3版 中文 完整目录

Boost程序库完全开发指南

2019-03-06

Redis实战 清晰 书签

Redis实战 清晰 书签

2019-03-06

精通Scrapy网络爬虫 书签 清晰

精通Scrapy网络爬虫

2019-03-05

redis设计与实现(第二版)

redis设计与实现(第二版)

2019-03-05

Redis开发与运维 付磊

Redis开发与运维(付磊)

2019-03-05

Effective.C++.中文版(第3版_中文版) 完整书签

《Effective C++:改善程序与设计的55个具体做法》(中文版)(第3版)一共组织55个准则,每一条准则描述一个编写出更好的C++的方式。每一个条款的背后都有具体范例支撑。第三版有一半以上的篇幅是崭新内容,包括讨论资源管理和模板(templates)运用的两个新章。为反映出现代设计考虑,对第二版论题做了广泛的修订,包括异常(exceptions)、设计模式(design patterns)和多线程(multithreading)。 《Effective C++》的重要特征包括: ·高效的 classes、functions、templates 和inheritance hierarchies(继承体系)方面的专家级指导。 ·崭新的 TR1 标准程序库功能应用,以及与既有标准程序库组件的比较。 ·洞察 C++和其他语言(例如Java、C#、C)...

2018-11-26

Effective C++ 完整目录

《Effective C++:改善程序与设计的55个具体做法》(中文版)(第3版)一共组织55个准则,每一条准则描述一个编写出更好的C++的方式。每一个条款的背后都有具体范例支撑。第三版有一半以上的篇幅是崭新内容,包括讨论资源管理和模板(templates)运用的两个新章。为反映出现代设计考虑,对第二版论题做了广泛的修订,包括异常(exceptions)、设计模式(design patterns)和多线程(multithreading)。 《Effective C++》的重要特征包括: ·高效的 classes、functions、templates 和inheritance hierarchies(继承体系)方面的专家级指导。 ·崭新的 TR1 标准程序库功能应用,以及与既有标准程序库组件的比较。 ·洞察 C++和其他语言(例如Java、C#、C)...

2018-11-26

UNIX网络编程卷1 完整目录

《UNIX网络编程》(第1卷)(套接口API第3版)第1版和第2版由已故UNIX网络专家W. Richard Stevens博士独自编写。《UNIX网络编程》(第1卷)(套接口API第3版)是3版,由世界著名网络专家Bill Fenner和Andrew M. Rudoff执笔,根据近几年网络技术的发展,对上一版进行全面修订,增添了IPv6的更新过的信息、SCTP协议和密钥管理套接口的内容,删除了X/Open传输接口的内容。 《UNIX网络编程》(第1卷)(套接口API第3版)内容详尽且具权威性,几乎每章都提供精选的习题,是计算机和网络专业高年级本科生和研究生的首选教材,《UNIX网络编程》(第1卷)(套接口API第3版)也可作为网络研究和开发人员的自学教材和参考书。

2018-11-06

Python网络编程 Python网络数据采集

本书采用简洁强大的Python语言,介绍了网络数据采集,并为采集新式网络中的各种数据类型提供了全面的指导。第 1部分重点介绍网络数据采集的基本原理:如何用Python从网络服务器请求信息,如何对服务器的响应进行基本处理,以及如何以自动化手段与网站进行交互。第 二部分介绍如何用网络爬虫测试网站,自动化处理,以及如何通过更多的方式接入网络。

2018-06-09

TCP/IP网络编程[韩] 尹圣雨

第一部分主要介绍网络编程基础知识。此部分主要论述Windows和Linux平台网络编程必备基础知识,未过多涉及不同操作系统特性。 第二部分和第三部分与操作系统有关。第二部分主要是Linux相关内容,而第三部分主要是Windows相关内容。从事Windows编程的朋友浏览第二部分内容后,同样可以提高技艺。 第四部分对全书内容进行总结,包含了作者在自身经验基础上总结的学习建议,还介绍了网络编程经典书籍

2018-05-25

Wireshark网络分析的艺术

《Wireshark网络分析的艺术》挑选的网络包来自真实场景,经典且接地气。讲解时采用了生活化的语言,力求通俗易懂,以使读者在轻松阅读的过程中,既可以学到实用的网络知识,又能形成解决问题的思路。 与大多网络图书的课堂式体验不同,阅读《Wireshark网络分析的艺术》的感觉更像在听技术圈的朋友分享经验,除了知识,还有心情和想法。本书的覆盖范围从日常使用的手机App,到企业级的数据中心;从对付运营商的网络劫持,到开发自己的分析工具,不一而足。无论你是系统管理员、实施工程师、技术支持、网管、培训教师,还是开发和测试人员,都适合阅读本书。

2017-10-21

Windows核心编程

《经典重读•Windows核心编程(原书第4版)》是讲解Windows操作系统内部机制的一本专著。作者从基本概念入手,全面系统地介绍了Windows底层实现机制、Windows应用程序的基本构件(包括进程、线程、内存管理、动态链接库、线程本地存储和Unicode)以及各类Windows API等,并列举了大量应用程序示例,精辟地分析了Windows编程的各个难点和要点,为掌握windows编程技巧提供了一条有效的捷径。《经典重读•Windows核心编程(原书第4版)》适合Windows编程人员参考。

2017-10-21

UNIX网络编程卷1

这是一部传世之作!顶级网络编程专家Bill Fenner和Andrew M. Rudoff应邀执笔,对W. Richard Stevens的经典作品进行修订。书中吸纳了近几年网络技术的发展,增添了IPv6、SCTP协议和密钥管理套接字等内容,深入讨论了最新的关键标准、实现和技术。 书中的所有示例都是在UNIX系统上测试通过的真实的、可运行的代码,继承了Stevens一直强调的理念:“学习网络编程的最好方法就是下载这些程序,对其进行修改和改进。只有这样实际编写代码才能深入理解有关概念和方法。”读者可以从图灵网站(www.turingbook.com)本书网页免费注册下载这些示例的源代码。 本书为UNIX网络编程提供全面的指导,是网络研究和开发人员公认的权威参考书,无论网络编程的初学者还是网络专家都会大受裨益。

2017-10-21

UNIX网络编程 卷2 进程间通信

两卷本的《UNIX网络编程》是已故著名技术作家W. Richard Stevens的传世之作。卷2着重讨论如何让应用程序与在其他机器上的应用程序进行对话。良好的进程间通信(IPC)机制是提高UNIX程序性能的关键。本书全面深入地讲解了各种进程间通信形式,包括消息传递、同步、共享内存及远程调用(RPC)。书中包含了大量经过优化的源代码,帮助读者加深理解。这些源代码可以从图灵网站本书网页免费注册下载。

2017-10-21

TCP/IP Sockets编程

TCP/IP Sockets编程(C语言实现 第2版),ISBN:9787302211372,作者:(美)多纳霍,(美)卡尔弗特

2017-10-21

Unix-Linux编程实践教程

操作系统是计算机最重要的系统软件。Unix操作系统历经了几十年,至今仍是主流的操作系统。本书通过解释Unix的工作原理,循序渐进地讲解实现Unix中系统命令的方法,让读者理解并逐步精通Unix系统编程,进而具有编制Unix应用程序的能力。书中采用启发式、举一反三、图示讲解等多种方法讲授,语言生动、结构合理、易于理解。每一章后均附有大量的习题和编程练习,以供参考。

2017-10-21

UNIX环境高级编程

本书是被誉为UNIX编程“圣经”的Advanced Programming in the UNIX Environment一书的更新版。在本书第1版出版后的十几年中,UNIX行业已经有了巨大的变化,特别是影响UNIX编程接口的有关标准变化很大。本书在保持了前一版风格的基础上,根据最新的标准对内容进行了修订和增补,反映了最新的技术发展。书中除了介绍UNIX文件和目录、标准I/O库、系统数据文件和信息、进程环境、进程控制、进程关系、信号、线程、线程控制、守护进程、各种I/O、进程间通信、网络IPC、伪终端等方面的内容,还在此基础上介绍了多个应用示例,包括如何创建数据库函数库以及如何与网络打印机通信等。此外,还在附录中给出了函数原型和部分习题的答案。

2017-10-21

数学之美 [美] 吴军

几年前,“数学之美”系列文章原刊载于谷歌黑板报,获得上百万次点击,得到读者高度评价。读者说,读了“数学之美”,才发现大学时学的数学知识,比如马尔可夫链、矩阵计算,甚至余弦函数原来都如此亲切,并且栩栩如生,才发现自然语言和信息处理这么有趣。 今年,作者吴军博士几乎把所有文章都重写了一遍,为的是把高深的数学原理讲得更加通俗易懂,让非专业读者也能领略数学的魅力。读者通过具体的例子学到的是思考问题的方式 —— 如何化繁为简,如何用数学去解决工程问题,如何跳出固有思维不断去思考创新。

2017-10-12

汇编语言(第3版)

汇编语言 王爽 带书签 完整版 带书签 带书签 带书签

2017-10-12

空空如也

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

TA关注的人

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