12 2021 档案
除法优化识别以及还原方法
摘要:除数为无符号2的幂 快速识别 x >> n(无符号右移) 快速还原 除数为无符号非2的幂 快速识别 ,且使用无符号乘法时 快速还原 \(c = \frac
有符号费非负2的幂的第一种除法优化
摘要:感觉这一种比较简单,就是的除法优化而已,只不过魔术M是负数而已 但是gcc编译的优化方式略有不同 请看下图 当c<0时,\(\frac{x}{c} = -\frac{x}{-c} = - (x*\frac{2^
除法优化有符号-2的幂逆向还原
摘要:现在我们来逐步分析每一条代码的作用 push ecx 这条代码实际上是为了将esp-4,腾出一个局部变量的栈空间 lea eax,dword ptr ss:[esp] 将刚刚增加的栈空间的地址放入eax中 mov dword ptr ss:[esp],0 初始化这个变量 push eax 将变量地址
逆向还原除法有符号非2的幂的第二种优化
摘要:从代码上来看,基本和有符号非2的幂的第一种优化一样,可是0x003F103F处的加法却很奇怪,请注意0x003F1036的乘法是否符号乘法,而它的操作数是一个负数,但是实际上我想要的是一个无符号数,所以0x003F103F处的加法是为了把这个负数变成无符号数。 接下来我们看看它是如何完成这个操作的
windows使用windows-kill模拟ctrl+c信号进行进程通信
摘要:今天我运行aria2c下载视频时发现如果强制终止进程的话,aria2c无法进行断点重下,但是ctr-c的话就能下载 可是如何在编程中模拟Ctrl+c,在网上搜索一番,在github找到了一个开源项目windows-kill,下载下来是一个exe,windows-kill.exe, 只要命令行执win
关于c++反汇编与逆向分析除法优化推导6和推导7的思考
摘要:关于c++反汇编与逆向分析除法优化推导6和推导7的思考 推导6: a、b均为整数,x为实数 推导7 设有a、b两整数,当b>0时,有 设有a、b两整数,当b<0时,有
VS创建hpp文件的注意事项(hpp文件出现定义函数重定义)
摘要:今天我自己犯了一个傻事,我创建hpp文件时是用cpp文件重命名的,这导致vs把这个hpp文件当做cpp处理,我一include 这个hpp文件就出现重定义错误了 应该新建头文件然后再重命名为hpp,这样vs会将这个hpp当作头文件处理,不会再另外创建一个obj,因引用方和被引用方都有函数定义而导致重
有符号非2的幂的第一种优化
摘要: 这样就把除法转换为被除数x乘以一个整数,再右移n位的形式,但是有一个问题,因为右移n位是取下整 右移n位是取下整 例子: -3/2 = 0xFFFFFFFD / 2 =0xFFFFFFFD >> 1 =
python 遍历列表时删除元素
摘要:testObjs = ["1","2","3","1"] # i=0 # for o in testObjs: # testObjs.pop(i) # print(o) # i+=1 j=0 length = len(testObjs) for i in range(0,length): o = t
`Flask`通过后端访问静态网页
摘要:通过url直接访问静态文件 首先要在Python工程中创建一个目录static(名字和相对位置均不能改动)。如下所示: static目录中的文件分布如下: 脚本代码如下: import webbrowser from flask import Flask app = Flask(__name__)