首页
社区
课程
招聘
[原创]暴力破解《2015年会计从业考试题库.exe》
发表于: 2015-4-30 15:38 9886

[原创]暴力破解《2015年会计从业考试题库.exe》

2015-4-30 15:38
9886
软件:《2015年会计从业考试题库.exe》,51.2 MB (53,790,980 字节),就一个EXE和记录着一个开启密码(试用3次)的记事本,没有其他文件了。
http://pan.baidu.com/s/1eQrjReq

环境:win7×64 旗舰版,OD是OllyCAU中秋团圆庆祝版,插件PhantOm1.26加StrongOD。

打开软件伴随的记事本,有一个开启密码(试用3次),输入之后超过3次使用,点击OK之后退出软件。


PEID0.95普通扫描是yoda's Protector v1.02 (.dll,.ocx) -> Ashkbiz Danehkar (h) [Overlay] *
核心扫描是Borland Delphi 6.0 - 7.0 [Overlay]
WSUnpacker扫描结果是VMProtect  v1.63 - v2.xx

用OD加载:
005780D4 >  9C              pushfd
005780D5    E8 D1240000     call    2015年会.0057A5AB
005780DA    50              push    eax
005780DB    F0:1F           lock pop ds                              ; 不允许锁定前缀
005780DD    FD              std
005780DE    FD              std
005780DF    8697 926302B4   xchg    byte ptr ds:[edi+B4026392], dl
005780E5    B2 C2           mov     dl, 0C2
005780E7    BC 607F4009     mov     esp, 9407F60
005780EC    97              xchg    eax, edi
005780ED    C4CC            les     ecx, esp                         ; 非法使用寄存器
005780EF    6F              outs    dx, dword ptr es:[edi]
005780F0    4D              dec     ebp
005780F1    2366 01         and     esp, dword ptr ds:[esi+1]
005780F4    9C              pushfd
005780F5    BF 0B9912A7     mov     edi, A712990B
005780FA    17              pop     ss
005780FB    91              xchg    eax, ecx
005780FC    36:35 CA8AE710  xor     eax, 10E78ACA
00578102    0F1F            ???                                      ; 未知命令
00578104    AC              lods    byte ptr ds:[esi]


看起来有点乱,call不按F7程序都会运行起来。想想还是修改一下OD的SFX设置(选择“字节方式跟踪真正入口处”)看看有没有什么发现。
重新加载之后,显示如下代码:
004BFBA0      55            db      55                               ;  SFX 代码真正入口点
004BFBA1      8B            db      8B
004BFBA2      EC            db      EC
004BFBA3      83            db      83
004BFBA4      C4            db      C4
004BFBA5      F0            db      F0
004BFBA6      B8            db      B8
004BFBA7   .  C4E64B00      dd      2015年会.004BE6C4
004BFBAB      E8            db      E8
004BFBAC   .  74 7A         je      short 2015年会.004BFC28
004BFBAE   .  F4            hlt
004BFBAF   .  FFA1 10634C00 jmp     dword ptr ds:[ecx+4C6310]
004BFBB5      8B            db      8B
004BFBB6      00            db      00
004BFBB7      E8            db      E8
004BFBB8      A4            db      A4
004BFBB9      22            db      22                               ;  CHAR '"'
004BFBBA      FB            db      FB
004BFBBB      FF            db      FF
004BFBBC      8B            db      8B
004BFBBD      0D            db      0D
004BFBBE   .  1C654C00      dd      2015年会.004C651C



想起刚刚打开的时候 有弹窗提示,经过筛选,确定是GetWindowTextA,设置好F2断点,F9运行断了下来。一路F8到弹窗提示“超过指定打开次数”。点击OK之后来到,往上一看,熟悉的结构:

004BD6D1   . /0F84 B2000000 je      2015年会.004BD789
004BD6D7   . |8B45 FC       mov     eax, dword ptr ss:[ebp-4]
004BD6DA   . |E8 05CBF4FF   call    2015年会.0040A1E4
004BD6DF   . |8BD8          mov     ebx, eax
004BD6E1   . |A1 10CE4C00   mov     eax, dword ptr ds:[4CCE10]
004BD6E6   . |E8 F9CAF4FF   call    2015年会.0040A1E4                  ;  获取运行次数call
004BD6EB   . |3BD8          cmp     ebx, eax
004BD6ED     |7F 16         jg      short 2015年会.004BD705            ;  关键判断
004BD6EF   . |B8 04DE4B00   mov     eax, 2015年会.004BDE04
004BD6F4   . |E8 0781F8FF   call    2015年会.00445800                  ;  提示超过次数
004BD6F9   . |C605 24CE4C00>mov     byte ptr ds:[4CCE24], 0
004BD700   . |E9 34050000   jmp     2015年会.004BDC39
004BD705   > |A1 10CE4C00   mov     eax, dword ptr ds:[4CCE10]
004BD70A   . |E8 D5CAF4FF   call    2015年会.0040A1E4
004BD70F   . |40            inc     eax
004BD710   . |8D95 5CFFFFFF lea     edx, dword ptr ss:[ebp-A4]
004BD716   . |E8 8DC9F4FF   call    2015年会.0040A0A8
004BD71B   . |8B95 5CFFFFFF mov     edx, dword ptr ss:[ebp-A4]
004BD721   . |B8 10CE4C00   mov     eax, 2015年会.004CCE10
004BD726   . |E8 117DF4FF   call    2015年会.0040543C
004BD72B   . |A1 C8CD4C00   mov     eax, dword ptr ds:[4CCDC8]
004BD730   . |BA 30DD4B00   mov     edx, 2015年会.004BDD30
004BD735   . |E8 D680F4FF   call    2015年会.00405810


