python
liqingdi437
他年若为青帝,报与桃花一处开
展开
-
[HNCTF 2022 WEEK4]flower plus
使用脚本将花指令去除后,u,c,p一下基本没啥问题。用下面idapython脚本得到密文和key。根据两种花指令特征,写出去花指令脚本。可以得到下面正常main函数。分析可得为rc4+xor加密。原创 2024-06-09 19:47:18 · 231 阅读 · 0 评论 -
[HGAME 2023 week4]shellcode
看题目,将base64解密,然后dump下来,再拉进ida里,发现为tea加密。在tea加密中得到key。密文就是另外的一个文件。原创 2024-06-09 02:31:03 · 260 阅读 · 0 评论 -
[FSCTF 2023]Tea_apk
【代码】[FSCTF 2023]Tea_apk。原创 2024-06-09 01:16:26 · 269 阅读 · 0 评论 -
[SWPUCTF 2023 秋季新生赛]Junk Code
将所有E9修改为90即可。方法二:花指令去除脚本。原创 2024-06-02 15:02:33 · 240 阅读 · 0 评论 -
[AFCTF 2018]JPython
小祥为了保护自己的代码,修改了部分Python Bytecode指令集,并把这个指令集称之为JPython, JPython只能在他私人定制的环境上才能运行,其他人无法得到这个环境。现在,小明为了获取小祥代码中的秘密,收集到了三个文件 hash.pyc 可以直接使用Python 2.7运行的脚本 Jhash.pyc 通过hash.pyc转化而成的只能在JPython环境上运行的脚本 Jflag.pyc 藏着小祥最大的秘密,但是只能在JPython的环境运行。加密过程:base64加密->异或7。原创 2024-06-01 17:57:02 · 333 阅读 · 0 评论 -
第一届[长城杯信息安全铁人三项赛](初赛第一赛区)re
py3.11\Lib\site-packages\Crypto\Cipher\AES.py",使其输出key和iv。注意提示信息,可在3.11版本python下直接引用encrypto库。查看encrypto.pyd的用法和功能。将base64变表提取。原创 2024-04-09 11:57:22 · 419 阅读 · 1 评论 -
[柏鹭杯 2021]baby_python
可见核心代码在baby_core.pyc中,也就是在baby.exe_extracted\PYZ-00.pyz_extracted\baby_python中。pyinstxtractor解包,发现需要python3.7本版,不然解出来了,会发现PYZ-00.pyz_extracted文件夹中什么也没有。会有许多报错,也是正常的,因为PYZ-00.pyz_extracted目录下的文件被加密了。baby_python\baby_core.pyc.encrypted也是被加密的。接下来写个文件解密脚本。原创 2024-03-19 22:01:35 · 389 阅读 · 0 评论 -
[长城杯 2021 院校组]funny_js
根据题名提示为js,再在ida中查看,基本可以确定为quickjs题。原创 2024-03-17 04:59:05 · 958 阅读 · 0 评论 -
[长城杯 2022 高校组]baby_re
重要的函数在new.cp37-win_amd64.pyd中,我们直接在同一级文件夹中建立一个py文件来引用new即可,需注意的是编码格式(utf-8),我在这卡了。可见为base64,但进行了变表,我们也无法直接打开自定义的new库,查看重要函数,不过可以进行爆破。主要看run.pyc,uncompyle6反汇编。得到一个run.exe_extracted文件。base64的简单说明:3位加密为4位。看图标或查壳为python可执行文件。pyinstxtractor 解包。原创 2024-03-15 21:25:23 · 443 阅读 · 0 评论 -
树的运用-计算器
计算器通过解析用户输入的表达式,使用Lark库构建语法树,并通过递归地评估语法树来计算结果。用户可以通过点击按钮来输入表达式和操作符,并通过点击"=“按钮来获取计算结果。代码定义了一个Calculator类,它包含了一个窗口(由Tkinter的Tk类创建),一个文本框用于显示输入和输出,以及一组按钮用于输入操作符和数字。用户还可以通过点击"C"按钮清除输入和输出,以及通过点击"↼"按钮删除最后一个字符。总之,这段代码实现了一个简单的图形界面计算器,可以执行基本的四则运算和百分比计算。原创 2024-01-15 02:23:32 · 460 阅读 · 0 评论 -
[0xGame 2023]
讲一下思路:先判断v5是否等于某个数,然后将解密后的flag输出到一个临时文件夹中,最后还将这个临时文件删了。下面是详细的解题步骤:(因为这题是复现的,所以每个步骤都比较详细)不过这不用担心,可以直接修改主函数的跳转和v5的值。修改完后,按F5来到伪函数,双击v5,转到内存处。发现有个比较,这决定主函数是否跳转到解密。将v5的值修改为0x1CF410。就可以看见临时文件的存放地址了。用脚本调出来或者直接找,都行。用010Editor打开。动调得到iv和key。原创 2023-11-10 21:11:43 · 154 阅读 · 0 评论 -
[SHCTF-校外赛道]61名
将Java代码copy下来,在下面两处修改一下,将密文和密钥输出。在存放输入数据的内存处打个断点,进行AES加密时会断下。通过观察汇编,得知这是一个AES+base64组合加密。SMC题,可以动调解密,或者自己写个idc脚本。动调,输入42位数,修改跳转,得到key。动调到ArgList未与input运算前。动调,将每层的迷宫打出来,然后跑脚本。提取其中的数据,有点misc的味道了。当内存变化时,可以得到key的切片。接下来就是动调,判断切片的情况。重点在于AES的key和iv。原创 2023-10-31 21:25:17 · 190 阅读 · 0 评论 -
[MoeCTF]2023
junk_codeRUST根据提示下载完插件后,在IDAZ中运行以下代码生成插件ezandroid来到主函数,发现调用sub_270CDF函数来到主要逻辑处sub_27BF90函数跟进加密函数EXP原创 2023-10-16 22:44:00 · 230 阅读 · 0 评论 -
[GWCTF 2019]babyvm
存在三个主要函数。原创 2023-10-07 04:03:31 · 53 阅读 · 0 评论 -
[NCTF 2018]wcyvm
【代码】[NCTF 2018]wcyvm。原创 2023-09-27 18:45:54 · 83 阅读 · 0 评论 -
[MoeCTF 2022]Fake_code
的形式是SEH,Windows的一种异常处理机制。对于 if ( v6 == 51 ),可以输入51个字符,或者修改跳转,绕过。对于第二种方法:主要学会修改内存中的数据,好像没有更方便,哈哈哈!发现try中的代码部分,except中的代码没反汇编出来。至于为什么第一个字符不是M,我也不知道,试了好多次也一样。还有一种方法:只进行了简单的异或加密,进行动调。再次双击v7,进入内存,就可以看到flag了。因为每次只能修改16位,所以将密文修改一下。在xor处下断点,方便修改内存中的数据。原创 2023-09-24 01:06:42 · 219 阅读 · 0 评论 -
[HZNUCTF 2023 final]虽然他送了我玫瑰花
然后在main函数头处点p,生成函数,f5查看伪函数。funcs_40117E中有5个函数,分别逆向一下。存在花指令,永真跳转,将选中部分nop掉。先查看运算符的优先级:~大于&大于^这里重点讲一下第五个函数。原创 2023-09-23 16:31:27 · 279 阅读 · 0 评论 -
[HDCTF2023]basketball-复现
将它转为英文,长度为28:I want to play basketballI w。得到提示:(三个nugber可以作为一组进行查看)再跟进text_66函数,发现是辗转相除法。先将hint求出来,给了Str数组。根据hint想到RGB。原创 2023-08-02 23:19:22 · 192 阅读 · 0 评论 -
[HGAME 2023 week2]math
十进制368等于十六进制0x170。减368发现刚好为v8的地址。原创 2023-07-16 02:06:57 · 157 阅读 · 1 评论 -
SQL Injection-Blind-Time-Based(bWAPP)
【代码】SQL Injection-Blind-Time-Based(bWAPP)原创 2023-07-05 02:50:22 · 104 阅读 · 1 评论