自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 手机连接电脑后资源管理器无法识别(识别设备但无法访问文件)

小米8刷了pixel experience系统,今天用电脑连接后无法访问手机文件,但是手机选择了usb传输模式为文件传输。

2024-02-21 21:29:22 801

原创 HashCat报错

报错WARNING! Kernel exec timeout is not disabled. This may cause "CL_OUT_OF_RESOURCES" or related errors.在命令最后添加"-d 设备id"指定设备即可,而报错下方输出了当前所有设备及设备id。为了快速爆破这里选择1号设备rtx3060。HashCat执行命令。

2024-02-19 14:38:26 1165

原创 IDA7.7绿色版 Python路径错误,相关IDA插件加载失败

整理电脑工具时,移动IDA到新的目录下,重启后发现部分插件(keypatch,findcrypto等失效)在ida文件夹内,查看使用说明得知,可以使用IDA_initTool修复ida python路径。通过观察,发现启动后,在输出框发现python版本为3.10.7(自带的py版本为3.8.10)并且很多插件在这里提示没有找到(实际上这些插件在ida的plugins目录内)修复成功后,正常使用keypatch等插件。

2023-12-23 22:13:52 401

原创 Ghidra设置主题和字体大小

上述操作是设置全局字体,不一定合适,在反汇编页面右键选择properties。ghidra默认字体小,默认主题白色伤眼,摸索找到了设置主题和字体的方法。选择display,点击font选项便可单独设置反汇编页面的字体大小。启动ghidra后选择edit>theme>configure。下拉框选择主题,右上角A+和A-可以调整所有字体大小。

2023-12-12 20:11:47 296

原创 2023强网拟态决赛reverse-keygen题解

这题java层没什么东西,关键逻辑都在libkeygen.so中。

2023-12-12 11:10:51 263

原创 Python逆向全版本MagicNumber表

参考pycdc的项目源码。

2023-11-25 12:08:48 769

原创 VisualStudio2022环境下Release模式编译dll无法使用TLS函数问题

Debug x86环境下正常使用TLS回调函数。到C/C++ > 优化中将全程序优化关闭即可。切换到Release发现程序没有使用tls。

2023-10-06 17:12:41 216

原创 [网鼎杯 2020 青龙组]singal详细题解--VMP 直接逆向,angr模拟执行,ponce符号化

按F9,运行到第二个断点,查看流程图,对着jz指令右键 SMT Solver>Negate and Inject to reach。可以在每条指令处加上打印语句获取指令执行顺序,这个操作仅能大概看一下执行流,自动解密不能靠这个。不获取这个data数组也没问题,因为数据保存在opcode数组中,只要执行流正确就可以。主函数并不复杂,关键内容在vm_opcode中,先提取出main函数中的opcode。如果是赋值14,使用后自减,中间变量chr先赋值后,xyzj等的值变成13。

2023-09-12 08:38:38 1414 2

原创 植物大战僵尸修改器制作--从入门到入土

分享并总结学习游戏逆向的一点经验植物大战僵尸修改器制作入门,主要以C和WIN32编程为主使用了HOOK,远程线程DLL注入,远程线程代码注入等技术

2023-08-01 23:48:42 1241 1

原创 DASCTF 2023 & 0X401七月暑期挑战赛 Reverse部分题解

这里的input定义为QWORD[24] 实际上前4个单元(4*8=32字节)没有被使用,后20个QWORD在循环时强转成DWORD(即40个单元),所以input是个4行10列矩阵,并且每行10个DWORD(实际有效内容仅1Byte)第一个循环是进行矩阵乘法并修改data,第二个大循环是检查data是否为零矩阵,也就是说经过第一个大循环运算后data应该全0。主函数发现不了什么,于是在函数列表逐个探查函数,最终找到一个可疑函数有赋值和矩阵乘法。注意这里是从data[10+i]开始。动态调试观察执行情况。

2023-07-23 13:22:04 652

原创 BUUCTF reverse [SWPU2019]ReverseMe解题思路--使用Ponce插件符号化执行

大部分佬都是用动调做出来的,我暂时还没动调出来,意外发现可以用ponce插件符号化input字符串进行求解。

2023-07-16 23:17:20 260

原创 NSSCTF MOBILE [SWPU 2019]easyapp 详细题解

大佬题解[SWPU 2019]easyapp pwjcw的WriteUp大佬的题解很简单,直接hook就可以看到返回值,但是我看了半天没看明白是用什么工具做的看其他题解是分析so文件得到答案,但是仍然没有搞清楚函数调用流程.后来我学习了一下**《安卓Frida逆向与抓包实战 (陈佳林)》**才知道是用frida和objection进行hook,不过仍然没有成功复现,这里推测是由于安卓版本的问题,低版本(安卓7)成功复现,安卓9及以上均会失败。

