10 2020 档案
摘要:很简单,类似简单迭代法。 1 import numpy as np 2 # Jacobi迭代法 3 # 测试数据 增广矩阵 4 data = [[10,-1,-2, 7.2], [-1,10,-2,8.3], [-1,-1,5, 4.2]] 5 print(np.array(data)) 6 # 取
阅读全文
摘要:先引入差商的概念,类似一种迭代计算? 丢代码: 1 import numpy as np 2 data = [(0.4,0.41075),(0.55,0.57815),(0.65,0.69675),(0.8,0.88811),(0.9,1.02652)] 3 4 count = len(data)
阅读全文
摘要:主要涉及,PE文件的两种状态->文件对齐和内存对齐。 节表由n(在标准PE头中有属性标明数量)个IMAGE_SECTION_HEADER结构体(40bytes)组成: 结构如下: 1 typedef struct _IMAGE_SECTION_HEADER { 2 BYTE Name[IMAGE_S
阅读全文
摘要:buu 100分的签到题,没人做,我就给他拿下了。 当时比赛的时候我好像就做出来了,那个时候好像是找临时文件的? 反正这次直接跟就跟出来了 就是解释执行呗 通过异或的方式逐步恢复代码:
阅读全文
摘要:很简单,先求l(x),再乘y加起来求个和。 1 # data = eval(input("请输入数据:")) 2 data = [(0.4,-0.916291), (0.5,-0.693147), (0.6,-0.510826), (0.7,-0.356675)] 3 m = len(data) 4
阅读全文
摘要:就是找个破多项式,让每个点和真实数据的差值的平方最小,原理就是这么简单。 1.写正则方程组(法方程组) 2.写结果向量 3.解方程组 丢代码: 1 import numpy as np 2 import math 3 # data = eval(input("请输入数据:")) 4 data = [
阅读全文
摘要:这个不是很难,看看就好。 丢代码: 1 # 矩阵乘法函数 2 def matrix(a1, a2): 3 h1 = len(a1) 4 w1 = len(a1[0]) 5 h2 = len(a2) 6 w2 = len(a2[0]) 7 # 定矩阵大小 8 h3 = h1 9 w3 = w2 10
阅读全文
摘要:这是一个远程逆向,dump下来一个叫diff的elfx86文件。 IDA打开,作用是对比两个文件的差别: 关键点在于compare函数,跟进去。 关键点在于此处的字符相加超过0xFF变成0x100的时候就溢出为0x00退出循环,因此利用的思路为找到0x100-buf的数,然后反推,一位一位的爆破就好
阅读全文
摘要:有两种方法,一个是通过高斯消去法的方式去求一个下三角矩阵,还有一个是直接分解。 显然直接分解好啊233。 然后这是个啥杜尔利特分解公式。 是由矩阵乘法的原理弄出来的。 书上P99页俩公式(5.34 5.35)。 轮流求u和l 三角分解部分的代码: 1 import numpy as np 2 3 m
阅读全文
摘要:过程很简单,代码实现有点烦,关键点就是矩阵对角线的数据,整就完事儿了。 1 import math 2 3 matrix = eval(input("请输入线性方程组的增广矩阵:")) 4 # 测试数据[[2,2,3,3],[4,7,7,1],[-2,4,5,-7]] 5 width = len(m
阅读全文
摘要:老师的作业罢了:-( 用的是简单迭代法求根 1 import math 2 3 #此处为示例迭代函数 求方程x^4+2x^2-x-3=0的根 4 def f(x): 5 return math.pow(math.pow(x+4,0.5)-1, 0.5) 6 7 a = eval(input("请输入
阅读全文
摘要:老师布置的作业罢了:-( 1 import math 2 # 请在此处自定义函数 3 def f(x): 4 #此处为样例函数 sinx-x^2/4 5 return math.sin(x)-(x**2)/4 6 7 a = eval(input("请输入端点a:")) 8 b = eval(inp
阅读全文
摘要:这是一个winx64的unity逆向。 主要逻辑在Who is he\Who is he_Data\Managed\Assembly-CSharp.dll中,用dnspy反编译得到关键代码: 这里将密文解密后与输入的数据对比。 进入解密函数,发现是DES+base64: 然后用密文反推,写一个脚本,
阅读全文
摘要:这是一个win32的VM逆向。 这是第一次做VM逆向,简单的说一下思路: 1.找出主要的虚拟机逻辑片段。 2.找出指令集、堆栈、寄存器。 3.找出要执行的虚拟指令。 4.具体分析。 这次的主函数加了花指令混淆,去除掉以后创建函数然后f5: 同时找到了字符串和虚拟寄存器的地址: 大概的流程摸清楚了,开
阅读全文
摘要:这是一个win64的逆向题。 主函数如下(这里借用了Hk_Mayfly师傅的图,他写的注释比较详细,链接:https://www.cnblogs.com/Mayfly-nymph/p/11869959.html): 基本的操作流程: 1.推出没有修饰的函数 2.置换运算 3.md5出flag 第一步
阅读全文
摘要:《再水一个1分题》 这是一个elfx64逆向: 读文件,位运算,输出一个文件,给了输出文件,反推flag。 直接丢脚本了: 1 aim =[198, 2 232, 3 816, 4 200, 5 1536, 6 300, 7 6144, 8 984, 9 51200, 10 570, 11 9216
阅读全文
摘要:过节划个水,做一个1分题。 这是一个windows x64的逆向。 肥肠简单的异或。 有点太简单了,不说明了,丢脚本: 1 aim = [ 2 0x67,0x79,0x7B,0x7F,0x75,0x2B,0x3C,0x52,0x53,0x79,0x57,0x5E,0x5D,0x42,0x7B,0x2
阅读全文