ICode9

精准搜索请尝试: 精确搜索
  • 插件化编程之WebAPI统一返回模型2022-12-03 18:55:20

    WebApi返回数据我们一般包裹在一个公共的模型下面的,而不是直接返回最终数据,在返回参数中,显示出当前请求的时间戳,是否请求成功,如果错误那么错误的消息是什么,状态码(根据业务定义的值)等等。我们常规的返回值常需要如下字段,为此我们可以先定义IResultDto 接口/// <summary> /// 结

  • 代码审计 企业级Web代码安全架构 可惜php 没那么熟了,正好从逆向角度复习 php虚拟机2022-08-23 15:32:02

      忘了哪本书里说,研究信息系统的安全问题,要对系统获得比开发人员更深的理解,深以为然   php虚拟机    <深入理解PHP内核> 这书当年就没咋看懂。。。 https://www.shouce.ren/api/view/a/14924   print语句 创建一条zend_op,将返回值的类型设置为临时变量(IS_TMP_VAR),并为临时变

  • PHP获取Opcode及C源码2022-06-25 13:31:26

    是什么 在开始之前, 必须要先介绍一下Opcode是什么. 众所周知, Java在执行的时候, 会将.java后缀的文件预先编译为.class字节码文件, JVM加载字节码文件进行解释执行. 而字节码文件存在的意义, 就是为了加速执行. 那么PHP的Opcode与之类似, 也是从.php文件到执行的过程中, 所生成

  • 操作系统:苹果的M1芯片因何而快?2022-06-18 08:00:15

    本届来看看操作系统下面的硬件层面,重点研究一下 CPU 的原理和它的加速套路。 CPU的原理初探 从操作系统的位置来看,它除了能够向上封装,为软件调用提供 API(也就是系统调用),向下又对硬件资源进行了调度和抽象。我们通常更为关注系统调用,但为了更好地设计实现一个 OS,我们当然也要对硬件

  • Zookeeper源码部分 第2章 2.6 服务端Leader启动2022-06-05 00:01:57

    2.6 服务端Leader启动 ZooKeeperServer Ctrl + n全局查找Leader,然后ctrl + f 查找lead( Leader.java void lead() throws IOException, InterruptedException { ... ... // 启动zookeeper服务 startZkServer(); ... ... } final LeaderZooKeeperServer zk; private sync

  • BLE设置广播时间2022-05-23 15:35:33

    #define TGAP_LIM_ADV_TIMEOUT                    1   //!< Maximum time to remain advertising, when in Limited Discoverable mode.Default 180 seconds. (n * 1 seconds) 比如设置60s广播时间 GAP_SetParamValue(TGAP_LIM_ADV_TIMEOUT,60); 运行效果    重新

  • 数组、结构体和联合结构体2022-02-25 16:03:10

    数组、结构体和联合结构体 结构体 结构体是对一些相关信号进行分组的最方便办法。 struct{ int a,b ; opcode_t opcode ; logic [23:0] address ; bit error ; }instruction_word; assign instruction_word.address = 32'hF000001E ; 结构体是不同类型和尺寸的变量和常量的集

  • 初探Pickle反序列化2022-02-05 21:31:34

    Pickle原理剖析 为什么需要Pickle 如果我们需要存储的东西是一个dict、一个list,甚至一个对象,依然选用存储字符串的方法就很繁琐。所以需要序列化 序列化:对象-->字符串 反序列:字符串-->对象 各大语言都有自己的反序列库,而Python的库就是Pickle 比如下图,显示了对象的两种显示模式。

  • RISC-CPU设计(七):算术运算器模块(ALU)设计2021-11-03 21:34:49

    1.算术运算器模块的作用         算术运算器模块根据输入的8种不同操作码(来自指令寄存器输出的最高三位)分别实现对应的加、与、异或、跳转等基本操作运算。利用这几种基本运算可以实现很多种其它运算以及逻辑判断等操作。 2.模块端口图              3.端口功能

  • 网络协议之ARP2021-10-29 23:02:16

    ARP(Address Resolution Protocol)地址解析协议用来建立和维护IP地址和MAC地址之间的映射关系,称为"ARP表"。ARP表中有动态表项和静态表项,动态表项可以老化,通过arp -a命令可以查看ARP表。   ARP请求报文,广播包,EtherType 0x0806, IpProtocol 0x0800,OpCode 1     ARP应答报文,单播

  • X86架构指令模拟2021-10-25 19:33:51

    前言: 要进行指令模拟,我们先需要了解X86架构下的指令是长什么样子的。根据intel的编程手册我们找到了如下信息。 Intel CPU的机器指令格式如下图所示:   e.g.:图片位于intel开发手册第二卷第二章的2.1 根据开发手册,一条指令由 指令前缀(Instruction Prefixes) + 操作码(Opcode) + ModR

  • 32位指令格式——示例(一)2021-09-08 12:33:53

    mov cl, 3: 1. 找到对应指令和操作码:   Opcode=B0+rb # +rb:表示操作码的低3位用于在不需要ModR/M的情况下编码寄存器操作数。 # ib:表示指令中的立即数是1字节。   2. 由于Opcode需要'+rb',找到cl寄存器的编号: 寄存器编号=1 Opcode=B0+1=B1   3. 机器码:B103

  • 32位指令格式——示例(二)2021-09-08 12:33:47

    mov al, cl: 1. 找到对应指令和操作码: Opcode=88 # /r:表示指令的ModR/M中包含一个寄存器操作数和一个R/M操作数。   2. 查看ModR/M寻址方式表: # ModR/M.Mod=11 # ModR/M.Reg/Opcode=001 # ModR/M.R/M=000 ModR/M = 11 001 000 = C8H   3. 机器码:88C8

  • 32位指令格式——示例(三)2021-09-08 12:33:22

    mov word [bx+si+3], 0xAA55: 1. 找到对应指令和操作码: Opcode=C7 ModR/M.Reg/Opcode=000 # /digit:digit是0~7间的数字。将其转换成二进制对应于ModR/M中的Reg/Opcode字段。 # iw:表示指令中的立即数是2字节。   2. 查看ModR/M寻址方式表: # ModR/M.Mod=01 # ModR/M.R/M=000 Mod

  • i春秋 “百度杯”CTF比赛 十月场 Vld2021-06-29 13:56:42

    https://www.ichunqiu.com/battalion?t=1&r=0 opcode中的 BEGIN_SILENCE就是@,不显示报错信息 猜测opcode中的 EXT_STMT就是;,表示一个语句的结束 opcode中的FETCH_R意思是从某个变量中取出值并把这个值赋给另一个变量 详细信息参考php opcode JMPZ,若比较结果为false,则跳转到指定地

  • 【问答21】C语言:位域和字节序2021-04-15 19:55:01

    1. 粉丝问题自己编写的一个协议相关代码,位域的值解析和自己想象的有出入。结构体的头: 解析代码和测试结果: 就是说通过函数hexdump()解析出的内存是十六进制是 81 83 20 3B …从数据帧解析出的opcode = 0x8该粉丝不明白为什么解析出的值是0x8。这个问题其实就是位域的问题和字节序的

  • REVERSE-PRACTICE-BUUCTF-122021-02-10 23:03:18

    REVERSE-PRACTICE-BUUCTF-12 [FlareOn3]Challenge1[GUET-CTF2019]number_game[GWCTF 2019]re3[网鼎杯 2020 青龙组]singal [FlareOn3]Challenge1 exe程序,运行后提示输入密码,输入错误退出程序,无壳,ida分析 main函数逻辑清晰,读取输入,对输入进行变表base64编码,验证编码结果

  • PHP7内核-Zend执行引擎2021-01-28 12:33:28

    深入理解Zend执行引擎(PHP5) PHP:一种解释型语言 PHP经常会被定义为“脚本语言”或者是“解释型语言”,什么是“解释型语言”呢? 所谓“解释型语言”就是指用这种语言写的程序不会被直接编译为本地机器语言(native machine language),而是会被编译为一种中间形式(代码),很显然这种中间形式不

  • VMPWN2020-11-15 09:33:15

    感谢Freedom师傅 小结 如果制作一个VM虚拟机,那么我们至少要为程序准备一个寄存器和栈进行数值的传递,为程序要输出的字符串准备一个缓冲区BUFFER 常见设计 1.初始化分配模拟寄存器空间 2.初始化分配模拟栈空间 3.初始化分配模拟数据存储空间 : data段 4.初始化分配OPCODE(机器指令)空

  • zookeeper事务处理-Follower2020-10-01 14:00:50

    /** * 和Leader同步数据 */ void syncWithLeader(long newLeaderZxid) throws IOException { // Follower启动服务 zk.startup(); } public synchronized void startup() { if (sessionTracker == null) {

  • webshell扫描器2020-07-15 12:01:29

    参考《web安全之深度学习实战》这本书 前言 目前常用的木马病毒等的检测工具主要有两种:一种是静态检测,通过匹配一些特征码或者危险函数来识别webshell等,但是这种方式需要完善的匹配规则,而且只能识别已知的webshell。另一种是动态检测,通过检测文件执行时表现出来的特征,查看它是否是

  • Python3 源码阅读 深入了解Python GIL2020-06-09 22:03:06

    今日得到: 三人行,必有我师焉,择其善者而从之,其不善者而改之。 现在已经是2020年了,而在2010年的时候,大佬David Beazley就做了讲座讲解Python GIL的设计相关问题,10年间相信也在不断改善和优化,但是并没有将GIL从CPython中移除,可想而知,GIL已经深入CPython,难以移除。就目前来看,工作中常

  • PHP开发中使用的工具2020-04-20 20:05:32

    PHP开发中使用的工具   1.xhPort ----PHP性能分析工具 2.ab  --------压力测试工具 3.vid  ------opcode代码分析       PHP性能瓶颈终极方法   1.opcode  Cache: PHP扩展APC 2.扩展实现   :通过PHP扩展代替PHP代码中高频逻辑 3.Runtime优化:HHVM      

  • Assembling SIA2020-02-25 18:58:24

    Assembling SIA Assembling SIA is similar to assembling other assembly languages. With SIA, almost every instruction is aligned with a 4 bit nibble, so all assembly should be presented in hexadecimal. Step 1: Determine the opcode. Use the SIA documentation

  • zookeeper(11)源码分析-请求处理链(1)2019-12-10 14:00:15

    对于请求处理链而言,所有请求处理器的父接口为RequestProcessor。 RequestProcessor内部类RequestProcessorException,用来表示处理过程中的出现的异常,而proce***equest和shutdown方法则是核心方法,是子类必须要实现的方法,处理的主要逻辑在proce***equest中,通过proce***equest方法可以

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有