自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(26)
  • 收藏
  • 关注

原创 c++(类和对象.上)

• class为定义类的关键字,Data为类的名字,{}中为类的主体,注意类定义结束时后⾯分号不能省 略。类体中内容称为类的成员:类中的变量称为类的属性或成员变量;类中的函数称为类的⽅法或 者成员函数。• 为了区分成员变量,⼀般习惯上成员变量会加⼀个特殊标识,如成员变量前⾯或者后⾯加_ 或者 m 开头,注意C++中这个并不是强制的,只是⼀些惯例,具体看公司的要求。

2024-07-27 16:47:00 772

原创 WindowsAPI(每天了解一个api函数,持续更新)

【代码】WindowsAPI(每天了解一个api函数,持续更新)

2024-07-26 19:47:22 154

原创 C++(入门2)

类型& 引⽤别名 = 引⽤对象;

2024-07-26 16:21:21 796

原创 C++(入门1)

定义命名空间,需要使⽤到namespace关键字,后⾯跟命名空间的名字,然后接⼀对{}即可,{}中 即为命名空间的成员。命名空间中可以定义变量/函数/类型等。namespace本质是定义出⼀个域,这个域跟全局域各⾃独⽴,不同的域可以定义同名变量,所以下 ⾯的rand不在冲突了。C++中域有函数局部域,全局域,命名空间域,类域;域影响的是编译时语法查找⼀个变量/函数/ 类型出处(声明或定义)的逻辑,所有有了域隔离,名字冲突就解决了。

2024-07-25 16:39:28 934

原创 网络验证1(所含内容仅供自己复习用)

比如:我们登录qq时需要输入账号和密码,而且账号和密码必须时匹配的,而账号密码能否匹配成功还要看qq服务器的响应。运行程序可知,如果账号密码不匹配,则不能注册成功,但没有注册成功也没有显示任何信息,看了该代码原来如何注册不成功呢程序会一直循环。步骤:运行->附加->搜索->下断点->运行程序(跳到断点)->暴力破解->取消断点->执行cpu。上边的一个跳转指令显示不会跳过之歌函数,我们只需修改指令,让其跳转过该函数就行。运行程序可以知道,即使我们社么也不输就会显示注册成功。程序来到我们下断点的地方。

2024-07-24 15:52:30 200

原创 [NewStarCTF 2023 公开赛道]AndroGenshin

解密结果:BADCFEHGJILKNMPORQTSVUXWZYbadcfehgjilknmporqtsvuxwzy1032547698/+第一个加密函数rc4把username作为keybase64_table作为加密后数据。在进行一次魔改base64解密即可。找到主函数进去,主要逻辑。

2024-07-22 14:42:29 107

原创 [2022DASCTF X SU 三月春季挑战赛]easyre

拿到附件查看一下信息32位aspack壳脱完壳后用ida打开:跟进这个函数很明显是一个base58加密,但经过验证并没用。继续跟进:最后判断条件就是让byte_492a60和v2做比较,byte_492a60就是加密后的flag往上看很容易看到加密逻辑如果知道key就能进行解密,这里我尝试了在ida中动态调试但结果会报错。我尝试使用od找key。

2024-07-19 16:37:46 377

原创 一道链表综合题(这题会了 链表对你so easy)

我们在原链表的基础上,在每个结点后边创建一个与前结点一模一样的结点,把他们插进原链表,然后根据原链表random指向的结点,让新创建节点的的randm指向原结点random的下一个结点的next:然后把新创建的结点在尾插下来就可以了。大体意思就是复制一个一摸一样链表出来,看到这有些人就会想复制链表吗谁不会,但仔细看题可知,链表中还存储一个random,这样就使我们不知道如何操作了。温馨提醒:如有些话语看不懂,欢迎来打扰小编,很高兴为你解答。

2024-07-16 16:56:18 129 1

原创 链表带环问题(如何判断链表带环)

所谓带环就是一组链表种最后一个结点的next指针不指向NULL而是指向该链表的某个结点。eg:如何判断一个链表是否带环?以目前阶段所学知识,唯一方案。意思就算是先定义一个快指针,和一个慢指针,让快指针每次走两步,慢指针每次走一步。如果当慢指针将要进入环中时,快指针已经在园内某个位置了。在当快指针与慢指针相遇时,即可判断该链表带环。如果不带环,则两则相遇是值next值都为NULL,也就是链表最后一个节点。

2024-07-16 15:01:00 748

原创 NSSCTF(idapython除去花指令)

操作了几个后发现需要一直重复该操作,所以我们写一个python脚本帮助我们实施。拿到附件打开ida找到main函数发现存在经典的花指令。我们在查看一下这些字符串在0x2D59处会出现flag。只需要讲该语句第一个字节改为0x90(null)即可。

2024-07-16 12:34:48 96

原创 壳基础(pe结构,导入表)

在程序执行的时候进行链接(生成的.dill文件,属于在单独在一个模块,如要进行某功能的修改,只需要修改.dill文件即可),对应的库文件称为动态链接库。,而动态链接库生成的可执行文件在运行时才会链接所引用的外部地址,所以不能独立运行。pe文件从磁盘加载到内存时会分配4GB虚拟地址,在磁盘上的结构与内存中的结构是一一对应的,程序运行时内存中拉伸了一点。DOS头:是古老的16位的操作体统,微软为了兼容16位程序的运行,把DOS头放在了pe文件2框架的头部。imagebase;

2024-07-13 17:33:42 371

原创 BUUCTF (MFC)

