<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[c7777127_的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/c7777127_</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; c7777127_]]></copyright><item><title><![CDATA[[HGAME 2022 week1]easyasm]]></title><link>https://blog.youkuaiyun.com/c7777127_/article/details/144565688</link><guid>https://blog.youkuaiyun.com/c7777127_/article/details/144565688</guid><author>c7777127_</author><pubDate>Wed, 18 Dec 2024 17:33:41 +0800</pubDate><description><![CDATA[关键信息都得到了，那我们想要解密这个密文，只需要逆算式就行了，我们先把密文异或0x17，然后再把得出的结果向左移4位再向右移动4位就能解出密文。接着把si跟28做对比，这里si的值是0，所以我怀疑这里应该是循环次数，循环的次数就是密文的长度。接下来程序先把密文里的数向左移了4位然后又向右移动了4位最后再跟0x17异或。程序最开头先输出了字符串，然后把密文存入了ax中。这是一个分析汇编指令的题目，比较考验汇编能力。首先查看程序最开头做了什么。]]></description><category></category></item><item><title><![CDATA[IDA 快捷键基本使用（常用＋动调快捷键）]]></title><link>https://blog.youkuaiyun.com/c7777127_/article/details/144413614</link><guid>https://blog.youkuaiyun.com/c7777127_/article/details/144413614</guid><author>c7777127_</author><pubDate>Thu, 12 Dec 2024 00:49:24 +0800</pubDate><description><![CDATA[步过，一条一条执行命令，但是不进入子函数调用，并把寄存器的信息加入到Run跟踪的存储数据中。Ctrl+F11:Run跟踪步入，一条一条执行命令，进入每个子函数调用，并把寄存器的信息加入到Run跟踪的存储数据中。shift+f12：可以打开string窗口，一键找出所有的字符串，右击setup，还能对窗口的属性进行设置。Ctrl+F8：自动步过，一条一条的执行命令，程序到达断点，或者发生异常时，自动步过过程都会停止。Ctrl+F7：自动步入，在所有的函数调用中一条一条地执行命令，断点或异常时，自动 停止。]]></description><category></category></item><item><title><![CDATA[x64dbg 安装使用教程]]></title><link>https://blog.youkuaiyun.com/c7777127_/article/details/144369884</link><guid>https://blog.youkuaiyun.com/c7777127_/article/details/144369884</guid><author>c7777127_</author><pubDate>Tue, 10 Dec 2024 11:39:36 +0800</pubDate><description><![CDATA[例如，当[module]为空字符串时，将使用CPU中当前选择的模块。左/右移位/旋转：（1<<2向左移位，shl表示无符号，sal表示有符号），10>>1（向右移位，shl表示无符号，sal表示有符号），1<<<2（向左旋转），1>>>2（向右旋转）。如果您要访问加载模块的基地址，你可以写：[module]:0，[module]:base，[module]:imagebase或[module]:header。小（相等）/大（等于）：4<10，3>6，1<=2，6>=7（如果真解析为1，0，如果假）。]]></description><category></category></item><item><title><![CDATA[[HUBUCTF 2022 新生赛]ezPython]]></title><link>https://blog.youkuaiyun.com/c7777127_/article/details/144085989</link><guid>https://blog.youkuaiyun.com/c7777127_/article/details/144085989</guid><author>c7777127_</author><pubDate>Wed, 27 Nov 2024 15:29:53 +0800</pubDate><description><![CDATA[这个东西，password->bytes_to_long->base64->base58。反编译pyc代码 得到下面代码。]]></description><category></category></item><item><title><![CDATA[BUUCTF reverse3]]></title><link>https://blog.youkuaiyun.com/c7777127_/article/details/144057696</link><guid>https://blog.youkuaiyun.com/c7777127_/article/details/144057696</guid><author>c7777127_</author><pubDate>Tue, 26 Nov 2024 14:08:11 +0800</pubDate><description><![CDATA[进入sub_4110BE函数，精确发现讯在大量的2，4移位，自己了解过base64加密解密，可得知其为类似base64加密，点击黄色区域查看base64表为ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=其中Str2e3nifIH9b_C@n@dH已知，for循环将字符串还原，还原后直接在线转换。IDA32位打开，找main函数，看反汇编有点麻烦，F5查看伪C代码，查看到关键位置。PE查壳，无壳，且为32为程序。]]></description><category></category></item><item><title><![CDATA[BUUCTF_RE_XOR 1]]></title><link>https://blog.youkuaiyun.com/c7777127_/article/details/144015466</link><guid>https://blog.youkuaiyun.com/c7777127_/article/details/144015466</guid><author>c7777127_</author><pubDate>Sun, 24 Nov 2024 22:35:12 +0800</pubDate><description><![CDATA[发现关键函数strncmp发现用户输入的flag在通过for循环后的值与global进行对比如果两个值相同时就会输出Success（即该flag正确），因此global的值即为flag，双击global，会发现一串数据aFKWOXZUPFVMDGH,再shift+F12查找字符串发现一串明显不同的字符串，先怀疑这就是flag。根据异或运算特性经过两次异或运算后的值与其本身相同，也就是说将该数据再次进行异或运算即可得到flag，shift+e提取该数据acsii码的值。]]></description><category></category></item><item><title><![CDATA[[MRCTF2020]Transform]]></title><link>https://blog.youkuaiyun.com/c7777127_/article/details/144015270</link><guid>https://blog.youkuaiyun.com/c7777127_/article/details/144015270</guid><author>c7777127_</author><pubDate>Sun, 24 Nov 2024 22:21:46 +0800</pubDate><description><![CDATA[设 a = byte_414040,b=dword_40F040,c=byte_40F0E0,输入的字符串为flag;LOBYTE8位就是一个字节，在此处无意义，因为我们输入的本来就是按字节输入的。解密就反过来 ,因为a是不知道的,所以就先解除a。a = a ^ b 即 a = c ^ b。然后 flag[b[i]] = a[i]即c[i] = a[i] ^ b[i]查壳，拖入64位IDA。从题目里得到 加密代码。]]></description><category></category></item><item><title><![CDATA[[SUCTF2019]SignIn]]></title><link>https://blog.youkuaiyun.com/c7777127_/article/details/144015241</link><guid>https://blog.youkuaiyun.com/c7777127_/article/details/144015241</guid><author>c7777127_</author><pubDate>Sun, 24 Nov 2024 22:19:34 +0800</pubDate><description><![CDATA[就是将str字符数组以base指定的进制解读成数值并写入 rop所指向的内存。__gmpz_init_set_str都属于GNU 高精度算法库。查壳，拖入ida，根据其特征发现其为RSA加密算法。这三个参数分别是多精度整数变量，字符串，进制。]]></description><category></category></item><item><title><![CDATA[[ACTF新生赛2020]usualCrypt]]></title><link>https://blog.youkuaiyun.com/c7777127_/article/details/144015049</link><guid>https://blog.youkuaiyun.com/c7777127_/article/details/144015049</guid><author>c7777127_</author><pubDate>Sun, 24 Nov 2024 22:16:52 +0800</pubDate><description><![CDATA[操作如下，sub_401000函数是将byte_40E0AA的低6~14位与byte_40E0A0的6~14位进行互换，总共换9位;(其中的6~14均要向后移一位，因为数组下标位0)跟进加密函数很显然是一个base64的加密函数，不过其中有了些许的变化，函数开始与结束都做了部分操作。sub_402030函数是对字符进行大小写的互换。拖入IDA32位，跟进main函数。判断与否的字符串如下。]]></description><category></category></item><item><title><![CDATA[Linux下常见程序保护机制和ELF文件]]></title><link>https://blog.youkuaiyun.com/c7777127_/article/details/142915243</link><guid>https://blog.youkuaiyun.com/c7777127_/article/details/142915243</guid><author>c7777127_</author><pubDate>Sun, 17 Nov 2024 22:42:22 +0800</pubDate><description><![CDATA[Segment（段）：Segment 是在程序运行时加载到内存中的部分，由操作系统加载器使用。Segment 描述了程序的内存布局，包括代码段、数据段等。Section（节）：Section 是ELF文件中的逻辑部分，包含各种类型的数据，如代码、数据、符号表、调试信息等。Section 供链接器和编译器使用，而不是直接用于运行时。Segment与Section的关系：一个Segment可以包含多个Section，也可以只包含部分Section的内容。Segment是对Section的运行时视图。]]></description><category></category></item><item><title><![CDATA[NSSCTF [HNCTF 2022 Week1]贝斯是什么乐器啊？]]></title><link>https://blog.youkuaiyun.com/c7777127_/article/details/143840205</link><guid>https://blog.youkuaiyun.com/c7777127_/article/details/143840205</guid><author>c7777127_</author><pubDate>Sun, 17 Nov 2024 22:38:40 +0800</pubDate><description><![CDATA[再追踪aAbcdefghijklmn。解码之后，再做一个加法 依次加 i。明显base64解码 追踪。]]></description><category></category></item><item><title><![CDATA[NSSCTF [LitCTF 2023]enbase64]]></title><link>https://blog.youkuaiyun.com/c7777127_/article/details/143839822</link><guid>https://blog.youkuaiyun.com/c7777127_/article/details/143839822</guid><author>c7777127_</author><pubDate>Sun, 17 Nov 2024 22:18:53 +0800</pubDate><description><![CDATA[然后追踪basechange。]]></description><category></category></item><item><title><![CDATA[[BJDCTF 2020]JustRE wp]]></title><link>https://blog.youkuaiyun.com/c7777127_/article/details/143834018</link><guid>https://blog.youkuaiyun.com/c7777127_/article/details/143834018</guid><author>c7777127_</author><pubDate>Sun, 17 Nov 2024 16:25:30 +0800</pubDate><description><![CDATA[分析代码猜测flag是把19999和0替换进去flag{BJD{1999902069a45792d233ac}进行分析发现要点击19999次才能得出flag 会动态调试的可以直接进行动调得出flag 我不会。打开是一个这样的程序 点着玩点了100次没啥反应 打开ida32进行分析。shift+f12进入字符串页面 发现疑似flag字符 追踪后分析代码。]]></description><category></category></item><item><title><![CDATA[NSSCTF [LitCTF 2023]ez_XOR]]></title><link>https://blog.youkuaiyun.com/c7777127_/article/details/143663844</link><guid>https://blog.youkuaiyun.com/c7777127_/article/details/143663844</guid><author>c7777127_</author><pubDate>Sun, 10 Nov 2024 19:09:22 +0800</pubDate><description><![CDATA[咱先进入主函数 然后f5反编译，可以看出是xor异或 追踪xor函数。可以看出这是一个xor对str1进行异或 参数是3。]]></description><category></category></item><item><title><![CDATA[2024强网杯 RE boxx题解]]></title><link>https://blog.youkuaiyun.com/c7777127_/article/details/143661887</link><guid>https://blog.youkuaiyun.com/c7777127_/article/details/143661887</guid><author>c7777127_</author><pubDate>Sun, 10 Nov 2024 16:02:33 +0800</pubDate><description><![CDATA[地图大小是5600 400字符分一个组可以分14个 然后qwb！看其格式400 * a1 + 20 * i + j] == 2盲猜是20*n形式，将其格式化。每次循环都是在sub_401530确定的人的位置还有箱子的数量。然后检测是否还有箱子，没有就进入下一个循环也就是下一个关卡。然后在这里也可以发现代码循环了九次，对应了上面分的九个组。2应该是人所在的位置 3是箱子 4是箱子要去的位置。然后就是分析每张地图，去找箱子移动的最短路径。然后在将得出的数进行MD5加密。然后继续查看函数发现。]]></description><category></category></item><item><title><![CDATA[2024网鼎杯 PWN02]]></title><link>https://blog.youkuaiyun.com/c7777127_/article/details/143661473</link><guid>https://blog.youkuaiyun.com/c7777127_/article/details/143661473</guid><author>c7777127_</author><pubDate>Sun, 10 Nov 2024 15:35:52 +0800</pubDate><description><![CDATA[然后gift后门 运行binsh。buf偏移量为0x50。]]></description><category></category></item><item><title><![CDATA[BUUCTF [FlareOn4]login1]]></title><link>https://blog.youkuaiyun.com/c7777127_/article/details/143508399</link><guid>https://blog.youkuaiyun.com/c7777127_/article/details/143508399</guid><author>c7777127_</author><pubDate>Tue, 05 Nov 2024 14:55:53 +0800</pubDate><description><![CDATA[发现密文PyvragFvqrYbtvafNerRnfl@syner-ba.pbz，是一个rot13加密。下面是利用python脚本解密。]]></description><category></category></item><item><title><![CDATA[APK介绍]]></title><link>https://blog.youkuaiyun.com/c7777127_/article/details/143487815</link><guid>https://blog.youkuaiyun.com/c7777127_/article/details/143487815</guid><author>c7777127_</author><pubDate>Mon, 04 Nov 2024 16:28:24 +0800</pubDate><description><![CDATA[复制APK安装包到/data/app目录下，解压并扫描安装包，把dex文 件(Dalvik字节码)保存到/data/dalvik-cache目录，并/data/data目录 下创建对应的应用数据目录。打包资源(res/assets/AndroidManifest.xml/Android基础类库)文件，生成 R.java和resources.ap_文件。把.class文件转化成Davik VM支持的.dex文件(.java=>.class=>.dex)编译Java文件，生成对应的.class文件。]]></description><category></category></item><item><title><![CDATA[[ACTF新生赛2020]rome1]]></title><link>https://blog.youkuaiyun.com/c7777127_/article/details/143466284</link><guid>https://blog.youkuaiyun.com/c7777127_/article/details/143466284</guid><author>c7777127_</author><pubDate>Sun, 03 Nov 2024 15:49:25 +0800</pubDate><description><![CDATA[ida32位进去后，进main函数，找到核心步骤，然后发现是一个逆向加密，脚本如下。]]></description><category></category></item><item><title><![CDATA[逆向花指令介绍]]></title><link>https://blog.youkuaiyun.com/c7777127_/article/details/143465547</link><guid>https://blog.youkuaiyun.com/c7777127_/article/details/143465547</guid><author>c7777127_</author><pubDate>Sun, 03 Nov 2024 15:01:33 +0800</pubDate><description><![CDATA[不可以执行的花指令，这类花指令会使反编译器在反编译的时候出错，反汇编器可能错误的反汇编这些指令。因此，插入的花指令应当是一些不完整的指令，被插入的不完整指令可以是随机选择的。递归下降算法强调控制流的概念。线性扫描算法的缺点在于在冯诺依曼体系结构下，无法区分数据与代码，从而导致将代码段中嵌入的数据误解释为指令的操作码，以致最后得到错误的反汇编结果。顾名思义，可以执行的花指令，这部分垃圾代码会在程序运行的时候执行，但是执行这些指令没有任何意义，并不会改变寄存器的值，同时反汇编器也可以正常的反汇编这些指令。]]></description><category></category></item></channel></rss>