首页
社区
课程
招聘
[原创]KCTF2024 第四题 神秘信号设计思路
发表于: 2024-8-2 11:03 4224

[原创]KCTF2024 第四题 神秘信号设计思路

2024-8-2 11:03
4224

1.程序是pyinstaller打包,还原主文件。
图片描述
2.可以发现打包程序并无CrackMe的库。如此可推测,在import时动了手脚。对base_library.zip中的文件进行搜索,寻找_find_and_load_unlocked相关调用。可以发现,在codes.pyc中出现此调用。该文件是不应该出现这个调用的。还原此pyc代码,可发现以下代码:
图片描述
3.当import的库名称是CrackMe时,就加载base64库。并且把不需要的属性均去除,只留下main属性。找到base64对应的pyc,进行还原。可发现以下代码:
图片描述
4.这里是手动制作一个code类型,可通过dis对此code进行反编译。或输出为pyc文件再进行反编译。得到一个自定义的base64编码函数。
图片描述
5.随后根据这个函数,写出一个解码函数来。
图片描述
6.随后对main.py中dZpK字符串进行解码。发现解码后的数据为乱码。并且input输入的数据和得到的结果不一致。
图片描述
7.根据论坛地址:https://bbs.kanxue.com/thread-276493.htm,所提及的方式,可找到input所hook的函数地址。是一段shellcode,反汇编其算法。是一个简单亦或算法。
图片描述
8.综合一下,即可算出验证码。


[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

最后于 2024-8-22 13:24 被kanxue编辑 ,原因:
上传的附件:
收藏
免费 2
支持
分享
最新回复 (2)
雪    币: 2259
活跃值: (1400)
能力值: ( LV8,RANK:138 )
在线值:
发帖
回帖
粉丝
2
师傅,我想请问一下,codecs.py是frozen模块,按理来说修改codecs.py的源码是不会被加载执行的,我试了手动编译codecs.pyc然后替换python目录下的codecs.pyc,依然无法成功执行。所以想请教一下师傅如何让python使用我修改之后的codecs.py。
2024-10-8 10:59
0
雪    币: 424
活跃值: (951)
能力值: ( LV5,RANK:75 )
在线值:
发帖
回帖
粉丝
3
Zero*/ 师傅,我想请问一下,codecs.py是frozen模块,按理来说修改codecs.py的源码是不会被加载执行的,我试了手动编译codecs.pyc然后替换python目录下的codecs.pyc,依 ...
你好,是这么回事。python版本的问题。在低版本里,codecs.py还没进frozen呢。
2024-10-9 16:19
0
游客
登录 | 注册 方可回帖
返回
//