首页
社区
课程
招聘
新手,请问这个失败是怎么回事?
发表于: 2016-12-25 16:08 5376

新手,请问这个失败是怎么回事?

2016-12-25 16:08
5376
这个软件是采用注册文件的模式进行注册。找到了提示注册成功的位置,但nop强制失败,请问怎么回事?

004D86DB   .  A1 FC1B5100   mov eax,dword ptr ds:[0x511BFC]
004D86E0   .  E8 4384FDFF   call GetFile.004B0B28
004D86E5   .  A1 FC1B5100   mov eax,dword ptr ds:[0x511BFC]
004D86EA   .  8A40 08       mov al,byte ptr ds:[eax+0x8]
004D86ED   .  2C 01         sub al,0x1                               ;  Switch (cases 0..1)
004D86EF   .  72 0B         jb short GetFile.004D86FC
004D86F1      0F84 22010000 je GetFile.004D8819
004D86F7   .  E9 CA020000   jmp GetFile.004D89C6
004D86FC   >  A1 8C105100   mov eax,dword ptr ds:[0x51108C]          ;  Case 0 of switch 004D86ED
004D8701   .  8B00          mov eax,dword ptr ds:[eax]
004D8703   .  8B80 1C040000 mov eax,dword ptr ds:[eax+0x41C]
004D8709   .  B2 01         mov dl,0x1
004D870B   .  E8 1C86FAFF   call GetFile.00480D2C
004D8710   .  FFB5 F4FBFFFF push dword ptr ss:[ebp-0x40C]            ;  GetFile.0048C80E
004D8716   .  FFB5 F0FBFFFF push dword ptr ss:[ebp-0x410]
004D871C   .  8D95 70F9FFFF lea edx,dword ptr ss:[ebp-0x690]
004D8722   .  B8 6C8B4D00   mov eax,GetFile.004D8B6C                 ;  yyyy-MM-dd
004D8727   .  E8 9C3BF3FF   call GetFile.0040C2C8
004D872C   .  8B95 70F9FFFF mov edx,dword ptr ss:[ebp-0x690]
004D8732   .  8B83 50030000 mov eax,dword ptr ds:[ebx+0x350]
004D8738   .  E8 9B5DF9FF   call GetFile.0046E4D8
004D873D   .  8D85 64F9FFFF lea eax,dword ptr ss:[ebp-0x69C]
004D8743   .  8D95 F8FBFFFF lea edx,dword ptr ss:[ebp-0x408]
004D8749   .  B9 00020000   mov ecx,0x200
004D874E   .  E8 95C8F2FF   call GetFile.00404FE8
004D8753   .  8B85 64F9FFFF mov eax,dword ptr ss:[ebp-0x69C]         ;  ntdll_1.779645AE
004D8759   .  8D95 68F9FFFF lea edx,dword ptr ss:[ebp-0x698]
004D875F   .  E8 A00FF3FF   call GetFile.00409704
004D8764   .  8B85 68F9FFFF mov eax,dword ptr ss:[ebp-0x698]         ;  ntdll_1.77964515
004D876A   .  8D8D 6CF9FFFF lea ecx,dword ptr ss:[ebp-0x694]
004D8770   .  8B95 E0F9FFFF mov edx,dword ptr ss:[ebp-0x620]         ;  GetFile.004725C6
004D8776   .  E8 4D60FDFF   call GetFile.004AE7C8
004D877B   .  8B95 6CF9FFFF mov edx,dword ptr ss:[ebp-0x694]         ;  AcXtrnal.5BA29AF8
004D8781   .  8B83 58030000 mov eax,dword ptr ds:[ebx+0x358]         ;  GetFile.007774E4
004D8787   .  E8 4C5DF9FF   call GetFile.0046E4D8
004D878C   .  8D85 58F9FFFF lea eax,dword ptr ss:[ebp-0x6A8]
004D8792   .  8D95 F8FDFFFF lea edx,dword ptr ss:[ebp-0x208]
004D8798   .  B9 00020000   mov ecx,0x200
004D879D   .  E8 46C8F2FF   call GetFile.00404FE8
004D87A2   .  8B85 58F9FFFF mov eax,dword ptr ss:[ebp-0x6A8]
004D87A8   .  8D95 5CF9FFFF lea edx,dword ptr ss:[ebp-0x6A4]
004D87AE   .  E8 510FF3FF   call GetFile.00409704
004D87B3   .  8B85 5CF9FFFF mov eax,dword ptr ss:[ebp-0x6A4]
004D87B9   .  8D8D 60F9FFFF lea ecx,dword ptr ss:[ebp-0x6A0]
004D87BF   .  8B95 E0F9FFFF mov edx,dword ptr ss:[ebp-0x620]         ;  GetFile.004725C6
004D87C5   .  E8 FE5FFDFF   call GetFile.004AE7C8
004D87CA   .  8B95 60F9FFFF mov edx,dword ptr ss:[ebp-0x6A0]
004D87D0   .  8B83 60030000 mov eax,dword ptr ds:[ebx+0x360]
004D87D6   .  E8 FD5CF9FF   call GetFile.0046E4D8
004D87DB   .  8B83 FC020000 mov eax,dword ptr ds:[ebx+0x2FC]
004D87E1   .  BA 01000000   mov edx,0x1
004D87E6   .  E8 E91BF7FF   call GetFile.0044A3D4
004D87EB   .  A1 8C105100   mov eax,dword ptr ds:[0x51108C]
004D87F0   .  8B00          mov eax,dword ptr ds:[eax]
004D87F2   .  BA 808B4D00   mov edx,GetFile.004D8B80                 ;  文件提取工具【已注册】
004D87F7   .  E8 DC5CF9FF   call GetFile.0046E4D8
004D87FC   .  6A 40         push 0x40
004D87FE   .  B9 488B4D00   mov ecx,GetFile.004D8B48                 ;  提示
004D8803   .  BA 988B4D00   mov edx,GetFile.004D8B98                 ;  注册成功,谢谢您的支持!
004D8808   .  A1 2C1C5100   mov eax,dword ptr ds:[0x511C2C]
004D880D   .  8B00          mov eax,dword ptr ds:[eax]
004D880F   .  E8 D470FBFF   call GetFile.0048F8E8
004D8814   .  E9 AD010000   jmp GetFile.004D89C6
004D8819   >  A1 8C105100   mov eax,dword ptr ds:[0x51108C]          ;  Case 1 of switch 004D86ED