2023-06-21 15:24:31 726

原创 操作系统磁盘移臂调度算法模拟与实现实验代码

FCFS:按照访问序列的顺序调度SSTF:每次寻找距离当前磁头位置最近的柱面号进行调度单向扫描:按照从里到外逐个找到最近,直到扫到最大柱面,再空扫到最小柱面,再进行逐个找最近的进行调度双向扫描:按当前磁头方向找到逐个找最近的,直到扫到边缘柱面,再反方向扫回去电梯调度:按照当前磁头方向逐个找最近的,直到这一方向所有需要访问的都访问了,再返回去按逐个找最近的方式进行调度。

2023-06-20 21:10:46 266

原创 饶派杯XCTF车联网安全挑战赛Reverse GotYourKey

有一个方法是根据buffer来截取后一段数据,照着程序逻辑分析可以得出buffer分三段,一段是下标0~3,中间一段是topic(stringData),最后一段是messageData。将解密后的dex文件用jadx打开,可以发现大部分逻辑还是和之前的结果一样,最主要的差别就是check函数不同,这里是rc4加密和rc4最后调用的base64加密。再往下看可以看到"goodluck"字符串,这可能是加密密钥,跟进之后可以发现是一个rc4加密。主要在于check方法,跟进可以发现是aes加密。

2023-06-20 21:10:07 1494 1

原创 安卓手机ROOT和刷机基本操作——以红米Note7刷安卓原生系统并Root为例

学习安卓逆向需要进行调试,虽然之前对测试机root过可以进行一些调试,但是某些软件不能正常运行调试,遂选择刷安卓原生系统(PixelExperience)软件权限(第三方软件) 权限最低,要向用户请求权限用户权限 高于第三方软件,可以进行授权ROOT权限 最高权限。

2023-06-20 14:54:45 11230 1

原创 密码爆破工具HashCat的安装与使用

下载压缩包后解压,在所在文件夹中打开cmd即可。

2023-06-10 12:52:15 3271 5

原创 2023年第三届陕西省大学生网络安全技能大赛--本科高校组 Reverse题解

这次比赛总体感觉很好,比前几天黑盾杯和国赛坐牢要好太多,虽然一些题目没见过,但是在网上查一下就能找到相关文章和工具还要重视理论知识水平,不能做脚本小子,这些题目虽然有现成的工具做,但还是要了解一下相关原理,不然下次变一下就呆住了.例如这个的babypython,以前都是用工具或者脚本直接干pyc文件,这次只能生啃字节码(还好有gpt强大的分析能力),甚至还有很多混淆和跳转代码,也是锻炼到了啃字节码的能力另一方面,个人的经验还是不足,还要继续多做题,多比赛,多复现,勤能补拙。

2023-06-03 21:55:14 4243 4

原创 2023年春秋杯网络安全联赛春季赛Reverse题目复现

下方的call sun_7f006f7c2536就是主函数,跟进重新识别即可看到逻辑(这里不做详细介绍,以选项2为主)往上翻找到起始地址,对loc_loc_7F3BB0FB6536按p识别为函数就可以看到主函数逻辑了。然后还有一些没有被正确识别的函数,需要手动跟进按p识别为函数,然后回到反汇编界面按f5重新识别即可。另外两块红色区域同理,重新识别后可以看到主函数(如果看不到那就对tea函数交叉引用向上找)一直按f7,最后可以发现程序会卡住,并且还能看见InputFlag字符串,这里就是主函数了。

2023-05-30 21:05:27 1157 2

原创 攻防世界安卓逆向练习

可以看到sn码有22位,然后是对userName进行md5处理,md5之后的十六进制字符串每隔2位取一个,然后用flag{}包裹住就是需要的sn码。一开始我使用arm64-v8a文件夹中的so文件得到的是这个结果,显然是错误的,这个循环最后会丢失一些数据。这里的函数逻辑已经分析出来了,首先判断字符是否为字母,然后获取该字符在str中的下标。注意func函数每次传进去的是单字符的字符串,所以每次append添加的是单个字符。先看看index函数(注意这里的函数名和变量名都是根据分析手动修改的)

2023-05-28 16:01:09 1833

原创 Android逆向学习之Frida逆向与抓包实战学习笔记(持续更新中)

