欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

2020网鼎杯 青龙组 逆向signal

程序员文章站 2022-05-19 13:50:19
...

signin

虚拟机题目
1.用angr解决


In [1]: import angr                                                             

In [2]: p = angr.Project("./signal.exe")                                        

In [3]: init_state = p.factory.entry_state()                                    

In [4]: sm = p.factory.simgr(init_state)                                        

In [5]: sm.explore(find = 0x004017A5)
In [6]: found_state = sm.found[0]
In [8]: found_state.posix.dumps(0)  

Out[8]: b'757515121f3d478\x00\x01\x08\x00\x00\x00\x02I\x19\x00\x0c\x00J\x1a\x02\x00\x02\x02\x9a\x01\x00)\x02\x00\x00\x00\x01\x08)*\x00\x00\x08\x83\x08\x00*F\x08\x8a\x00\x08\x02\x00\x08'

2020网鼎杯 青龙组 逆向signal
2.动态调试

(0x22+5)^ 0x10
(0x3f/3) ^ 0x20
(0x34 + 1) + 2
(0x32 ^ 4) - 1
(0x72 + 0x21) / 3
(0x33 + 1) + 1
(0x18 + 0x20) ^ 9
(0xa7 ^ 0x24) -0x51
(0x31 + 1) - 1
(0xf1 - 0x25) / 2
(0x28 ^ 0x41) - 0x36
(0x84 / 1) - 0x20
(0xc1 - 0x25) / 3
(0x1e + 0x20) ^ 9
(0x7a - 1) - 0x41
作这一系列运算

利用已有的信息:如 操作码为int类型4个字节 8个hex
qmemcpy(&v4, &unk_403040, 0x1C8u); 分配了0x1c8大小的内存
可获取操作码的内存空间地址 和 各个具体操作码
相关标签: CTF