PsgQ Blog

We All Have Is Now!

梯度下降算法推导

为什么梯度的反方向为下降速度最快的方向? x , y 都表示 权重,f 表示损失函数。 1.可由近似公式得到: 2.即: 3. 因为 delta z 表示变化量 ,最大值表示 变化最大 (增加最大),即增加最快的方向。 最小值表示下降最大,即下降最快的方向。 等式右边可写作向量的形式。 4. 左边表示 梯度,所以梯度的反方向 乘积最小,二者夹角-180度...

304号测试--sub_E90函数分析

前言: 最近在忙毕设与复试的内容,304测试暂时没顾上,今天分析了一下sub_E90函数,此函数内容还是挺多的。 知识点: 1.(_DWORD )? (_DWORD )是强制类型转化,然后在提领指针。 dword是指注册表的键值,每个word为2个字节,dword双字即为4个字节。 结合以上信息可以推出其中一个代码*(_DWORD *)a1 + 11)的理解应为: 从 a1...

304号测试--部分函数分析(1)

handler函数: 汇编代码 ; void handler(int) handler proc near ; __unwind { lea rax, unk_202014 mov dword ptr [rax], 1 //令unk_202014 = 1 retn ; } // starts at BC0 handler endp 伪代码 void handl...

304号测试--main函数分析

前言: 这几天一直都在复习复试的内容,304号测试的进展有些慢。今天刚开始分析了一下main函数。 汇编指令: 1.nop指令 空操作指令指令格式:NOP 说明: NOP是英语“No Operation”的缩写。NOP无操作数,所以称为“空操作”。 执行NOP指令只使程序计数器PC加1,所以占用一个机器周期。实例:MOVLW 0xOF ;送OFH到W MOVWF PORT_B...

304号测试--IDA pro 使用

IDA PRO简介 IDA Pro(简称IDA)是DataRescue公司(home of PhotoRescue, data recovery solution for flash memory cards)出品的一款交互式反汇编工具,它功能强大、操作复杂,要完全掌握它,需要很多知识。IDA最主要的特性是交互和多处理器。操作者可以通过对IDA的交互来指导IDA更好地反汇编,IDA并不...

304号测试初步了解

虚拟机 定义: 虚拟机是借助于操作系统对物理机器的一种模拟,与之前了解的vmware或者virtual-box不同,也可以是针对具体语言所实现的虚拟机。例如在JVM或者CPython中,JAVA或者python源码会被编译成相关字节码,然后在对应虚拟机上运行,JVM或CPython会对这些字节码进行取指令,译码,执行,结果回写等操作,这些步骤和真实物理机器上的概念都很相似。相对应的二进制...

Crypto:RSA2解题分析

前言: 今天终于将RSA第二题解决,一路走来踩了不少坑。先是yafu的安装与配置,然后大部分时间都用来安装rsatool工具,但在安装过程中出现了好多问题,解决了一个问题,还是存在下一步问题,最后依然没有解决,于是我选择用python脚本来输出私钥,但在安装Crypto库的时候也出现了问题,解决后虽然成功输出私钥,最后一步用openssl解密的时候,还是报错,查阅资料才发现原来是pytho...

Crypto:RSA相关知识点

前言: 昨天完成了201号测试的前五个阶段,发题解给学长,得到了304号测试与828号测试!当我看到这两个题目,感觉有点困难,知识点很陌生,不知道从哪先开始,于是我跑去刷了一下oj题。 今天解决了RSA1,RSA2有点思路,还没有得到结果。 知识点: 1.RSA介绍 加密过程 (1)选择两个大素数p和q,计算出模数N = p * q (2)计算φ = (p−1) * (q−1) ...

二进制炸弹 phase(5)完整解

前言: 经过五天汇编语言的学习,自己对于AT&T汇编语言指令的理解更加深入。昨天对于阶段五的理解有一条语句出现了偏差,今天花费了好长时间才纠正过来,成功度过阶段五。明天争取把阶段六完成,加油! 汇编指令 mov 0x804a2a0(,%eax,4),%eax 关于这段代码的理解:eax=eax*4+0x804a2a0 但是为什么地址偏移量要乘4呢? 因为这是一...

二进制炸弹 phase(5)

汇编指令: AND指令: AND 指令在两个操作数的对应位之间进行(按位)逻辑与(AND)操作,并将结果存放在目标操作数中: AND destination,source mov 0x804a2a0(, %eax, 4), %eax offset(base, index, width) //其值为 base+index*width+offset //所以对于 mov 0x804...