V&N2020公开赛RE

0x00 strangeCpp

运行一次提示cpu num 是有用的,IDA找到这个变量为dword_140021190,交叉引用找到这个变量的其他使用函数,找到关键函数。


image.png

跟进sub_140011384(),得到result的计算过程。


image.png

根据前面的if判断,爆破dword_140021190,然后与byte_140021008异或输出。

import hashlib
res = 607052314
#dword_140021190 <= 14549743
byte_140021008 = [
    0x26, 0x2C, 0x21, 0x27, 0x3B, 0x0D,
    0x04, 0x75, 0x68, 0x34, 0x28, 0x25,
    0x0E, 0x35, 0x2D, 0x69, 0x3D ]

for i in range(14549744):
    a = (((i<<8) ^ (i>>12)) * 291)& 0xFFFFFFFF #超出了C语言中int范围。
    if a  == res:
        print("dword_140021190 =" ,i)
        dword_140021190 = i
        break

# python2 :  print(map(lambda x : chr((x^dword_140021190)%256),byte_140021008))

[print(chr((i^dword_140021190)%256),end='') for i in byte_140021008]

print("\nflag{"+hashlib.md5(str(dword_140021190).encode(encoding = 'utf-8')).hexdigest()+'}')


0x01 CSRe

此程序是一个.NET程序,运行程序,发现了Eazfuscator.NET,混淆。


image.png

使用de4dot工具处理。


image.png

,然后使用dnSpy打开。找到Main函数:


image.png

跟进Class3.smethod_0(),得知这是个sha1加密函数。
B498BFA2498E21325D1178417BEA459EB2CD28F8 ,63143B6F8007B98C53CA2149822777B3566F9241
在线解这两个sha1得到flag.

image.png
image.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 经历2018诸多狗血剧般的剧情之后,19年我开始设计我自己的人生。2019年开年大剧回家的诱惑,我需要像林品如一样...
    爱小小安阅读 104评论 0 0
  • 一、学习与实践 1、付出不亚于任何人的努力。 2、要谦虚,不要骄傲。 3、要每天反省。 4、活着,就要感谢。 5、...
    居居long阅读 109评论 0 1
  • 一 认识李子时,她才18岁,脸上还留有明显的婴儿肥。 那年,他20岁,刚分配到公司不久。 公司的旁边就是李子的小吃...
    黄云栖亩阅读 865评论 14 14
  • 一.基本概念 计算机操作系统都有的基本概念,以下概念简单方式来描述。 进程: 一个具有一定独立功能的程序关于某个数...
    叶君臣阅读 287评论 0 1
  • "今天周未天气真好。小峻,赶紧做作业,做完去公园。" "耶、耶、耶"你兴奋的摆着小书桌,将书往桌上放。 这时大门打...
    随手写心阅读 357评论 0 0