注意:由于frida更新较快,需要保证objection版本的发布时间在frida之后.最新的objection版本为1.11.0,对应的frida版本最大为14.2.14,frida-tools为9.2.2。在上面的参数中,-U指定usb设备,-l指定注入脚本所在路径,最后的androdi.process.media则是设备上正在运行的进程名。注意:调用这两个函数输出的结果是在android studio控制台,不在frida控制台,frida控制台输出的是js脚本中的内容.

2023-05-27 16:57:17 2733

原创 VsCode终端无法使用conda切换环境的问题

首先按ctrl+shift+p打开搜索框,输入user settings。然后新建的终端都是cmd的了,可以看到正常使用conda切换环境。通过查询得知,只需要将vscode的终端切换为cmd即可。切换默认终端,我这里默认是null,后来改成了cmd。windows的cmd可以正常使用conda切换环境。然后在设置里搜索shell.windows。

2023-05-26 22:13:36 3697

原创 奇怪的AndroidStudio报错--checkDebugAarMetadata--修改SDK版本为33成功修复

看着错误提示好像是我的sdk编译版本有问题,但前几天用32还好好的,莫名其妙今天创建空项目程序都要用33实在不能理解,好在也就花了半小时,android studio的bug太玄学了。点击文件>项目结构>modules修改CompileSdk版本为33即可正常运行。使用Android Studio创建程序时报错。

2023-05-24 21:15:20 7194 4

原创 Neepu Sec 2023公开赛Reverse题目复现

