CTF-SMC 逆向练习

SMC代码修改逆向分析--小白学习

 先进行异或,再进行函数的调用,说明为SMC加密,可以写IDC脚本进行解密,脚本如下:

脚本解密前:

 经过File----Select File 脚本解密后:

 按 c快捷键 转变成汇编语言,在 右键 --- Create Function 有

 

 可以看出这里对输入的前5位有要求,按R快捷键得出前五为

对第二层进行解密,解密脚本为

 脚本解密前:

经过File----Select File 脚本解密后 按 C快捷键有:

(上图黄色部分 需要一个一个按 C快捷键转化成汇编代码, Create Function才能成功)

在 右键 --- Create Function,转换成伪C 代码:

从调用地方可以看出a1 为 除去前五位后剩下的数

 根据while循环写出脚本对4位进行解密,脚本如下

 

 得到结果

因为存储是从右到左,所以为 The_

对第三层进行解密,解密脚本为

 第三层加密数据:

解密前:

解密后:

 

 转换成汇编 

转化成伪c代码

 

base64解密

进入第四层解密,解密脚本如下:

解密前:

解密后:

转为汇编

伪c代码为:

 

 

 python脚本如下:

 结果为:

 综上flag为 :flag{The_realCtF_just_B3g!n}

   参考:S​​​​​​MC代码自修改逆向分析(仅针对汇编语言分析)_Y1seco的博客-CSDN博客

猜你喜欢

转载自blog.csdn.net/weixin_40729735/article/details/121595169
今日推荐