BABYRE

一道SMC,第一次做

主函数的伪代码,judge函数是关键函数,不过啥都没有

 

 发现 judge 方法是判断的主要逻辑,在第 15 行时调用判断。

但是静态分析时不能生成 judge 的伪代码。

原因是其代码做了加密,在前面的第 7-11 行先进行 smc 自解密,后面才能正常运行。

按第 7-11 行的逻辑逆向 patch 程序,再静态生成伪代码。Patch 脚本如下:

函数的起始地址

 函数的跨度

 所以最后的代码为

 Patch 后

首先,将有红色报错的代码按 U(取消原来定义)

然后,按 C(重新生成汇编代码),选中 600B00-600BB5(judge 的起止位置)按 P(重新生成 function)

这时就可以 按 F5 生成 judge 的伪代码了。

 

posted @   努力的大魔王  阅读(19)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】
点击右上角即可分享
微信分享提示