修改jg  short 004BD705  改成jmp short 004BD705 之后保存修改。成功暴力破解了使用次数限制。
打开修改过的程序:



小虾不懂算法,能暴力破解就很满足了。特与大家分享分享

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

上传的附件:
收藏
免费 0
支持
分享
最新回复 (14)
雪    币: 59
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
大虾没把破了的文件放上来呀
2015-4-30 16:25
0
雪    币: 22
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
感谢分享。。。
2015-4-30 16:27
0
雪    币: 22
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
他放了呀,最上面
2015-4-30 16:29
0
雪    币: 2092
活跃值: (1884)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
EXE文件加密器加密的,我现在在破解他的加密器
2015-4-30 17:08
0
雪    币: 16429
活跃值: (1695)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
牛了逼了,天天跟论坛上的各种大神交流就是心情舒畅啊~~
2015-4-30 17:23
0
雪    币: 218
能力值: (RANK:10 )
在线值:
发帖
回帖
粉丝
7
希望老师们去把天狼星和超时代新版本加密给搞了,期待中。
2015-4-30 19:13
0
雪    币: 16429
活跃值: (1695)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
还有更懒 的 么???
2015-4-30 19:48
0
雪    币: 16429
活跃值: (1695)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
为什么 这样改说 字串不对?故意把密码换个错的学习:

----------------------
004BAC07  |. /74 1E         je      X2015年会.004BAC27
004BAC09  |. |B8 60B54B00   mov     eax, 2015年会.004BB560             ;  播放授权不合法!
004BAC0E  |. |E8 EDABF8FF   call    2015年会.00445800
004BAC13  |. |E9 49080000   jmp     2015年会.004BB461
004BAC18  |> |B8 7CB54B00   mov     eax, 2015年会.004BB57C             ;  播放授权不正确!

004BAD5A     /74 0F         je      X2015年会.004BAD6B                      JMP掉!!!
004BAD5C     |B8 B4B54B00   mov     eax, 2015年会.004BB5B4             ;  播放密码不正确
004BAD61     |E8 9AAAF8FF   call    2015年会.00445800
004BAD66  |. |E9 F6060000   jmp     2015年会.004BB461
004BAD6B  |> \8B45 F0       mov     eax, [local.4]
004BAD6E  |.  8B55 EC       mov     edx, [local.5]
004BAD71  |.  E8 9AAAF4FF   call    2015年会.00405810
004BAD76  |.  0F95C0        setne   al
004BAD79  |.  84C0          test    al, al
004BAD7B  |.  0F85 E0060000 jnz     2015年会.004BB461
004BAD81  |.  68 CCB54B00   push    2015年会.004BB5CC                  ;  c:\DRMsoft\

004BAF74     /74 0F         je      X2015年会.004BAF85                  JMP掉!!!
004BAF76  |. |B8 B4B54B00   mov     eax, 2015年会.004BB5B4             ;  播放密码不正确

004BD6ED     |7F 16         jg      short 2015年会.004BD705            ;  关键判断
2015-4-30 20:05
0
雪    币: 291
活跃值: (48)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
10
谢谢补充,要是能把判断算法整理出来就更好了。
2015-4-30 21:55
0
雪    币: 255
活跃值: (18)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
不错。。
2015-5-3 08:46
0
雪    币: 59
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
其实不是懒,是不懂,我按楼主方法做,做不来,我是新手,连F2设断点怎么设我都不知道
2015-5-3 13:06
0
雪    币: 291
活跃值: (48)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
13
之前论坛有好多文章是基础文章,也有人收集好相关的视频,你在论坛找找
2015-5-3 15:35
0
雪    币: 16429
活跃值: (1695)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
除此之外,小甲鱼 破解 视频 也不错,让菜鸟快速入手。
2015-5-4 07:48
0
雪    币: 136
活跃值: (272)
能力值: ( LV12,RANK:490 )
在线值:
发帖
回帖
粉丝
15
看到楼主的爆破,作为新手也想练下手,一时手痒就下来试了下,第一想法也是循着楼主的想法想爆破下,爆破后发现,其实练习程序跟主程序是分开的,我想,其实破解也是为了能让软件使用,经过一上午的努力终于给扣了出来。
      过程如下,找到爆破点对CreateFileA下了断点,之后会看到程序在临时目录创建了好几个文件

0019EA74   74976C48  /CALL 到 CreateFileA 来自 apphelp.74976C46
0019EA78   023736A0  |FileName = "C:\Users\tlc\AppData\Local\Temp\drm.tmp"  
0019EA7C   C0000000  |Access = GENERIC_READ|GENERIC_WRITE
0019EA80   00000000  |ShareMode = 0
0019EA84   00000000  |pSecurity = NULL
0019EA88   00000002  |Mode = CREATE_ALWAYS
0019EA8C   00000080  |Attributes = NORMAL
0019EA90   00000000  \hTemplateFile = NULL
     
0019E770   74976C48  /CALL 到 CreateFileA 来自 apphelp.74976C46
0019E774   0240E1C8  |FileName = "C:\Users\tlc\AppData\Local\Temp\Project1.exe"
0019E778   C0000000  |Access = GENERIC_READ|GENERIC_WRITE
0019E77C   00000000  |ShareMode = 0
0019E780   00000000  |pSecurity = NULL
0019E784   00000002  |Mode = CREATE_ALWAYS
0019E788   00000080  |Attributes = NORMAL
0019E78C   00000000  \hTemplateFile = NULL

后面还有好几个,就不一一重复列出。最终扣出来后压缩了下,先把成果分享下吧,
http://pan.baidu.com/s/1o6Kfogi
2015-8-2 14:38
0
游客
登录 | 注册 方可回帖
返回
//