可以看到做了对flag的判断,分别截取flag的不同部分并调用不同的check函数最后将加密结果拼接起来并输出结果。text是密文,bytes是密钥,并且可以看到Mode是ECB,PaddingMode是PKCS7。sha256,也就是把上面得到的结果拼接起来进行hash(也可以运行程序通过验证得到flag)最后组合到的掩码Neepu{Pyth0n_1s_a_t?​将程序用dnSpy打开后,点击From1,可以找到check1~check5函数。可以发现是C#编写的,使用dnSpy分析。

2023-05-22 18:25:57 887

原创 操作系统请求分页式存储管理实验代码(C语言版)

本实验是模拟虚拟存储管理方式中的请求分页式技术中的页面置换算法,对于当前访问的页面号如果有对应的内存物理块号则直接访问(必要时可调整物理块中的页面序号),否则先输出缺页访问标志+,然后再判断物理块是否已存满,未满则直接换入当前页,若已满,则先将内存物理块中块首页面号淘汰且换出,然后再将当前页换入。FIFO是选择在内存驻留时间最长的页面进行置换,LFU是选择最长时间没有被引用的页面进行置换。

2023-05-22 14:21:57 1913

原创 VSCode配置GO语言环境遇到的问题:go.mod file not found in current directory or any parent directory

Error loading workspace: packages.Load error: err: exit status 1: stderr: go: go.mod file not found in current directory or any parent directory; see 'go help modules'问题描述:使用vscode编写go语言时虽然可以正常运行但是总是有个错误非常难受,查了好多篇文章都不能解决,最后在微软官方文档找到了解决办法。

2023-05-21 14:38:00 2287 2

原创 Android Studio Native C++学习--[CXX1300] CMake ‘3.18.1‘ was not found in SDK, PATH, or by cmake.dir 报错

1. 打开sdk manager2.选中SDK Tools安装NDK和CMake如果有版本要求可以点击右下角Show Package Deatails下载其他版本。

2023-05-20 15:15:42 2310

原创 [网鼎杯 2020 青龙组]bang 复现--frida-dexdump安卓脱壳工具的使用

在NSSCTF练习安卓逆向,第一次遇到安卓脱壳题大佬的题解只有一句话"frida-dexdump一把嗦"听起来容易做起来难,还遇到了安卓虚拟机的玄学bug,折磨了我很久,好在最终使用真机成功dump并得到flag如果直接用jadx打开会发现点击MainActivity没有反应。

2023-05-16 22:20:46 823

原创 LitCTF2023 Reverse 题解及复现

使用解包工具时要注意环境问题,这题是python3.8编写的,所以要用python3.8的环境,否则会缺少输出文件,建议使用anaconda管理python版本。关键代码是最后一段对flag的操作,不过这里可能是有意为之或者是反编译的问题,意思应该是flag[i]和flag[i+1]的数据异或后互换。经典的base64换表,第10和11行作用重复,12行也没有实际作用,此处的base表根本没有变化。关键就在于Probee代码中调用了check函数,该函数定义在ch中,分析程序逻辑不难写出解题脚本。

2023-05-14 22:54:35 2123 2

原创 修改ro.debuggable用于调试安卓应用

很详细的介绍了Root的原理和方法,强烈推荐使用Magisk工具可以使用命令查看ro.debuggable的值。

2023-05-12 15:10:27 1745

原创 IDA常用宏定义函数

做题目遇到了几个神奇的函数.SDWORD1(x), SDWORD2(x), SHIDWORD(x)通过查询得知是IDA的宏定义函数宏定义本身类似字符串替换,假设#define x 666只是编译器在预处理阶段进行宏展开,将所有的x替换为666,然后再进行编译可以在路径\IDA_Pro_7.7\plugins\hexrays_sdk\include中找到defs.h文件文件内容如下:三.SHIDWORD()功能解释定义: #define SHIDWORD(x) (((int32)&(x)+

2023-05-09 23:03:25 1591

原创 IDAPython入门基础语法

IDAPython拥有强大的功能,在使用IDA分析程序时非常有用,可以简化许多操作例如花指令的特征码匹配修改学习IDAPython需要了解一点Python语言的基本知识以及查询IDAPython文档IDAPython官方文档:直接在搜索框搜索即可匹配相关项。

2023-04-24 22:57:00 933

原创 C语言实现自动走迷宫 自动输出迷宫路径

最近打的比赛有不少迷宫题,手动走迷宫还是比较麻烦和费眼睛,容易出错,所以就想着写个自动走迷宫的脚本.1.设置了一些枚举变量,如果迷宫的字符不同或者需要的操作符不同可以自行修改全局枚举变量,效果相同.2.迷宫图可以以一行字符串或者矩阵输入.3.由于递归是从终点往回走,所以路径要先保存起来然后逆序输出例子:GDOUCTF2023 Reverse doublegame迷宫题,(P为起点,*为终点)

2023-04-21 18:08:31 987

原创 GDOUCTF2023 Reverse题解

ida分析之后会出现几个新的窗口,最关键的是这个Matched Functions窗口,绿色代表匹配一致,往下翻在最后可以发现。反汇编窗口往下翻可以看到关键函数,这个循环的基本功能应该是对lmao数组的数据进行异或,但并不容易的值用于异或的中间值是什么。然后打开ls-patched.i64文件,选择Edit>Plugins>BinDiff,进来找不到关键函数,查看strings看到类似迷宫的东西,根据字符串可以定位到关键函数。安装时注意路径即可,默认在C盘,可以自己修改,他会自动绑定IDA的路径。

2023-04-17 19:28:40 5549 5

原创 HZNUCTF REVERSE TMD题解——Themida脱壳,使用unlicense工具

unlicense项目里这条注意当时坑了我,我电脑里只有python3.10(64位),所以当时去搜如何多版本python共存,安装了Anaconda,然后下载python3.9(32位)并配置到环境变量。用unlicense32.exe打开TMD.exe,等待几分钟后会输出unpacked_TMD.exe。后面我试了下删掉32位python的环境变量,这个程序也能使用!脱壳的程序没什么区别,让我很疑惑。由于这个程序是32位,所以需要使用32位的unlicense。ida分析程序: xtea加密。

2023-04-15 17:26:12 1778

原创 SAP开发环境ABAP的搭建(客户端和服务器),Developer Key和AccessKey的绕过方法

这学期选修了SAP技术应用,寻遍全网千辛万苦方才搭建好ABAP的客户端和服务器,满怀喜悦使用SE38准备编程,又遇到Accesskey访问键值的阻碍.秉持着开源共享精神,写下此篇.

2023-04-10 21:39:39 4866 25

原创 HZNUCTF MISC Snake题解——python程序逆向,hashcat爆破sha256

使用命令:python pyinstxtractor.py snake.exe​在线反编译工具python反编译 - 在线工具 (tool.lu)这里%e8%b4%aa...是url编码,可以用url编码在线解密修复​这里使用Kali Linux自带的hashcat,使用命令:其中"-a 3"指定掩码攻击模式,"-m 1400" 指定加密算法为sha256,然后跟上sha256的目标值,最后跟上掩码字符串,花括号内"?a"表示字母或数字或特殊字符

2023-04-02 14:27:28 1754 1

原创 HZNUCTF REVERSE Signin题解——upx壳区段改名修复,动态调试脱壳

这个程序需要下两次硬件断点才能找到oep,老的upx加壳程序上来就可以找到pushad指令,但是这个程序刚运行时没有pushad指令,所以需要先找到pushad所在位置。按f9运行,可以发现程序停在了816f处,这里有popad,栈平衡以及jmp指令(跳转到153f处,很显然是大跳转,应该是跳转到oep)如果直接用upx脱壳会失败,后来才知道这是upx壳改了upx区段名,其实exeinfope这里也找到了upx的特征,已经有过提示。按f8,然后按照上面的操作,再给esp指向的内存单元下一个硬件访问断点。

2023-04-02 12:38:56 1078

原创 栈、栈帧和函数调用约定解析

内容后续补充...这两篇文章挺不错的:第一篇介绍了栈的运行原理以及push和pop指令的执行过程通过程序内存布局可以得知,栈是从高地址向低地址增长的简述一下push和pop指令的作用,以32位为例:push eax: //push指令实际上是先开辟空间(也就是调整栈指针)然后再将值压入栈中pop eax : //pop指令先将栈顶的值取出来,然后调整栈指针esp=esp+4。

2023-03-15 22:32:58 481

原创 Buuctf [网鼎杯 2020 青龙组]jocker 题解

1.提示:,出现了堆栈不平衡的情况2.函数的作用是取消encrypt函数所在区域的读写保护,为下方给函数脱壳做准备3.首先输入一个字符串input,判断长度是否为24,然后复制到str中;4.wrong函数对input串加密,加密后由omg函数进行判断是否满足条件,但是根据这两条函数得到的flag是假的,也就图一乐5.真正的flag要根据encrypt和finally函数以及str串(原始的input)来求得二.wrong函数和omg函数--假flag1.wrong函数很普通的一个加密。

2023-03-11 23:33:41 1230

原创 Buuctf [GUET-CTF2019]number_game 题解

⑤judge2()函数实际上是将上一步操作中的内存空间保存的数据视为5*5矩阵,判断每行每列是否有重复元素,也就是一个数独问题。这里的dword_601080单元实际作用是循环计数变量,我最开始也看错了,以为是arr的值++这个函数是递归的将上一步得到的二叉树root用中序遍历的方式存储到arr_stor数组中。也就是说我们按照0-9的顺序输入,实际上会被转换成这样的位置存储到arr_stor数组内。本质上就是判断每行每列是否有重复元素,如果有就错误,所以这是一个5*5矩阵的数独问题。

2023-03-09 21:03:41 454

MemReduct-3.4-setup.exe

非常好用的内存清理工具

2023-02-13

Detect It Easy(DIE.exe win64)查壳工具免费

Detect It Easy(DIE.exe win64)查壳工具,功能强大,无需安装,直接将需要查壳的文件拖入die.exe即可

2023-01-20

dnSpy(32和64位)用于C#,unity逆向

github项目下载有点慢,这是下载好的dnSpy32位和64位,可用于unity,C#逆向 将C#文件拖入dnSpy即可反编译看到源码

2023-01-20

编译好的64位pycdc.exe(支持python3.10和python3.11)

编译好的64位pycdc.exe,可用于将pyc文件反编译为py文件 只需要将pyc.exe和pyc文件放于同一文件夹内,在文件夹内打开cmd 使用命令:pycdc xxx.pyc即可输出对应的反编译py文件(支持python3.10和python3.11)

2023-01-16

互联网技术与应用,网页设计期末大作业-计算机相关介绍(html+css,无js)

基本内容: 大一选修课互联网技术与应用的网页期末大作业,仅学习html和css,没有使用到JavaScript,网页设计内容比较简单,美观度有待提高 1.首页 简单概括计算机的基本形式以及前沿计算机技术的名词解释百科链接,网页出现时会有动画,鼠标悬浮到图片上会有反应 2.计算机历史 图文并茂简述了计算机的发展历史,并且鼠标悬浮到图片上会自动浮现出相关介绍文字,网页出现时也有动画效果 3.计算机组成 简单介绍了一下计算机的基本组成,可以通过快速选择来跳转到希望查看的计算机组件,网页出现时有动画效果 4.组装DIY 以b站up主硬件茶谈的教学视频,可以学习如何组装一台计算机,但是略有bug,播放视频需要手动暂停不能直接切换,直接切换其他视频会导致两个视频同时播放 5.响应式布局 实现了一定的响应式布局效果,根据窗口大小的不同内容也会有不同的变化

2023-01-15

MS-DOS7.1.iso和WIN32.iso(windows3.1系统)

古老的ms-dos7.1.iso和windows3.1系统镜像 可用于学习使用,也可以安装windows3系统复古怀旧一波 原本是学习汇编语言时下载的,但是没有自带的debug工具 适合人群:具备一定编程基础,汇编语言学习者 安装可参照其他文章内容

2023-01-10

空空如也

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

TA关注的人

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