11 2023 档案

摘要:3.1 内存中字的存储 8086CPU中用16位寄存器来存储一个字 高8位放高字节 低8位放低位字节 注意单元和字单元的区别 3.2 DS和[address] CPU读取内存单元先要给出这个内存单元的地址 内存地址=段地址+偏移地址 8086CPU中有一个DS寄存器用以存放要访问数据的段地址 例子: 阅读全文
posted @ 2023-11-30 01:50 wakappxc 阅读(20) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2023-11-29 03:09 wakappxc 阅读(3) 评论(0) 推荐(0) 编辑
摘要:最重要的就是dy=f′(x)dx看下面例题就知道了 阅读全文
posted @ 2023-11-29 02:32 wakappxc 阅读(2) 评论(0) 推荐(0) 编辑
摘要:深度优先搜索(DFS) 求解思路: 1.先判断是否到达目标位置,如果到达目标位置,再试探有无其他更短的路径。 2.如果没有到达目标位置,则找到下一步可以到达的位置,直到找到目标位置 说白了就是每个方向都试一下 然后把所有的路都给走一遍 #include<iostream> using namespa 阅读全文
posted @ 2023-11-28 20:37 wakappxc 阅读(922) 评论(0) 推荐(0) 编辑
摘要:1.检查函数并且去花指令 根据提示我们可以知道是花指令? 程序的逻辑是非常的清晰明了的,就是将我们输入的buf进行加密最后与b1进行比较 根据这个jz jmp我们很容易知道这是一个花指令我们选择直接nop掉 重定义函数发现没反应? 按C强制转化为代码,重新在函数头p重定义函数 F5进行反编译 于是我 阅读全文
posted @ 2023-11-28 18:29 wakappxc 阅读(38) 评论(0) 推荐(0) 编辑
摘要:今天似乎还没写一个题呢 阅读全文
posted @ 2023-11-28 16:39 wakappxc 阅读(7) 评论(0) 推荐(0) 编辑
摘要:1 阅读全文
posted @ 2023-11-28 06:06 wakappxc 阅读(25) 评论(0) 推荐(0) 编辑
摘要:1 阅读全文
posted @ 2023-11-28 06:06 wakappxc 阅读(63) 评论(0) 推荐(0) 编辑
摘要:​1.初步分析 sp恢复平衡 得到假flag 根据这里所谓的提示我们大概就能知道这里的flag就是假的,但是我们来试一下? v2是我们这里的值 我们可以shift+e或者右键如下 然后在下面进行提取就好了 非常明显的假flag 我们从这里也可以看出来它把str传给了Destination但是并没有利 阅读全文
posted @ 2023-11-28 01:22 wakappxc 阅读(85) 评论(1) 推荐(0) 编辑
摘要:RC4分为两个部分 一个是初始化 第二个就是加密或者解密了 载入IDA 以下是对这个程序进行的分析 法一: 因为本题的RC4加密算法是没有进行魔改的所以我们的思路是非常清晰明了的 我们把V4给提取出来然后直接写脚本(或者直接CyberChef)进行解密即可 动态直接V4读取完毕之后点击v4进去直接复 阅读全文
posted @ 2023-11-25 17:48 wakappxc 阅读(46) 评论(0) 推荐(0) 编辑
摘要:找到字符串窗口之后交叉引用再F5反编译 我们可以很容易看到更改的内容 此处就是对加密的整体实现所以我们可以写tea的解密脚本来将其解密出来 而这里就是加密的密文了 与常规的tea相比这里的do while里面的tea加密外面还有一层for循环来处理sum 所以我们也要对其进行处理 从最后往前进行处理 阅读全文
posted @ 2023-11-25 11:12 wakappxc 阅读(40) 评论(0) 推荐(0) 编辑
摘要:观察程序可以把这个类型改为char OK修改完毕 &savedregs其的地址是[rsp+180h]所以&savedregs-368为[rsp+10h] 也就是我们的v8 这时候我们的思路就是写脚本一个一个把我们的v8也就是所输入的flag一个一个算出来 采用python的Z3约束求解(顺便学习一下 阅读全文
posted @ 2023-11-24 11:37 wakappxc 阅读(19) 评论(0) 推荐(0) 编辑
摘要:在Python中,切片操作是用于从序列(例如字符串、列表、元组等)中提取子序列的一种灵活且常见的方式。切片的基本语法是 start:stop:step,其中: start: 起始索引,表示切片开始的位置。默认为序列的开头(索引0)。 stop: 结束索引,表示切片结束的位置。注意,实际取到的是索引值 阅读全文
posted @ 2023-11-22 17:35 wakappxc 阅读(180) 评论(0) 推荐(0) 编辑
摘要:根据提示nc 10.1.5.114 20005大概可以发下这个题目需要nc最后 查壳可知是64位的elf文件 拖入IDA中我们大概可以知道这是一个登录程序 所以只要我们输入正确的密码就可以拿到shell得到flag 通过这里我们可以知道首先是通过一个 rc4_init 然后 base64_encod 阅读全文
posted @ 2023-11-22 04:16 wakappxc 阅读(17) 评论(0) 推荐(0) 编辑
摘要:[院赛2023]babyAES Shift+F12进入看到这个双击 Ctrl + z交叉引用 F5反编译进入 根据题意我们可以知道是这个是AES加密 处理的点就是这两个函数 对密钥进行处理然后存入v12 再进行对比得出答案 而前面对密钥也要一定的处理 但是已经是处理完了之后 所以我们可以直接通过动态 阅读全文
posted @ 2023-11-22 03:29 wakappxc 阅读(12) 评论(0) 推荐(0) 编辑
摘要:我们点进去 CreateMap()这个子程序 我们shift+e讲这里的数据提出来放入我们要写的脚本中 我们先看check里面 exp #include<bits/stdc++.h> using namespace std; int main() { unsigned char map[] ={ 0 阅读全文
posted @ 2023-11-21 21:25 wakappxc 阅读(27) 评论(0) 推荐(0) 编辑
摘要:[院赛2023]消失的眼角膜 unity逆向方法:unity游戏的主要逻辑、脚本 都在Assembly-CSharp.dll,因此我们可以使用dnspy之类的工具就能够轻易的反编译出源码 再依次查看的时候发现这里直接出现了flag代码的大意是通关到第五关可以直接拿到flag并且是没有加密的 同理我们 阅读全文
posted @ 2023-11-21 17:10 wakappxc 阅读(49) 评论(0) 推荐(0) 编辑
摘要:这段代码使用了 memcmp 函数,该函数用于比较两个内存区域的内容。在这里,v12 和 Buf2 是两个指向内存区域的指针,而 32u 则是要比较的字节数。 具体来说,memcmp(v12, Buf2, 32u) 的作用是比较从 v12 指针指向的内存位置开始的 32 个字节,与从 Buf2 指针 阅读全文
posted @ 2023-11-20 23:31 wakappxc 阅读(13) 评论(0) 推荐(0) 编辑
摘要:1 printf 是C语言(以及许多其他编程语言)中的一个标准库函数,用于在控制台打印格式化输出。 2 printf 的格式说明符通常是一个包含用于插入值的占位符的字符串。例如,%d 是整数的占位符,%f 是浮点数的占位符,依此类推。 3 在你的代码中,似乎格式字符串被存储在名为 Format 的变 阅读全文
posted @ 2023-11-20 22:44 wakappxc 阅读(7) 评论(0) 推荐(0) 编辑
摘要:memcpy 函数是C语言标准库中的一个函数,用于在内存之间进行字节块的复制。其原型如下: void *memcpy(void *dest, const void *src, size_t n); 这个函数的作用是从源地址 src 复制 n 个字节的数据到目标地址 dest。它返回目标地址 dest 阅读全文
posted @ 2023-11-20 21:22 wakappxc 阅读(29) 评论(0) 推荐(0) 编辑
摘要:目录 动态链接库的基本调用 MessageBox不直接调用 远程线程注入 DLL写法 动态链接库的基本调用 #include<stdio.h> #include<Windows.h> #include<Psapi.h> //有头文件的话可以直接调用头文件 //没有的话就用函数指针 typedef i 阅读全文
posted @ 2023-11-15 21:58 wakappxc 阅读(27) 评论(0) 推荐(0) 编辑
摘要:思路: 也就是求各自字符串的逆序对然后进行排序输出 #include<iostream> #include<utility> #include<algorithm> using namespace std; const int N=2e5+10; pair<int,pair<int,string> 阅读全文
posted @ 2023-11-15 04:57 wakappxc 阅读(8) 评论(0) 推荐(0) 编辑
摘要:题目: Sample 1 InputcopyOutputcopy 2 2 3 1 2 2 3 4 3 3 5 3 4 3 4 1 25 50 思路: 把n+m看成一个整体,而set不包括重复的内容,因此n+m - set 就是不同的元素(即是多出的元素就是重复了的元素个数) 代码:用cin cout 阅读全文
posted @ 2023-11-15 04:04 wakappxc 阅读(36) 评论(0) 推荐(0) 编辑
摘要:目录 题目: 证明:​编辑 解题思路: 代码: 题目: Our chemical biologists have invented a new very useful form of life called stripies (in fact, they were first called in R 阅读全文
posted @ 2023-11-15 02:55 wakappxc 阅读(3) 评论(0) 推荐(0) 编辑
摘要:目录 查询内存的相关操作 使用一些申请内存的API方法 ,写本进程的内存 内存保护的一些详细属性 跨进程读写 堆的创建 分配 存储 释放 销毁 查询内存的相关操作 #include<stdio.h> #include<stdlib.h> #include<Windows.h> //#include< 阅读全文
posted @ 2023-11-13 21:40 wakappxc 阅读(11) 评论(0) 推荐(0) 编辑
摘要:思路:采用递归的方式依次输出来 最后全部输出来 #include<iostream> using namespace std; string read() { string s,x; char c; int n; while(cin>>c)//依次输入单个字符 { if(c=='[') { cin> 阅读全文
posted @ 2023-11-13 17:50 wakappxc 阅读(4) 评论(0) 推荐(0) 编辑
摘要:线程的使用 #include<stdio.h> #include<Windows.h> #include<TlHelp32.h> //******函数调用约定 函数名 我们是不需要的直接空掉 //DWORD(WINAPI* PTHREAD_START_ROUTINE)( // LPVOID lpTh 阅读全文
posted @ 2023-11-13 00:26 wakappxc 阅读(4) 评论(0) 推荐(0) 编辑
摘要:for (int i = 0; i < 5; i++) //初始化表达式 00A41895 mov dword ptr [ebp-8],0 00A4189C jmp 00A418A7 //i++ 00A4189E mov eax,dword ptr [ebp-8] 00A418A1 add eax, 阅读全文
posted @ 2023-11-10 22:43 wakappxc 阅读(10) 评论(0) 推荐(0) 编辑
摘要:#继承 下划线开头表示私有 class Human: def __init__(self,name): #init是初始化方法 self是实例化对象的本身 本质是一块内存 self.name=name print('self->',self) #self.__xjb=name #下划线表示是私有的 阅读全文
posted @ 2023-11-10 17:51 wakappxc 阅读(5) 评论(0) 推荐(0) 编辑
摘要:#参数 属性 #函数 方法 class Human: def __init__(self,name): #init是初始化方法 self是实例化对象的本身 本质是一块内存 self.name=name print('self->',self) def speak(self): print('Huma 阅读全文
posted @ 2023-11-10 13:15 wakappxc 阅读(6) 评论(0) 推荐(0) 编辑
摘要:def add(a,b): try: c=a+b print('a+b=',c) except Exception as e:#若发生错误则执行这一句 并且Exception通过e发出原因 print('发生错误了!',e) finally:#只要写了这个 最后一定会执行后面的内容 print('执 阅读全文
posted @ 2023-11-10 04:17 wakappxc 阅读(2) 评论(0) 推荐(0) 编辑
摘要:#def 关键字 #参数,就是函数里边会用到的东西 #可复用的东西 #return 函数的返回值 没有的话就是返回return None def add(a,b): return a+b tmp=add(5,3) print(tmp) 阅读全文
posted @ 2023-11-10 03:56 wakappxc 阅读(1) 评论(0) 推荐(0) 编辑
摘要:#if else #for 计次 while 死循环 #for i in range(100): #循环从0到99 while True: username=input("请输入用户名:") if username=='xjb': print('登录成功') break else: print('用 阅读全文
posted @ 2023-11-10 03:43 wakappxc 阅读(3) 评论(0) 推荐(0) 编辑
摘要:#str int float bool list dict tuple set #布尔值 True False 真 假 1 0 bool_a=True print(type(bool_a),bool_a) print(0==False) #list 列表 list_a=[1,2,3,3.14,'ni 阅读全文
posted @ 2023-11-10 03:32 wakappxc 阅读(8) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示