09 2020 档案
摘要:1、载入 IDA 中,我使用的是 32 位的 ELF 文件,那个 exe 文件有些问题。进入 main 函数。 2、进入 interesting_function,首先将四个一组的组合的值与 0xDEADBEEF 进行异或操作,得到的结果再与 flag_data 中的值进行异或得到 result。
阅读全文
摘要:1、查看基本信息并运行程序 2、载入 IDA 中,main 函数中有许多 GMP 库的函数 GMP是The GNU MP Bignum Library,是一个开源的数学运算库,它可以用于任意精度的数学运算,包括有符号整数、有理数和浮点数。它本身并没有精度限制,只取决于机器的硬件情况。(来自百度百科)
阅读全文
摘要:1、查看文件基本信息,64位 ELF 文件 2、载入 IDA,程序是将我们输入的字符串经过 encode 函数运算后先进行长度验证,之后与 enflag 进行比对 3、encode 函数是将字符串三个一组进行加密 4、写出 EXP 运行得到 flag,需要注意的是算术运算符优先级高于逻辑运算符,如果
阅读全文
摘要:1、查看文件基本信息并运行 2、载入 IDA 中,找到关键函数 3、写出 EXP 运行得到 flag 1 v = ["Dufhbmf", "pG`imos", "ewUglpt"] 2 flag = '' 3 for i in range(12): 4 flag += chr(ord(v[i%3][
阅读全文
摘要:1、查壳 2、运行程序 当我们不输入任何字符时 输入错误字符串时 3、载入 IDA 中,查看字符串,根据这些信息可以将部分函数重命名以方便进一步分析 4、进入到 main 函数中,分别处理数字字符、小写字符、大写字符,初步运算后将结果传入 encode() 函数进一步处理 直接查看 aAbcdefg
阅读全文
摘要:1、查看基本信息,64 位 ELF 文件 2、载入 IDA 中,进入 main 函数 修改其中的函数的名称后方便分析(下面等号代表相等不代表赋值) 找到关键循环,前面两行代码 v17 = 0, v8 = v14 循环内前两行(行号33, 34)v9 = v14, v16 = v9 第一次循环时 i
阅读全文
摘要:1、查看文件基本信息 2、打开后是一些十六进制数字 3、EXP,处理后将多余部分去掉 1 s = \ 2 [0x68, 0x66, 0x6C, 0x00, 0x00, 0x48, 0xBF, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48,
阅读全文
摘要:1、查看文件基本信息,64 位 ELF 程序。 2、载入 IDA 进入 main 函数。 confuseKey中关键运算,将除了 '{' 和 '}' 的四十个字符分组并重新排序,顺序 3、4、1、2 后得到 daf29f59034938ae4efd53fc275d81053ed5be8c 3、得到
阅读全文
摘要:1、查壳 2、载入IDA,查看字符串,发现提示信息 3、根据字符串进入函数 DialogFunc_0 4、这里即是main函数起始处 5、 我们输入的字符串会存储到 String 中,String 在内存的相对位置为 -104h 6、首先判断 String 的长度是否为 6,根据上一步可知 Stri
阅读全文
摘要:1、查看源代码 2、由check函数可以得到 //argument[i] = (first_letter + difference[i]) ^ user_string[i] //generated_string[i] = argument[i] + just_a_string[i] //genera
阅读全文
摘要:1、查询基本信息,32位程序 2、载入IDA中,查询字符串 3、进入 main 函数,发现如果要得到正确结果需要运行 function() 和 encrypt() 函数 4、function() 函数正确运行需要参数在 [3, 9, 4, 1, 0, 5, 6, 7] 中 根据 main() 函数可
阅读全文
摘要:1、查看文件信息,32位 2、载入IDA中,发现有个decrypt函数需要注意。进入main等函数查看源码。 3、跟踪 authenticate() 函数中 if 语句 print() 函数发现了success 的字样。因此我们能知道当 authenticate() 函数中 ws 和 s2 相等时,
阅读全文
摘要:1、题目为一个pyc文件 pyc文件就是 python 程序编译后得到的字节码文件。 2、在线反编译后,得到源码。 3、根据加密函数编写 exp。运行得到 flag。 1 import base64 2 def encode(message): 3 s = '' 4 for i in message
阅读全文
摘要:1、查询文件基本信息,64位 2、载入IDA中分析。进入main函数。 我们输入的字符串存储到s中后,进行运算,满足条件(即flag)输出正确信息。 参与运算的有 v9 = ':\"AL_RT^L*.?+6/46' v7 = 7 v8 = 'ebmarah' 需要注意的是程序是小端存储,即 'har
阅读全文

浙公网安备 33010602011771号