- 博客(5)
- 收藏
- 关注
原创 攻防世界 zorropub
由于源文件是elf格式,也就是Linux下的文件,写完代码编译的时候需要在Linux下编译,因为windows下的rand()函数得结果与linux不同。而16<v6<0xFFFF,无论如何seed的取值都在0-0xFFFF之间。也就是说在前面的v5输入1,v6输入59306就可以得到flag。库在3.0以后的版本中废除了旧的MD5函数,需要使用新的写法。Seed前面的赋值都可以不用管,因为seed^=v6。然后输入v6,将seed与v6异或。所以seed^=v6等于v6的值。1.查壳,无壳,64位。
2023-07-15 11:13:24
197
1
原创 攻防世界 babyXor
大概分析一下有三个字符串v8,Src,v5,而最后一个函数就是三字符串拼一块。在这里可以看出来eax,edx,ecx存了三字符串的地址,下断。Jmp之后分析代码,利用dump工具dump出来。未知壳,叫我去看看DIE,DIE也看不出来。有个pushad和popad。很显然jmp之后就是源代码了。不出意外这个就是flag了。那么答案已经呼之欲出了。
2023-07-15 11:11:18
166
1
原创 攻防世界 babymips
这里需要注意一点,为什么要用0xff,在原来的变量定义中这是个char型的字符串,也就是说是8位的长度,而python里默认是64位长度上限,在右移的过程中容易超出8位的长度且取入了8位以上的值,0xff可以取得前8位的长度的值。这里很显然只进行了一次变换,而这个左移跟右移结合按位或的可以将左移跟右移调换写出逆向脚本。这里i的地址在sp+18h处,而v5的地址在sp+1ch处,就是说v5的地址加4就是i。第二个框先进行了一次判断,对前5个值校检,再进入sub_4007F0中。逆向萌新打题,攻防世界。
2023-07-15 11:09:09
245
1
原创 关于解决win11无法使用安卓/vm模拟器的问题
在使用夜神模拟器、雷电模拟器、天天模拟器等安卓模拟器提示关闭hyper-v后始终无法解决的问题,亦或着vm勾选vt-x虚拟化却无法启用的时候或者提示无法与Device Guard/Credential Guard共同使用的问题。这时候我们可以在设置>恢复>高级启动,重启之后在高级启动界面找到UEFI固件设置,进入后把cpu vt-d关闭,然后再按上边的方法跑一遍脚本即可。重启后,继续打开msinfo32.exe查看“基于虚拟化的安全性”一栏,如果显示“已启用,但未在运行”虚拟化一项中表示已启用即可。
2023-05-20 18:44:34
8835
9
原创 攻防世界 re 新手模式 Signln
_gmpz_init_set_str的作用就是把第二个参数指定的字符串按第三个参数设定的进制解读成数值并放入第一个参数所指定的内存中;__gmpz_powm的作用是计算第二个参数的第三个参数的次方然后对第四个参数取模,放入第一个参数中。这里最主要的就是__gmpz_powm,类似于RSA加密,需要利用RSA解密的方法求解flag。回到主函数中出现多个__gmpz_init_set_str函数。本次re主要考察了关于RSA加密的识别。__gmpz_cmp就是个比较函数。其中e就是v5,C是v7,n是v4。
2023-05-19 11:34:28
228
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人