首页
社区
课程
招聘
[原创]一道有意思的题
发表于: 2014-9-11 21:58 14084

[原创]一道有意思的题

2014-9-11 21:58
14084

做了这个题目,觉得挺有意思。就在看雪给出writeup和大家交流一下吧!

     

     随便输入可以断在下面:
    
     单步到这里,看到了刚才输入的pass1:
     
     进入函数call 004011D0后找到这里:
     
    
004011A0     8B4C24 08      mov ecx,dword ptr ss:[esp+8]
004011A4     B8 01000000    mov eax,1
004011A9     41             inc ecx
004011AA     3BC8           cmp ecx,eax
004011AC     74 18          je short 4.004011C6
004011AE     56             push esi
004011AF     8B7424 10      mov esi,dword ptr ss:[esp+10]
004011B3     57             push edi
004011B4     8B7C24 0C      mov edi,dword ptr ss:[esp+C]
004011B8     49             dec ecx
004011B9     0FAFC7         imul eax,edi
004011BC     99             cdq
004011BD     F7FE           idiv esi
004011BF     49             dec ecx
004011C0     8BC2           mov eax,edx
004011C2   ^ 75 F5          jnz short 4.004011B9
004011C4     5F             pop edi
004011C5     5E             pop esi
004011C6     C3             retn
这段代码就是一次取出422000开始处的2个字节,解密得到一个字节再写回去。考虑到解密后的是函数的头部通常是:
55             push ebp
8BEC           mov ebp,esp
用python爆破一下:
for pass1 in xrange(1,10000):
    edx=1
    ecx=pass1+1
    while ecx>1:
        ecx-=1
        edx=(0x00f9*edx) % 0x5ed
        x=edx & 0xff      
    edx=1
    ecx=pass1+1
    while ecx>1:
        ecx-=1
        edx=(0x02c3*edx) % 0x5ed
        y=edx & 0xff
    if x==0x55 and y==0x8b:
print 'pass1: '+str(pass1)
break
跑出来pass1: 4913
重新输入pass1为4913,pass2任意输入:
00401460     53             push ebx
00401461     50             push eax
00401462     56             push esi
00401463     E8 980B0200    call 4.00422000  //在这里断下后进入

    
  
   上面是在比较pass2,如果正确则弹出下面的框。
    


[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

上传的附件:
收藏
免费 3
支持
分享
最新回复 (20)
雪    币: 2105
活跃值: (424)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
2
爆破哥厉害
2014-9-11 22:09
0
雪    币: 1844
活跃值: (35)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
3
先顶一下 。。。。。。。。。。。。。。
2014-9-11 22:25
0
雪    币: 6542
活跃值: (4341)
能力值: ( LV10,RANK:163 )
在线值:
发帖
回帖
粉丝
4
没有vm就不用xx了吧?
2014-9-11 22:44
0
雪    币: 222
活跃值: (185)
能力值: ( LV2,RANK:15 )
在线值:
发帖
回帖
粉丝
5
天易出品!必属精品!
大牛每天都找CM练习!可以拜师吗
2014-9-12 00:13
0
雪    币: 11079
活跃值: (17607)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
路过,帮天易顶贴
2014-9-12 08:23
0
雪    币: 204
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
万一开头是:

8BFF          mov edi,edi
55             push ebp
8BEC           mov ebp,esp

或者是:

EB XX         jmp short XXXXXXXX

以及其他一些指令的话,怎么办
2014-9-12 10:23
0
雪    币: 2015
活跃值: (902)
能力值: ( LV12,RANK:1000 )
在线值:
发帖
回帖
粉丝
8
唯一的原因就是出题的人没有楼上的智商高,而且给我碰到了。
2014-9-12 12:12
0
雪    币: 517
活跃值: (35)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
9
十万以内的pass1:

233 593 953 1313 1673 2033 2393 2753 3113 3473 3833 4193 4553 4913 5273 5633 5993 6353 6713 7073 7433 7793 8153 8513 8873 9233 9593 9953 10313 10673 11033 11393 11753 12113 12473 12833 13193 13553 13913 14273 14633 14993 15353 15713 16073 16433 16793 17153 17513 17873 18233 18593 18953 19313 19673 20033 20393 20753 21113 21473 21833 22193 22553 22913 23273 23633 23993 24353 24713 25073 25433 25793 26153 26513 26873 27233 27593 27953 28313 28673 29033 29393 29753 30113 30473 30833 31193 31553 31913 32273 32633 32993 33353 33713 34073 34433 34793 35153 35513 35873 36233 36593 36953 37313 37673 38033 38393 38753 39113 39473 39833 40193 40553 40913 41273 41633 41993 42353 42713 43073 43433 43793 44153 44513 44873 45233 45593 45953 46313 46673 47033 47393 47753 48113 48473 48833 49193 49553 49913 50273 50633 50993 51353 51713 52073 52433 52793 53153 53513 53873 54233 54593 54953 55313 55673 56033 56393 56753 57113 57473 57833 58193 58553 58913 59273 59633 59993 60353 60713 61073 61433 61793 62153 62513 62873
63233 63593 63953 64313 64673 65033 65393 65753 66113 66473 66833 67193 67553 67913 68273 68633 68993 69353 69713 70073 70433 70793 71153 71513 71873 72233 72593 72953 73313 73673 74033 74393 74753 75113 75473 75833 76193 76553 76913 77273 77633 77993 78353 78713 79073 79433 79793 80153 80513 80873 81233 81593 81953 82313 82673 83033 83393 83753 84113 84473 84833 85193 85553 85913 86273 86633 86993 87353 87713 88073 88433 88793 89153 89513 89873 90233 90593 90953 91313 91673 92033 92393 92753 93113 93473 93833 94193 94553 94913 95273 95633 95993 96353 96713 97073 97433 97793 98153 98513 98873 99233 99593 99953

太多了啊!
2014-9-12 16:36
0
雪    币: 745
活跃值: (3823)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
10
学习刘明
2014-9-12 17:03
0
雪    币: 329
活跃值: (235)
能力值: ( LV13,RANK:320 )
在线值:
发帖
回帖
粉丝
11
帅帅的,棒棒的~~~
2014-9-15 13:01
0
雪    币: 2
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
马克。。。。
2014-11-10 01:23
0
雪    币: 218
活跃值: (25)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
怎么断点的,他不返回错误信息,我是小白求见谅。
2014-11-29 20:48
0
雪    币: 650
活跃值: (4217)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
14
CM我写的,让天易大大见笑了。一直潜水学习您的帖子,居然有幸被亲自指导。方法很妙,学习了!
2015-1-20 18:24
0
雪    币: 188
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
不错不错,学习一下。
2015-1-20 18:29
0
雪    币: 27
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
16
写那个脚本我怎么看不懂啊。
2015-3-4 20:30
0
雪    币: 27
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
17
我勒个去 原来是里面替换字节的算法  我说我怎么直接看脚本  不知道写的是什么  我2了
2015-3-4 21:15
0
雪    币: 3
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
18
API断点,
2015-3-12 11:59
0
雪    币: 3
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
19
api断点
2015-3-12 12:00
0
雪    币: 2
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
20
学习下。
2015-3-12 12:44
0
雪    币: 195
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
21
学习了,先谢一下
2015-3-15 11:03
0
游客
登录 | 注册 方可回帖
返回
//