Menu

 

52破解论坛【2021春节红包题】破解分享

今年的论坛红包题,我尝试玩了玩WINDOWS的题目,碰巧两道都解出来了,在这里我分享一下破解过程。

首先,这个玩法就是,你用论坛提供的程序,通过逆向,得到口令,然后提交到论坛里,如果正确,就可以得到相应的论坛币。

【2021春节】解题领红包之二,这道题是初级题,确实很容易,我把过程分享下:

通过论坛,拿到题目,放入PEID,查了下,这道题没有加壳。

那么,直接运行一下,看看是什么效果。是让你输入密码,然后随便输入一个,发现密码错误。嗯,这是一个简单的程序,逻辑不复杂,估摸着就是一个字符串比较,那么,就要想办法拿到正确的字符串。

所以,我直接使用OD,启动程序,然后扫描字符串,在这里下断点:

为什么在这里下断呢,因为JE下面,就是要么正确的ASCII输出,要么就是错误的输出,所以,我就在这里下断,看看是什么情况。结果断下后,F8到JE上面,就发现了一些有趣的信息,就是如图这一条。我就猜,这会不会就是密码。

果断尝试了一波,密码正确。具体过程我也没分析,算法也没研究,好吧,我想我拿到密码就OK。

好了,这个第一题,就这样被我搞出来了。第二道题,就有些难度了,拿到题目的时候,还是同样的操作,放入PEID,看看是否加壳。

看,难度来了,首先有壳,EP被换,直接用UPX脱壳工具我不知道能不能脱。所以,我直接手动脱,能不能脱干净我不知道,不过我还是抱着试一试的态度,开始。首先,将原始程序复制一个备份,然后直接用OD加载程序,加载后提示:

直接选择否,然后继续,在PUSHAD后面下断点,然后运行。

接着,根据ESP定律,对ESP所在内存区域,下硬件访问断点。

接着运行,看什么时候被断下。紧接着,在一个循环被断下,开始找OEP,在JMP处下断点,然后看JMP跳转到何处,那处就是OEP。

执行JMP后,在代码处开始脱壳:

用Dump插件,如图,点脱壳,然后保存一个新的EXE在任意位置,这时候,还没有重建,所以,是无法运行。

这时候,不要关闭OD,直接打开ImportREC,开始重建导入表。首先,选择目前正在运行的这个进程,然后在OEP处,填写刚才的OEP,这里是B37B。接着点击AutoSearch,然后Get Imports。等待完成后,直接Fix Dump,选择刚才Dump出来的文件。这时候,Dump的文件应该可以顺利执行。

直接运行脱壳后的程序,仍然选否,运行后,发现没有任何问题。

这时候,应该就是脱壳后,可以搜索到东西了。此刻,搜索下字符串,看到了输出的:

中级题的第一步,算是做完了,然后就是拿到密码了。还是老规矩,先走一遍流程,看看程序的过程。第二个程序,是输入你的论坛uid,然后输入密码,仍然是给与正确和错误。所以,我猜测,这个密码和自己的UID有关,所以,这个可能是作者为了避免作弊,至于是不是和UID挂钩,此刻我不知道,因为我不知道加密过程,密码计算方式。既然是我解密的过程,那么我把我的想法也写在这里吧。我第一个猜测的就是,会不会输入我的UID,然后输入正确的密码,程序会自动输出一段密码,作为我的口令。所以,我通过OD,跟踪流程,在2次输入后,关键的跳转处,强制改成了输出正确,看看后面会有什么提示。如图:

就是这个跳转,我NOP后,发现就一个成功的输出,并没有任何输出,好吧。我想,我还是太天真了。ORZ,那么这下直接用OD看,就不是那么方便了。还是要看伪代码,猜算法了。所以,直接把程序拖入IDA,看看整个流程图吧。

接下来的过程,我也只能简单的一笔带过了,就是不断的查看伪代码,然后查看流程,找到一些关键的信息,然后跑到OD里面,动态去查看过程,这是一个比较漫长的过程。因为我只是个入门学徒,所以花费了不少时间,看到了一个比较有趣的地方,就是这个2次CALL:

这段代码是输入KEY后,执行跳转之前,也是会影响结果的调用。通过跟踪,我在黄色这个CALL内部,发现了如下内容:

我跟踪黄色CALL代码的时候,发现了这个flag{Happy_New_Year_52Pojie_2022},这个字符,我猜想,这个会不会就是题目的密码,然后输入了一下,又是一桶凉水,泼在我身上,还是错误。不过,我觉得这个函数,应该是关键函数了。所以,我仔细读伪代码,终于发现了一个问题:

就是这个 if( V8 ),前面那么多,后面那么多,其实不重要,重要的是V8这个结果。V8是从哪来得,就是这个函数:

