首页
社区
课程
招聘
[旧帖] 原创]暴力破解第一贴 顺便求邀请码 0.00雪花
发表于: 2010-4-15 21:37 1208

[旧帖] 原创]暴力破解第一贴 顺便求邀请码 0.00雪花

2010-4-15 21:37
1208
这个是我们系统的一个年终考核软件,由于单位的机器更新换代,同时软件厂商也不知所踪,无法重新计算注册序列号。为了能在新机器上正常使用,所以拿它练练手先。
语文学的不好,可能有言语不通的地方,望见谅。
用的工具为:C32Asm(修改程序)、W32Dasm(查字符串)、OLLYDBG(跟踪程序流程)
开工:
1、运行查找蛛丝马迹。










[由程序内给出的三个提示分别来到三个地址,00645D0F、00515357、005153D0
(其实W32Dasm我也就用来找个字符串,其他的不会用了,。)
00645d0f要先于后两个提示部分启动运行,首先判断程序是否注册,验证序列号是否正确。
                                
::00645CB8::  55             PUSH EBP                                
::00645CB9::  8BEC          MOV EBP,ESP                             
::00645CBB::  33C9          XOR ECX,ECX                             
::00645CBD::  51             PUSH ECX                                
::00645CBE::  51             PUSH ECX                                
::00645CBF::  51              PUSH ECX                                
::00645CC0::  51              PUSH ECX                                
::00645CC1::  51              PUSH ECX                                
::00645CC2::  51              PUSH ECX                                
::00645CC3::  51              PUSH ECX                                
::00645CC4::  53              PUSH EBX                                
::00645CC5::  56              PUSH ESI                                
::00645CC6::  8945 FC         MOV [EBP-4],EAX                        
::00645CC9::  33C0            XOR EAX,EAX                             
::00645CCB::  55               PUSH EBP                                
::00645CCC::  68 31606400      PUSH 646031        \->: 槁孥腚^[嬪]?
::00645CD1::  64:FF30          PUSH DWORD PTR FS:[EAX]                 
::00645CD4::  64:8920          MOV FS:[EAX],ESP                        
::00645CD7::  8D55 F8          EA EDX,[EBP-8]                        
::00645CDA::  A1 F4EE6400     MOV EAX,[64EEF4]                        
::00645CDF::  8B00            MOV EAX,[EAX]                           
::00645CE1::  E8 AEEBECFF   CALL 00514894             \:JMPUP
::00645CE6::  8B45 F8         MOV EAX,[EBP-8]                        
::00645CE9::  50              PUSH EAX                                
::00645CEA::  A1 F4EE6400     MOV EAX,[64EEF4]                        
::00645CEF::  8B00            MOV EAX,[EAX]                           
::00645CF1::  E8 46ECECFF    CALL 0051493C              \:JMPUP
::00645CF6::  33D2           XOR EDX,EDX                             
::00645CF8::  52               PUSH EDX                                
::00645CF9::  50               PUSH EAX                                
::00645CFA::  8D45 F4         LEA EAX,[EBP-C]                                
::00645CFD::  E8 1E44DCFF      CALL  0040A120         \:JMPUP
::00645D02::  8B55 F4          MOV  EDX,[EBP-C]                        
::00645D05::  58               POP  EAX                                 
::00645D06::  E8 45F5DBFF     CALL 00405250           \:JMPUP
::00645D0B::  74 7E          JE SHORT 00645D8B           \:JMPDOWN
::00645D0D::  6A 34         PUSH 34                                 
::00645D0F::  B9 40606400    MOV  ECX,646040             \->: 警告
::00645D14::  BA 48606400    MOV  EDX,646048           \->: 您使用的软件序列号出现错误,无法使用本软件,想现在重新输入吗?
::00645D19::  A1 34EE6400     MOV  EAX,[64EE34]                        
::00645D1E::  8B00            MOV  EAX,[EAX]                           
::00645D20::  E8 97B2E2FF     CALL  00470FBC           \:JMPUP
::00645D25::  83F8 06          CMP  EAX,6                              
::00645D28::  75 55            JNZ  SHORT 00645D7F       \:JMPDOWN
::00645D2A::  8B4D FC        MOV  ECX,[EBP-4]                        
::00645D2D::  B2 01           MOV  DL,1                                
::00645D2F::  A1 8C505100      MOV  EAX,[51508C]                        
::00645D34::  E8 C337E2FF      CALL  004694FC          \:JMPUP
::00645D39::  8B15 E0EB6400      MOV  EDX,[64EBE0]                        
::00645D3F::  8902               MOV  [EDX],EAX                           
::00645D41::  33C0              XOR EAX,EAX                             
::00645D43::  55                PUSH EBP                                
::00645D44::  68 785D6400       PUSH 645D78                 \->: 閧檑腱?頳
::00645D49::  64:FF30            PUSH DWORD PTR FS:[EAX]                 
::00645D4C::  64:8920           MOV FS:[EAX],ESP                        
::00645D4F::  A1 E0EB6400       MOV EAX,[64EBE0]                        
::00645D54::  8B00              MOV EAX,[EAX]                           
::00645D56::  8B10               MOV EDX,[EAX]                           
::00645D58::  FF92 E8000000      CALL [EDX+E8]                           
::00645D5E::  33C0              XOR EAX,EAX                             
::00645D60::  5A                  POP EDX            
::00645D61::  59                   POP ECX                                 
::00645D62::  59                   POP ECX                                 
::00645D63::  64:8910              MOV FS:[EAX],EDX                        
::00645D66::  68 7F5D6400          PUSH 645D7F           \->: ?頳
::00645D6B::  A1 E0EB6400     MOV EAX,[64EBE0]    \:BYJMP JmpBy:00645D7D,
::00645D70::  8B00             MOV EAX,[EAX]                           
::00645D72::  E8 EDE1DBFF     CALL 00403F64           \:JMPUP
::00645D77::  C3                RETN               

关键部分为:

::00645D06::  E8 45F5DBFF     CALL 00405250           \:JMPUP  《通过动态跟踪大概判断出这里是判断序列号对否的地方。》
::00645D0B::  74 7E          JE SHORT 00645D8B      \:JMPDOWN   《关键!不跳就死翘翘了,我在这里让它一往无前的跳过去!跳过去海阔天空了。》
::00645D0D::  6A 34         PUSH 34                                 
::00645D0F::  B9 40606400    MOV  ECX,646040             \->: 警告
::00645D14::  BA 48606400    MOV  EDX,646048           \->: 您使用的软件序列号出现错误,无法使用本软件,想现在重新输入吗?
::00645D19::  A1 34EE6400     MOV  EAX,[64EE34]                        
::00645D1E::  8B00            MOV  EAX,[EAX]                           
::00645D20::  E8 97B2E2FF     CALL  00470FBC           \:JMPUP    ]

