首页
社区
课程
招聘
1
看雪CTF2019Q1-第7题
发表于: 2019-3-18 23:50 4398

看雪CTF2019Q1-第7题

2019-3-18 23:50
4398
初始化g_bn, 这个用来保存数独 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
.text:004B8DCC                 mov     ecx, offset g_bn
.text:004B8DD1                 call    BigNum__BigNum_0
 
// size: 1410
struct BigNum {
    void *vtbl;
    DWORD digit_len;
    // 8
    BYTE digit[0x400];
    // 408
    DWORD digit_index[0x400];
    // 1408
    DWORD seed1;
    DWORD seed2;
};
 
digit_index保存了digit的实际索引
构造函数中使用当前clock为随机数种子, 初始化digit_index

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
.text:004B8DCC                 mov     ecx, offset g_bn
.text:004B8DD1                 call    BigNum__BigNum_0
 
// size: 1410
struct BigNum {
    void *vtbl;
    DWORD digit_len;
    // 8
    BYTE digit[0x400];
    // 408
    DWORD digit_index[0x400];
    // 1408
    DWORD seed1;
    DWORD seed2;
};
 
digit_index保存了digit的实际索引
构造函数中使用当前clock为随机数种子, 初始化digit_index

校验代码, 设置硬件断点, 校验结果保存到buf_bn1
1
2
3
4
5
6
7
.text:004B8E55                 call    x_update_buf_bn1
...
.text:004B8E7A                 call    x_set_hardware_bp
 
更新后的buf_bn1
.data:004BC080 buf_bn1         db 0BDh, 0A3h, 9Ch, 10h, 46h, 0F3h, 2Ch, 0
.data:004BC088 buf_bn2         db 1Eh, 0D6h, 83h, 0F4h, 9Fh, 0A3h, 62h, 0A3h, 0Dh, 34h, 73h, 0AEh, 0CDh, 0EEh, 0

1
2
3
4
5
6
7
.text:004B8E55                 call    x_update_buf_bn1
...
.text:004B8E7A                 call    x_set_hardware_bp
 
更新后的buf_bn1
.data:004BC080 buf_bn1         db 0BDh, 0A3h, 9Ch, 10h, 46h, 0F3h, 2Ch, 0
.data:004BC088 buf_bn2         db 1Eh, 0D6h, 83h, 0F4h, 9Fh, 0A3h, 62h, 0A3h, 0Dh, 34h, 73h, 0AEh, 0CDh, 0EEh, 0

sn字符集: 123456789ABCDEF
输入作为16进制转换成10进制
1
2
3
.text:004B8EBF
...
.text:004B8FBC

sn字符集: 123456789ABCDEF
输入作为16进制转换成10进制
1
2
3
.text:004B8EBF
...
.text:004B8FBC

1
2
3
.text:004B8EBF
...
.text:004B8FBC

bn1 *= bn2; 结果转换成16进制
bn1: C23F6401C93ADB = 54675844241111771
bn2: EEDCEA3743D03A263AF94F386DE1 = 4844716167725693655941655263997409
bn1 *= bn2;  B53E8F2B7B1A5B4D53C1BC6B32C8B6A5D9B4D3F97B
bn1: C23F6401C93ADB = 54675844241111771
bn2: EEDCEA3743D03A263AF94F386DE1 = 4844716167725693655941655263997409
bn1 *= bn2;  B53E8F2B7B1A5B4D53C1BC6B32C8B6A5D9B4D3F97B

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

收藏
免费 1
支持
分享
赞赏记录
参与人
雪币
留言
时间
PLEBFE
为你点赞~
2023-1-28 04:48
最新回复 (1)
雪    币: 6051
活跃值: (1441)
能力值: ( LV15,RANK:1473 )
在线值:
发帖
回帖
粉丝
2
又一个找到程序后门的,很强大!
2019-3-25 17:06
0
游客
登录 | 注册 方可回帖
返回

账号登录
验证码登录

忘记密码?
没有账号?立即免费注册