那么这里到底做了什么事情?直接在这个函数下段,反复调试,一步一步走,看看有些啥线索。

经过多次调试,我终于发现了问题和关键点:

你看出来了么,我输入的密码,已经被加密成其他密码,并且要和flag{Happy_New_Year_52Pojie_2022}做比较,找到这一步,我觉得我快成功了。不过在这里,我犯了一个错误,就是长度。我第一次强制修改内存,但在这里修改,长度检测已经过了,所以,就算在这里把加密后密文改成flag{Happy_New_Year_52Pojie_2022},还是无法通过的,因为这个00403EFA F3:A6 REPE CMPS BYTE PTR ES:[EDI], BYTE PTR DS>,是根据长度逐字比较的。后来我发现了这个问题,直接输入等长后的密码,然后在这里强制改内存,果然,就是通过的结果:

那么,怎么获得正确的密码呢?可以通过IDA,一步一步的去分析加密方式,然后查看密码算法。这是一个办法,而我,是用了一个比较懒得办法,因为我实在不想去分析算法,比较头大。我是这样做的,首先,第一个用例,UID使用12345,KEY输入5个小写a,5个大写A,5个数字1,5个符号#,然后看加密后的结果:

第二个用例:UID使用54321,KEY输入5个小写a,5个大写A,5个数字1,5个符号#,然后看加密后的结果:

好,你发现了什么吗?我来告诉你我的结论,这个加密算法,和字符的位置没有关系,和UID有关系,数字和符号不被加密,字符的大小写加密结果一样。所以,要得到正确的口令,需要输入我真实的UID。最后一个用例就是,我的UID:我真实UID,KEY:abcdefghijklmnopqrstuvwxzy,就可以得到字符对应的密码,也就是字典。

来吧,字典出来了,写个简单的python,则可以跑出密码了:


ps1 ="bungzslexqjcvohatmfyrkdwpi"
ps2 ="abcdefghijklmnopqrstuvwxyz"


ps3 = "flaghappynewyearpojie"

l = len(ps3)

for ch in ps3:
    idx = ps1.find(ch)
    print(ch + " _ " + ps2[idx])

输入了结果,然后自己手动组合下,改变下大小写,这一题,就这样被我搞定了。

作为一个学徒,做完了,验证成功,还是小小的高兴了一下。对于大牛来说,肯定不会像我这样走很多弯路,大神应该很快就可以把这个题秒杀了吧,我还是自己断断续续做了2天。大概总时间也花费3到4个小时吧,所以,还是要多提高吧。比如,如果换个其他的壳,我估计第一步都搞不定了。

最后,还是感谢52破解论坛出了这么有趣的题,大家新年快乐,就看一个笑吧:)

Categories:   Garfield's Diary

Tags:   52Pojie, Garfield, 新年红包, 破解, 逆向

Comments

点击这里取消回复。

Search

Calendar

2024 年 5 月
 1234
567891011
12131415161718
19202122232425
262728293031  

