MIPS-sc 为 MIPS simulator&compiler 的简称,是一个基于Qt实现的带图形界面的MIPS汇编指令的编辑器、汇编器、反汇编器、模拟器。是为浙江大学《计算机组成课程》编写的的课程项目之一。
是TP-Link WR940N后台的RCE, 手头上正好有一个TP-Link WR941N的设备,发现也存在相同的问题,但是CVE-2017-13772文章中给的EXP并不通用
作者:Hcamael@知道创宇404实验室 之前看到了一个CVE, CVE-2017-13772 是TP-Link WR940N后台的RCE, 手头上正好有一个TP-Link WR941N的设备,发现也存在相同的问题,但是 CVE-2017-13772 文章中给的EXP并不通用 所以准备进行复现和exp的修改,折腾了将近4天,记录下过程和遇到的坑 第一次研究mips指令的RCE,之前只学了intel指令集的pwn,所以进度挺慢的 Day 1 第一天当然是配环境了,该路由器本身在默认情况下是不提供shell的
在第二期极客挑战赛的MIPS64赛道中,“我就看看不参加”同学以581字节的成绩最终获得赛道冠军。除了是赛道第一名,他还是所有赛道中累计提交次数最多的同学(共85次)。一次次的提交,一次次的改进优化,一个个字节的减少,是锲而不舍、不断打磨的精神体现,也是追求技术极致的乐趣所在。
最近在研究某款软路由,能在其官网下载到其软路由的ISO镜像,镜像解压可以获取到rootfs,但是该rootfs无法解压出来文件系统,怀疑是经过了某种加密。
对于以上两者,不存在直接寻址;必须要通过特殊指令mfhi ("move from Hi") 和 mflo ("move from Lo")来访问内容
本章内容将讲解 Docker 虚拟化、虚拟化本质、namespace、cgroups。
简介 咱们知道x86架构cpu用于PC端和工作站较多,ARM架构cpu常见于手机和单片机,那么MIPS架构的cpu主要在哪些设备可以找到它们的身影呢? 中国龙芯 PS游戏机 学习环境搭建 安装JDK,
前言:我将尽量以自己做题时的思考过程来组织本文,所以本文可能不适合阅读,知识点也会比较散碎的出现。
冯诺依曼机 核心思想:存储程序 工作方式: 任何要计算机完成的工作都要先被编写成程序,然后将程序和原始 数据送入主存并启动执行。一旦程序被启动,计算机应能在不需操 作人员干预下,自动完成逐条取出指令和执行指令的任务。 主要思想:
无意中找到一篇十分好用,而且篇幅也不是很大的入门教程,通篇阅后,再把“栗子”敲一遍,基本可以有一个比较理性的认识,从而方便更好地进一步深入学习。
前面我们已经对MIPS架构CPU有了粗略的了解。显然,它提供了众多优秀的功能。但是,应用的场景不同,往往需要CPU做的事情也不一样,这就需要必须能够对CPU以及它提供的功能进行有选择的配置。这是协处理器诞生的根本原因。
risc-v的架构有着非常鲜明的特点,如果看过arm,aarch64,mips等架构的一些架构手册的基础知识,再看risc-v的芯片的架构设计,就会觉得非常有意思,可以找到一些影子,但是又比这些架构设计简洁的多。当我看完aarch64的芯片手册,再看risc-v的boot时,设计思想竟然可以做一些对比,同样去看risc-v和mips的寄存器,也可看到高度的一致性。对于x86的架构我未曾深入了解,但是在risc-v上应该也可以找到一些设计元素。总体说来,risc-v的架构设计集合了各种架构的设计的优点。我突然觉得这种堆叠即模块的设计思想,在当前iot物联网发展的如火如荼的时代又要被赋予最新的使命了。我十分看好risc-v的设计思想,也期待着与软件界的Linux一样,发展的繁荣昌盛。
众多RISC精简指令集架构中,MIPS架构是最优雅的”舞者”。就连它的竞争者也为其强大的影响力所折服。DEC公司的Alpha指令集(现在已被放弃)和HP的Precision都受其影响。虽说,优雅不足以让其在残酷的市场中固若金汤,但是,MIPS架构还是以最简单的设计成为每一代CPU架构中,执行效率最快的那一个。
Acheron是一款真的Go程序的安全产品绕过工具,该工具受到了SysWhisper3/FreshyCalls/RecycledGate等代码库的启发,其绝大部分功能都采用了Golang来实现。
由于容器运行在主机上,且与主机共用一套内核,因此在容器的安全使用上会涉及到容器本身以及主机的安全加固,如针对系统调用,系统资源,远程访问等都需要进行安全方面的考量。
1978年12月5日,物理学家赫尔曼·豪泽(Hermann Hauser)和工程师Chris Curry,在英国剑桥创办了CPU公司(Cambridge Processing Unit),主要业务是为当地市场供应电子设备。
写在前面:这本书前前后后花了挺长时间,去年 11 月份就开始读了,中间又断了,直到最近才捡起来看完。
每次在物理内存中发现 NtGdiDdDDICreateContext 的字节时,都会进行测试以确定是否已找到正确的内存。这个测试在 NtGdiDdDDICreateContext 的前几条指令上放置了一些汇编代码。然后调用 NtGdiDdDDICreateContext 来查看是否执行了所需的指令。最后不管情况如何,原始字节都被恢复了。
架构这个词,英文是architecture,牛津词典对其解释为the design and structure of a computer system。所以,这个词体现的是设计和结构,也就是说,是一个抽象机器或通用模型概念上的描述,而不是一个真实机器的实现。这就好比一辆手动挡车,无论是前轮驱动还是后轮驱动,它的油门总是在右,离合器在左。这里,油门和离合器的位置就相当于架构,前轮还是后轮驱动是具体实现。所以,相同的架构,实现未必相同。
0x00 背景 最近一直在研究IoT设备的安全,而在IoT设备上程序很多都是MIPS架构的。所以对MIPS指令有一定研究,而在DDCTF 2018中刚好有一道逆向题目是MIPS程序,于是尝试做了一下。 0x01 环境搭建 由于我们通常的操作系统指令集都是x86的,所以无法跑MIPS程序。这时候就需要装QEMU来模拟,QEMU通过源码编译较为复杂,我们又没有特殊的需求,所以直接使用ubuntu的APT进行安装即可。 由于MIPS架构有两种——大端MIPS和小端MIPS。所以,我们需要确定这个程序是大端MI
在main.cc中,当我们选择-x选项时,这段代码将-x之后的参数设置为userProgName,即我们需要执行的用户程序。
本文主要的目标读者是习惯于C语言编程,但是,有时候不得不读懂一些汇编代码甚至做一些小范围的改动的开发者,比如操作系统移植时启动代码start.S文件的阅读与修改。如果想要深入研究汇编程序如何编写,请参考所使用的MIPS工具链的说明文档。
这两天抽时间看了下CPU相关的一些资料,发现越是去了解,自己越是陌生,CPU的发展史相当的丰富,不亚于计算机的发展史。总是有很多人在历史的长河中默默的奉献着。 自己的固有认识中,总是认为处理器主要就是
核心是CLR(通用语言运行时), c#或者其它各种语言编译原理:将原代码通过相对的编译器(语法检查原代码分析)生成IL代码托管(IL也称托管代码),最后得到一个托管模块,一个或多个托管模块组成程序集(assembly)交给CLR运行; 编译器需要为托管模块生成完整的元数据; 元数据:是一个数据表集合,其中有描述托管模块中引用类型和成员的,还有一些描述他们中成员类型和定义的,元数据和代码一起被嵌入到EXE或者DLL中; 因此编译器同时产生元数据和IL代码,并且将它们嵌入到生成的托管模块中; 元数据在.
在这之前,我写了一系列关于代码生成和T4相关的文章,而我现在也试图将T4引入我们自己的开发框架。在实践中遇到了一些问题,也解决了不少问题。如果你也在进行T4相关的开发,相信你也一定会遇到这些问题。为此,特意将这些问题和解决方案与朋友们分享,希望在遇到这些问题的时候少走弯路。本篇文章介绍的是两个重要的话题:程序集锁定和调试。 目录 一、程序集引用导致的编译问题 二、T4引擎对引用程序集的锁定 三、Debugger.Break导致VS 2010的Crash
从软件工程师的角度来看,CPU是执行计算机指令的逻辑机器。计算机指令可以看作是CPU能够理解的语言,也称为机器语言。
1月5日消息,芯片设计厂商MIPS近日通过官网宣布,已聘请了知名RISC-V技术厂商SiFive的两名前高管,Drew Barbier担任公司产品副总裁,Brad Burgess 被任命为公司首席架构师,以推动其基于RISC-V指令集架构的eVocore系列内核IP的开发工作。
最近在研究一个最简单的android内核的栈溢出利用方法,网上的资料很少,就算有也是旧版内核的,新版的内核有了很大的不同,如果放在x86上本应该是很简单的东西,但是arm指令集有很大的不同,所以踩了很多坑
最近在研究一个最简单的android内核的栈溢出利用方法,网上的资料很少,就算有也是旧版内核的,新版的内核有了很大的不同,如果放在x86上本应该是很简单的东西,但是arm指令集有很大的不同,所以踩了很多坑。
第一个区别就是所谓的“复杂指令集”与“精简指令集”系统,也就是经常看到的“CISC”与“RISC”。 Intel和ARM处理器,前者使用复杂指令集(CISC),而后者使用精简指令集(RISC)。属于这两种类中的各种架构之间最大的区别,在于它们的设计者考虑问题方式的不同。
常见的四大CPU体系结构ARM、X86/Atom、MIPS、PowerPC,这里我们来看下主流的X86架构和ARM架构。
在众多.NET应用下的代码生成方案中,比如CodeDOM,BuildProvider, 我觉得T4是最好的一种。关于T4的基本概念和模板结果,可以参考我的文章《基于T4的代码生成方式》。如果要了解T4具体的应用,则可以参考我的文章《创建代码生成器可以很简单:如何通过T4模板生成代码?》(上篇)(下篇)。如果你编写T4模板,你不得不面对一个问题——如何引用一个程序集?VS 2010采用了与VS2008不同的程序集引用的解析机制。本篇文章为你介绍在VS2010下5种不同的程序集引用的方式。 目录 一
各操作系统的信号定义或许有些不同。下面列出了POSIX中定义的信号。 在linux中使用34-64信号用作实时系统中。 命令 man 7 signal 提供了官方的信号介绍。也可以是用kill -l来快速查看 列表中,编号为1 ~ 31的信号为传统UNIX支持的信号,是不可靠信号(非实时的),编号为32 ~ 63的信号是后来扩充的,称做可靠信号(实时信号)。不可靠信号和可靠信号的区别在于前者不支持排队,可能会造成信号丢失,而后者不会。 Linux支持的标准信号有以下一些,一个信号有多个值的是因为不同架构使用的值不一样,比如x86, ia64,ppc, s390, 有3个值的,第一个值是slpha和sparc,中间的值是 ix86, ia64, ppc, s390, arm和sh, 最后一个值是对mips的,连字符-表示这个架构是缺这个信号支持的, 第1列为信号名; 第2列为对应的信号值,需要注意的是,有些信号名对应着3个信号值,这是因为这些信号值与平台相关,将man手册中对3个信号值的说明摘出如下,the first one is usually valid for alpha and sparc, the middle one for i386, ppc and sh, and the last one for mips. 第3列为操作系统收到信号后的动作,Term表明默认动作为终止进程,Ign表明默认动作为忽略该信号,Core表明默认动作为终止进程同时输出core dump,Stop表明默认动作为停止进程。 第4列为对信号作用的注释性说明。
联发科技 MT7688AN 系统单芯片可应用于家庭自动化的桥接中心。它集成了 1T1R 802.11n Wi-Fi radio、580MHz MIPS® 24KEc™ CPU、1-port fast Ethernet PHY、USB2.0 host、PCIe、SD-XC、 I2S/PCM,并支持多种低速输出入接口在单一颗系统单芯片当中。请查看比较表格以了解不同智能家庭芯片间的差异。
计算机语言中的基本单词称为指令。一台计算机的全部指令称为该计算机的指令集。 尽管机器语言种类繁多,但他们之间十分相似,其差异性更像人类语言的”方言”。 本篇讲解 MIPS 指令集。
关注Android的时候,有一些CPU架构方面的术语知识,主要有:ARM、X86/Atom、MIPS、PowerPC 1)ARM/MIPS/PowerPC均是基于精简指令集(RISC,Reduced Instruction Set Computing)机器处理器的架构;
原文地址:https://www.fidusinfosec.com/tp-link-remote-code-execution-cve-2017-13772/ 译者:hello1900@知道创宇404实验室 1 前 言 本文重点讨论作者近期从事 TP-Link WR940N 家用 WiFi 路由器漏洞研究获得的心得体会,主要从发现漏洞代码路径的必要步骤与通过这些路径实现远程代码执行的方式两方面入手。 首先,我将介绍如何找到第一个漏洞以及生成完整攻击链的方法;然后,说明此漏洞已形成特定模式,可使设备遭受数百种
什么是.NET?什么是.NET Framework?本文将从上往下,循序渐进的介绍一系列相关.NET的概念,先从类型系统开始讲起,我将通过跨语言操作这个例子来逐渐引入一系列.NET的相关概念,这主要包
CPU架构是CPU厂商给属于同一系列的CPU产品定的一个规范,主要目的是为了区分不同类型的CPU,下面是几个常见的类型:
众所周知,安卓支持3类处理器(CPU):ARM, Intel和MIPS。其中ARM无疑被使用得最为广泛。Intel因为普及于台式机和服务器而被人们所熟知,然而对移动行业影响力相对较小。MIPS在32位和64位嵌入式领域中历史悠久,获得了不少的成功,可目前Android的采用率在三者中最低。 处理器(CPU)
这是向MIPS架构移植软件的问题系列之第二篇。上一篇《MIPS架构深入理解8-向MIPS架构移植软件之大小端问题》中,我们讨论了大小端对于移植代码的影响。那么本文,我们再从Cache理解一下对于移植代码的影响,尤指底层代码或操作系统代码。
机器之心报道 编辑:陈萍、杜伟 曾与 Arm、X86 比肩的 MIPS,现在也被老东家抛弃,转投 RISC-V。 还记得 2018 年 6 月,Wave Computing 收购老牌半导体 IP 公司 MIPS 之时,一度风光无限。然而,收购没过多久,就在近日成功获得破产拍卖,更名为 MIPS。现如今也要放弃自研架构 MIPS,转投 RISC-V。 MIPS Technologies 不在设计 MIPS 处理器。相反,其加入了 RISC-V 阵营。这意味着 MIPS Technologies 放弃了具有悠久
以前写程序用“打孔卡(Punched Card),没法像今天,掏出键盘就能打字,而是要先在脑海/纸写出程序,然后在纸带/卡片上打洞。这样,要写的程序、要处理的数据,就变成一条条纸带或者一张张卡片,之后再交给当时的计算机去处理。
其中,ARM7、ARM9、ARM9E和ARM10为4个通用处理器系列,每一个系列提供一套相对独特的性能来满足不同应用领域的需求。SecurCore系列专门为安全要求较高的应用而设计。
X86是微处理器执行的计算机语言指令集,指一个Intel通用计算机系列的标准编号缩写,也标识一套通用的计算机指令集合。1978年6月8日,Intel 发布了新款16位微处理器 8086,也同时开创了一个新时代:X86架构诞生了。 X86指令集是美国Intel公司为其第一块16位CPU(i8086)专门开发的,美国IBM公司1981年推出的世界第一台PC机中的CPU–i8088(i8086简化版)使用的也是X86指令。
詹士 发自 凹非寺 量子位 | 公众号 QbitAI MIPS投诚RISC-V,打响第一枪。 该公司首款基于RISC-V架构的芯片设计,现已开放授权。 此次,对外公开产品为eVocore P8700多处理器IP内核,号称业内性能最强,可拓展性最高的RISC-V多处理器IP。官方还特别点明——面向下一代汽车应用。 目前,该设计已获得汽车辅助驾驶系统(ADAS)及自动驾驶等应用的上车许可,且被英特尔系Mobileye相中。其他场景,如数据中心存储、高性能计算(HPC)等领域,也同样适用。 MIPS曾是全球三大
根据以往互联网时代的经验,芯片永远都是产业链最上游的存在,是行业先导指标。众所周知,目前芯片领域有两大霸主,分别是Intel和Arm,Intel掌握着X86的架构,并且只授权给AMD一家公司,其他厂商都无法生产X86架构的芯片,而Intel与微软的windows系统结盟,称霸台式机市场并且牢不可破。Arm在移动领域是一家独大,不管是高通、三星或是华为、联发科都是基于Arm的架构开发。MIPS是一个简单、流线型、高度可扩展的RISC架构,可以通过授权方式提供给客户。这种架构经过不断的发展,吸收新的技术,发展成为一个在业内得到广泛支持的可靠生态系统。它是基于一种固定长度的定期编码指令集,并采用导入/存储(load/store)数据模型。经改进,这种架构可支持高级语言的优化执行。其算术和逻辑运算采用三个操作数的形式,允许编译器优化复杂的表达式。
领取专属 10元无门槛券
手把手带您无忧上云