其中注入手段很关键,因为 FromHandle 函数内部的工作就是查句柄与对象指针的映射表,而这个表又是以线程为单位存放的,因此线程注入( CreateRemoteThread )是不会成功的。句柄,然后在发送数据,遇到MFC题目我们需要知道各个窗口的基本信息,利用工具xspy查看一下窗口信息。在这里我们可以看待该窗口的信息,出现一串字符串,并根据“flag就在控件中”推测这就是密文。窗口信息也就显示出来了,但这个窗口信息不是们想要的,查看右上边窗口。拿到附件查看一下信息发现是VM壳。

2024-07-11 12:25:41 265

原创 BUUCTF

拿到exe附件,发现是pythoy打包的exe,这时我们需要用pyinstxtractor-master工具对exe进行解析。发现该函数中把final中4个数值修改了,我们只需把原脚本这四个地方的值修改一下即可。发现是把输入的flag与final函数的值作比较,跟进final函数发现是已知。拿到附件发现该附件没有输入:根据题目描述分析拿到域名在进行MD5加密即可。ida打开发现main函数有一个异或加密,有一个comper比较函数。逻辑很清楚,加密后的密文就是Buf1,直接提取Buf1的数据。

2024-07-10 17:39:34 253

原创 BUUCTF

一版来说unity3D题目都是用c#写的,关键程序都在\BJD hamburger competition_Data\Managed\Assembly-CSharp.dll中。逻辑也非常简单:就是经过sha1加密变为该字符串,在经过ma5加密作为flag。拿到附件是一个unity 3D游戏题目,这样的题目需要使用工具:dnSpy。我们找到该dill,用dnaSy分析,找到关键地方。又看到mmd5加密后保留20个字符。

2024-07-09 20:20:32 311

原创 顺序表经典算法练习

以上算法采用了三指针法,时数据结构中常用的算法。您看完文章,如果有哪些不合理的地方请一定私信小编,这是小编写下去的动力。

2024-07-09 07:44:36 506

原创 BUUCTF(WP)(2024_7_8)

发现这个函数进行了一次加密,并调用qword_562160A01090 我们知道这个函数刚才已经被赋值strcmp地址,由此可知main函数比就是该地方的比较,input相当于加密后的flag a2相当于字符·串zer0pts{********CENSORED********}发现flag(input)经过三次加密后的结果与str2作比较,得知加密后结果即是str2对应的字符串。需要注意的是这里偏移量为3,并且对数字没有解密还需要把解密后字符串中的数据减去3。(本题不会,看的大佬的wp,写出来仅供复习)

2024-07-08 17:48:50 795

原创 通讯录的实现

/暂时把源码放出来因为小编也刚学 只能简单的写出代码,解释以后会补的请见谅。或则可以联系小编进行讨论。

2024-07-07 00:16:35 98

原创 (数据结构)顺序表专题

底层数组长度确定。

2024-07-06 14:33:18 145

原创 弹窗网页去除

首先先了解有关网页的两个api函数:1.WinExec();要想去除网页只需把ret提前放置,或者把这些指令全部都nop掉就可以。目的:去除跳转网站,让该作用失效,或则跳转到自己指定的网站。把程序用dbg打开,ctrl+G搜索函数WinExec地址。点开网页会跳转到www.baidu.com网站。后续会讲到windows api函数目前先了解。取消断点,返回到调用该函数地方。声明:本操作仅供自己学习复习。清晰的看到调用的函数与网页。下断点让cpu执行到这里。修改完进行补丁修改即可。

2024-07-05 16:54:37 105

原创 修改软件名字(通杀方法)

操作软件(od)操作exe:基础011.exe修改为:标题修改通杀方法内存窗口->查找->二进制字符串->输入改标题查找到改标题->选中右键->二进制编辑->修改标题复制到可执行文件,保存文件即可修改成功。

2024-07-03 18:54:22 226 2

原创 BUUCTF [FlareOn6]Overlong1

BUUCTF [FlareOn6]Overlong1

2024-05-28 19:34:56 418

原创 Reversr刷题日记(NSSCTF)

主要程序逻辑清晰可见,经过base64编码得到下边一串字符串。但直接解密发现又不是想要得结果。看到就是将其中某10位与另外十位进行交换位置。拿到源码时,看到逻辑很简单,就是明文进行*33后在对b求模,然后在网上随便搜索一个在线反编译就能得到python源码。问题是b不知道,这是可以根据常识经验进行爆破得出b。然后使用一些python反编译工具提取pyc文件。看到多为py 可以断定为python反编译文件。用ida打开 SHIFT+12。然后在进行爆破求得flag。找一个在线网站,即可解密。

2024-04-28 19:06:18 222 1

原创 upx脱壳(最简单方法之一)

发现刚开始又四个push,把四个寄存器压入栈中,相当于pushed,为了使栈平衡,对应的应该有4个pop或一个poped(这一段入栈出栈操作就是壳的程序)根据入栈出栈为相反动作,直接搜索(ctrl+f)关键指令 pop rbp。首先运行到程序入口,执行push命令,发现esp(栈顶在变化)再次拖入ida中,发现出现main函数进一步分析即可。找到pop后真正的oep也就在紧接着的jmp指令中。可看到这就是程序真正的入口点(在此处进行脱壳即可)首先拖入到od中,找到程序的入口点。首先使用快速脱壳的方法。

2024-04-13 10:48:47 1142

原创 入门逆向简单程序调试

最基础的逆向调试

2024-04-11 16:10:51 158

原创 扫雷游戏(新手0~1)过程实现

扫雷游戏的实现,与一些巧妙方法。

2024-02-04 11:20:09 1529 3

原创 初识C语言

作为新手小白初学编程一定要有一个明确的目标,刚开始学一定要花较多时间去学编程,为以后能进一家自己满意的IT公司做铺垫了。最后希望所有学编程的小伙伴们都有所成就。

2024-01-18 09:41:47 1326 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除