2、用C32Asm载入程序,跳转到
::00645D0B::  74 7E          JE SHORT 00645D8B      \:JMPDOWN
直接修改je short 00645d88   为jne short 00645d88
然后保存。重新运行,我可爱的用户登录界面出来了。

此次暴力破解到此完成。
其实这个程序在00405250 内部也可以进行修改,不过改过的程序破解不完全,无法加载程序界面的图片。

这个程序我在查壳的时候有这个提示,不知道什么意思,哪位大虾知道还望赐教。还有,就是为什么要连续压5次ECX?


安装程序有点大,发到我自己的网盘,不知道违不违规,有想练手的可以下载试试。完全破解一个软件原来也是很有成就感的。
http://www.brsbox.com/filebox/down/fc/5c9aabf0d3ad3fa374abfc61616fb82b

[课程]Android-CTF解题方法汇总!

上传的附件:
收藏
免费 0
支持
分享
最新回复 (4)
雪    币: 111
活跃值: (29)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
::00645D0B::  74 7E          JE SHORT 00645D8B      \:JMPDOWN
直接修改je short 00645d88   为jne short 00645d88

改为EB 7E(JMP SHORT 00645D8B)可能更好些,这样就算有真注册码也可以成功.

需要跳的改EB,不需要跳的改几个90把它NOP掉.可以照顾通用性.
2010-4-15 23:08
0
雪    币: 85
活跃值: (12)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
这个倒没考虑,只想着程序内部序列号比较的部分了,肯定是对不上,所以就跳了。
多谢二楼提醒,回去试了下,直接JMP也行。

后来又跟了几遍,偶尔一次在00645D05处下断,在右侧EDX寄存器显示数字串,就是本机的注册码。就是不知道为什么是在EAX出栈时在EDX寄存器显示。
2010-4-16 11:56
0
雪    币: 31
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
学习了.............................................................
2010-4-16 13:17
0
雪    币: 101
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
呵呵,不错,我现在碰到的情况和你的差不多
不过我现在是在修改我们自己写的DLL,没有源码了,要进行数据调整,相对来说,没你这个复杂。
2010-4-16 13:38
0
游客
登录 | 注册 方可回帖
返回
//