首页
社区
课程
招聘
[原创]第2题
2017-10-26 16:22 2047

[原创]第2题

2017-10-26 16:22
2047

1

.text:0040100D                 mov     dword_41B034, 2
.text:00401017                 call    get_sn
.text:0040101C                 call    check1
.text:00401021                 call    check2
.text:00401026                 mov     eax, dword_41B034
.text:0040102B                 test    eax, eax
.text:0040102D                 jnz     short loc_40103F
.text:0040102F                 push    offset aYouGetIt ; "You get it!\n"
.text:00401034                 call    sub_413D42
.text:00401039                 add     esp, 4
.text:0040103C                 xor     eax, eax
.text:0040103E                 retn

check1

v0 != 0, v1 != 0, v0 != v1
5 * (v1 - v0) + v1 = 0x8F503A42
13 *(v1 - v0) + v0 = 0xEF503A42

化简第一个等式得

6*v1-5*v0=0x8F503A42, 记为(1)

check2

v0 != 0, v1 != 0, v0 != v1
17 *(v1 - v0) + v1 = 0xF3A94883
7 * (v1 - v0) + v0 = 0x33A94883

化简第一个等式得

18*v1-17*v0=0xF3A94883, 记为(2)

化简(1),(2)得-2*v0=0x45B899BD, 显然不成立

2

get_sn存在溢出, 溢出修改返回地址为0x00413131, sn格式为: 11112222333311A

 

v0=0x31313131

 

v1=0x32323232

 

v2=0x33333333

 

第一个验证:

4*(v0-v1) + v0+v2 = 0xEAF917E2
.text:004133E9                 sub     eax, 0EAF917E2h

第二个验证:

3*(v0-v1) + v0+v2 = 0xE8F508C8
.text:004135F7                 sub     eax, 0E8F508C8h

第三个验证:

3*(v0-v1) + v0-v2 = 0x0C0A3C68
.text:004136D8                 sub     eax, 0C0A3C68h

化简得

v0-v1= 02040F1A
v0+v2= E2E8DB7A
v0-v2= 05FE0F1A

v0=7473754A
v1=726F6630
v2=6E756630

Just0for0fun11A


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

收藏
点赞0
打赏
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回