[课程]Linux pwn 探索篇!

收藏
免费 0
支持
分享
最新回复 (5)
雪    币: 1
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
你nop放哪去了? 004D86F1 ??
2016-12-25 17:23
0
雪    币: 458
活跃值: (265)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
004D86EF   .  72 0B         jb short GetFile.004D86FC  ->
004D86EF   .  EB 0B         jmp short GetFile.004D86FC
2016-12-25 18:51
0
雪    币: 144
活跃值: (33)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
能否帮忙看下,把那几个地方都改了,还是出错。
上传的附件:
2016-12-25 19:22
0
雪    币: 293
活跃值: (287)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
5
字符串搜索,获取如下位置:

很明显的  这里有个标志位,程序重启查看 0x511BFC 地址,发现值是固定的,那么直接在 对应的地方下个内存访问断点,然后继续跟


反正有很多这样地方的,随便找一个观察一下,要程序进入已注册的分支,那么 [[0x511BFC]+0x08] 必须等于0,
那么问题就简单了,程序重新再来,找哪里修改的


初始化地方是赋值一个4,那么这里直接改成
mov byte ptr ds:[eax+0x8],0x0
然后继续


这里直接把 mov byte ptr ds:[edx+0x8],cl 这句nop掉,然后继续,发现没有地方再修改这个值了,保存所有改动,另存为,运行测试,爆破成功

破解后文件下载
File提取_patch.zip
上传的附件:
2016-12-25 22:00
0
雪    币: 144
活跃值: (33)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
非常感谢,按照您的步骤操作了一遍,确实可以了。我原来的路子想错了。再次感谢!
2016-12-26 12:02
0
游客
登录 | 注册 方可回帖
返回
//