Diary List

  • 2024 年 4 月 (1)
  • 2024 年 3 月 (1)
  • 2023 年 12 月 (1)
  • 2023 年 11 月 (1)
  • 2023 年 8 月 (2)
  • 2023 年 5 月 (1)
  • 2023 年 3 月 (2)
  • 2023 年 1 月 (1)
  • 2022 年 12 月 (2)
  • 2022 年 10 月 (1)
  • 2022 年 8 月 (3)
  • 2022 年 7 月 (1)
  • 2022 年 5 月 (1)
  • 2022 年 4 月 (1)
  • 2022 年 2 月 (2)
  • 2022 年 1 月 (1)
  • 2021 年 12 月 (1)
  • 2021 年 11 月 (3)
  • 2021 年 10 月 (4)
  • 2021 年 9 月 (6)
  • 2021 年 8 月 (2)
  • 2021 年 6 月 (5)
  • 2021 年 4 月 (4)
  • 2021 年 3 月 (3)
  • 2021 年 1 月 (7)
  • 2020 年 12 月 (5)
  • 2020 年 11 月 (2)
  • 2020 年 9 月 (1)
  • 2020 年 8 月 (6)
  • 2020 年 7 月 (1)
  • 2020 年 6 月 (2)
  • 2020 年 5 月 (3)
  • 2020 年 4 月 (2)
  • 2020 年 3 月 (4)
  • 2020 年 2 月 (1)
  • 2020 年 1 月 (4)
  • 2019 年 12 月 (1)
  • 2019 年 11 月 (9)
  • 2019 年 10 月 (4)
  • 2019 年 9 月 (8)
  • 2019 年 8 月 (3)
  • 2017 年 9 月 (1)
  • 2013 年 12 月 (1)
  • 2013 年 11 月 (1)
  • 2013 年 9 月 (3)
  • 2013 年 8 月 (2)
  • 2013 年 6 月 (3)
  • 2013 年 5 月 (10)
  • 2013 年 4 月 (1)
  • 2013 年 3 月 (3)
  • 2013 年 1 月 (2)
  • 2012 年 12 月 (1)
  • 2012 年 11 月 (2)
  • 2012 年 10 月 (1)
  • 2012 年 9 月 (2)
  • 2012 年 8 月 (2)
  • 2012 年 7 月 (4)
  • 2012 年 6 月 (1)
  • 2012 年 5 月 (4)
  • 2012 年 4 月 (1)
  • 2011 年 12 月 (7)
  • 2011 年 11 月 (3)
  • 2011 年 9 月 (3)
  • 2011 年 8 月 (21)
  • 2010 年 2 月 (1)
  • 2010 年 1 月 (2)
  • 2009 年 12 月 (3)
  • 2009 年 11 月 (3)
  • 2009 年 10 月 (4)
  • 2009 年 9 月 (9)
  • 2009 年 8 月 (2)
  • 2009 年 7 月 (4)
  • 2009 年 6 月 (3)
  • 2009 年 5 月 (4)
  • 2009 年 3 月 (2)
  • 2009 年 2 月 (2)
  • 2009 年 1 月 (2)
  • 2008 年 12 月 (7)
  • 2008 年 11 月 (6)
  • 2008 年 10 月 (8)
  • 2008 年 9 月 (7)
  • 2008 年 8 月 (4)
  • 2008 年 7 月 (6)
  • 2008 年 6 月 (5)
  • 2008 年 5 月 (7)
  • 2008 年 4 月 (3)
  • 2008 年 3 月 (4)
  • 2008 年 2 月 (2)
  • 2008 年 1 月 (5)
  • 2007 年 12 月 (6)
  • 2007 年 11 月 (9)
  • 2007 年 10 月 (5)
  • 2007 年 9 月 (16)
  • 2007 年 8 月 (11)

聚圣源书店起啥名字清 起名下雪的有意境的短句子线切割厂起名字大全公司起网名女宝起名带水的字拐弯抹角周易起名公司免费亡者之谜泰剧在线观看五行起名详解广东易经起名电视剧欢喜婆婆俏媳妇宝宝起名网站初字起名女孩手机屏幕失灵饭店起名pp宝宝免费起名名字测打分生辰八字农氏男孩起名大全狗狗起名宜用字呼兰河传好词好句风间爱给旅游团起个名字通宵达旦的意思催熟满河星起名笔画数和观察日记300字起名免费测名软件三层实木复合九月属龙起名字马姓孩子取名起名大全淀粉肠小王子日销售额涨超10倍罗斯否认插足凯特王妃婚姻让美丽中国“从细节出发”清明节放假3天调休1天男孩疑遭霸凌 家长讨说法被踢出群国产伟哥去年销售近13亿网友建议重庆地铁不准乘客携带菜筐雅江山火三名扑火人员牺牲系谣言代拍被何赛飞拿着魔杖追着打月嫂回应掌掴婴儿是在赶虫子山西高速一大巴发生事故 已致13死高中生被打伤下体休学 邯郸通报李梦为奥运任务婉拒WNBA邀请19岁小伙救下5人后溺亡 多方发声王树国3次鞠躬告别西交大师生单亲妈妈陷入热恋 14岁儿子报警315晚会后胖东来又人满为患了倪萍分享减重40斤方法王楚钦登顶三项第一今日春分两大学生合买彩票中奖一人不认账张家界的山上“长”满了韩国人?周杰伦一审败诉网易房客欠租失踪 房东直发愁男子持台球杆殴打2名女店员被抓男子被猫抓伤后确诊“猫抓病”“重生之我在北大当嫡校长”槽头肉企业被曝光前生意红火男孩8年未见母亲被告知被遗忘恒大被罚41.75亿到底怎么缴网友洛杉矶偶遇贾玲杨倩无缘巴黎奥运张立群任西安交通大学校长黑马情侣提车了西双版纳热带植物园回应蜉蝣大爆发妈妈回应孩子在校撞护栏坠楼考生莫言也上北大硕士复试名单了韩国首次吊销离岗医生执照奥巴马现身唐宁街 黑色着装引猜测沈阳一轿车冲入人行道致3死2伤阿根廷将发行1万与2万面值的纸币外国人感慨凌晨的中国很安全男子被流浪猫绊倒 投喂者赔24万手机成瘾是影响睡眠质量重要因素春分“立蛋”成功率更高?胖东来员工每周单休无小长假“开封王婆”爆火:促成四五十对专家建议不必谈骨泥色变浙江一高校内汽车冲撞行人 多人受伤许家印被限制高消费

聚圣源 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化