- 博客(7)
- 收藏
- 关注
原创 天津逆向re3.exe详解
我们通过上面的sub_7FF7645F10E0是将我们的输入的每两位作为一个16进制数存储到v21中以及他循环了0x10次可以知道,我们的正确输入应该是一个长度为32位的16进制数组成的一个东西,所以我们调试的时候可以随便输入长度为32位的16进制数进去就好了。这个一段代码的作用其实就是将v9=2来放到下面的循环中,让下面的循环循环两次,而下面就是非常恶心的加密算法了,嵌套了非常多的循环,我们需要搞清楚下面到底是走了怎么样的逻辑,而静态分析让我暂时有点一头雾水,所以还是要动态调试进行分析。
2023-03-16 15:01:33
411
原创 高职reverse0-3
再将v4给了destination,用了一个destination变量长度的一个循环来让destination的每一位加上他,最后与str2进行比较。同样很简单的逻辑,输入与&flag进行比较,上面的操作相当于&flag的地址依次加下去,也就是说其实就是遍历flag中的每一位,将i和r改为了1。通过shift+f12交叉引用到main函数里,同样很简单的逻辑,str1为我们的输入与str2进行比较,上面将str2的’o’main函数下,输入开始为str,被传入sub_4110BE函数进行了加密给了v4。
2023-03-07 13:57:49
233
原创 逆向flag0072详解
进去main后观察到有一个解密函数通过异或操作对check验证函数进行了解密,符合SMC代码保护的特征,所以使用了SMC代码保护技术。通过idc脚本对此加密段进行解密后使用动态调试即可看到加密的代码。通过上面的逻辑可知,我们的输入为v4的每一位与1异或。可以看到进去后汇编代码中有一大堆数据段被加密。看看decrypt函数要对谁操作,就是谁了。是check,答案就是check函数的地址。SHIFT+F12可以看到输出字符串。得到解密后的check函数。密钥为异或的16进制数。
2023-02-21 09:11:28
577
原创 浙江逆向PE01.exe详解
分析上面的代码可以知道,string为input输入,而sub_7FF7717916A0将你的输入传进去做了一次加密,如果返回不等于1,将输出wrong,所以sub_7FF7717916A0就是检查许可证的关键函数。点进检查许可证的关键函数sub_1400016A0。在shift+f12里可以找到hello。再将最开始的逻辑运算符直接复制进去备用。尝试输入值测试得到输入错误的返回结果。通过上面的逻辑知道输出,来逆回输入。找到此字符串交叉引用到代码部分。或者做出第五题后输入进软件里。
2023-02-21 09:10:53
552
原创 逆向flag0073详解
答案是用python3 的hashlib模块加密一个flag的可能组成列表来与里面的md5的值进行碰撞,我们可以将小写a-z和大写a-z以及花括号和0123456789都写进一个字符串里,然后将字符串用hashlib来进行md5加密,加密后再与程序里的md5值一一碰撞。写出脚本进行解密,hashlist即程序里的那一大串md5值,而list即为我们a-z A-Z 0-9 {} _组成的hash列表,通过两边的值来进行碰撞,确定这些md5原本的值即可,运行脚本即可得到flag。可以通过idc脚本进行解密。
2023-02-21 09:09:39
579
原创 BUGKU三道简单的reverse题目
文章目录Hello Smali2树木的小秘密NoStringHello Smali2下下来有一个java文件最简单的方法既然给了源码,编译一下直接运行即可树木的小秘密下下来是一个这样的程序拖到查壳工具里面看看发现是一个py程序用archive_viewer.py提取生成的exe中的pyc文件使用x提取123和struct文件由于pyc文件都有一个magic head,pyinstaller生成exe的时候会把pyc的magic部分去掉,在反编译的时候需要自己补齐,这个可以
2022-03-28 13:35:46
1033
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人