首页
社区
课程
招聘
[原创]我的第一次爆破
发表于: 2004-12-6 20:38 3839

[原创]我的第一次爆破

2004-12-6 20:38
3839
目标:传家宝管理程序 V2.021
步骤:
     1.peid v0.92 侦测壳的类型
     2.显示的壳是ASPack 2.12 -> Alexey Solodovnikov
     3.使用ASPackDie脱壳后显示是Borland Delphi 6.0 - 7.0编写
     4.运行脱壳后程序Unpacked,显示"这是无效的注册码,联系我们得到正确注册码!"
     5.使用OD加载脱壳后程序Unpacked,查找ASCII字符"这是无效的注册码,联系我们得到正确注册码!"
     6.双击"这是无效的注册码,联系我们得到正确注册码!"来到
00530EC7  |> \6A 30         PUSH 30                                 ; /Style = MB_OK|MB_ICONEXCLAMATION|MB_APPLMODAL; Case 1 of switch 00530E4B
00530EC9  |.  68 C00F5300   PUSH Unpacked.00530FC0                  ; |Title = "注册码错误"
00530ECE  |.  68 CC0F5300   PUSH Unpacked.00530FCC                  ; |Text = "这是无效的注册码,联系我们得到正确注册码!"
00530ED3  |.  6A 00         PUSH 0                                  ; |hOwner = NULL
00530ED5  |.  E8 BA71EDFF   CALL <JMP.&user32.MessageBoxA>          ; \MessageBoxA
00530EDA  |.  8D55 FC       LEA EDX,DWORD PTR SS:[EBP-4]
00530EDD  |.  8BC3          MOV EAX,EBX
00530EDF  |.  E8 08FDFFFF   CALL Unpacked.00530BEC
00530EE4  |.  83F8 02       CMP EAX,2
00530EE7  |.  74 71         JE SHORT Unpacked.00530F5A
00530EE9  |.  B2 01         MOV DL,1

     7.向上查找,看到
00530E30  /.  55            PUSH EBP
00530E31  |.  8BEC          MOV EBP,ESP
00530E33  |.  6A 00         PUSH 0
00530E35  |.  6A 00         PUSH 0
00530E37  |.  6A 00         PUSH 0
00530E39  |.  53            PUSH EBX
00530E3A  |.  56            PUSH ESI
00530E3B  |.  8BD8          MOV EBX,EAX
00530E3D  |.  33C0          XOR EAX,EAX
00530E3F  |.  55            PUSH EBP
00530E40  |.  68 810F5300   PUSH Unpacked.00530F81
00530E45  |.  64:FF30       PUSH DWORD PTR FS:[EAX]
00530E48  |.  64:8920       MOV DWORD PTR FS:[EAX],ESP
00530E4B  |.  80E9 01       SUB CL,1                                ;  Switch (cases 0..6)
00530E4E  |.  72 19         JB SHORT Unpacked.00530E69关键跳转,跳转到正常执行部分
00530E50  |.  74 75         JE SHORT Unpacked.00530EC7关键跳转,一跳就死
00530E52  |.  80E9 02       SUB CL,2
00530E55  |.  0F84 CE000000 JE Unpacked.00530F29关键跳转,跳转到使用到期
00530E5B  |.  80E9 03       SUB CL,3
00530E5E  |.  0F84 94000000 JE Unpacked.00530EF8关键跳转,跳转到使用到期
00530E64  |.  E9 F1000000   JMP Unpacked.00530F5A
00530E69  |>  8B83 58030000 MOV EAX,DWORD PTR DS:[EBX+358]          ;  Case 0 of switch 00530E4B
00530E6F  |.  E8 9C4FFAFF   CALL Unpacked.004D5E10
00530E74  |.  8BF0          MOV ESI,EAX
00530E76  |.  83FE 0A       CMP ESI,0A
00530E79  |.  7E 15         JLE SHORT Unpacked.00530E90跳转到显示还剩余的使用天数
00530E7B  |.  BA 980F5300   MOV EDX,Unpacked.00530F98
00530E80  |.  8B83 60030000 MOV EAX,DWORD PTR DS:[EBX+360]
00530E86  |.  E8 DD87F2FF   CALL Unpacked.00459668
00530E8B  |.  E9 D6000000   JMP Unpacked.00530F66
00530E90  |>  68 A80F5300   PUSH Unpacked.00530FA8
00530E95  |.  8D55 F4       LEA EDX,DWORD PTR SS:[EBP-C]
00530E98  |.  8BC6          MOV EAX,ESI
00530E9A  |.  E8 218FEDFF   CALL Unpacked.00409DC0
00530E9F  |.  FF75 F4       PUSH DWORD PTR SS:[EBP-C]
00530EA2  |.  68 BC0F5300   PUSH Unpacked.00530FBC
00530EA7  |.  8D45 F8       LEA EAX,DWORD PTR SS:[EBP-8]
00530EAA  |.  BA 03000000   MOV EDX,3
00530EAF  |.  E8 A041EDFF   CALL Unpacked.00405054
00530EB4  |.  8B55 F8       MOV EDX,DWORD PTR SS:[EBP-8]
00530EB7  |.  8B83 60030000 MOV EAX,DWORD PTR DS:[EBX+360]
00530EBD  |.  E8 A687F2FF   CALL Unpacked.00459668
00530EC2  |.  E9 9F000000   JMP Unpacked.00530F66
00530EC7  |>  6A 30         PUSH 30                                 ; /Style = MB_OK|MB_ICONEXCLAMATION|MB_APPLMODAL; Case 1 of switch 00530E4B 右键,前往,JE 来自 00530E50
00530EC9  |.  68 C00F5300   PUSH Unpacked.00530FC0                  ; |Title = "注册码错误"
00530ECE  |.  68 CC0F5300   PUSH Unpacked.00530FCC                  ; |Text = "这是无效的注册码,联系我们得到正确注册码!"
00530ED3  |.  6A 00         PUSH 0                                  ; |hOwner = NULL
00530ED5  |.  E8 BA71EDFF   CALL <JMP.&user32.MessageBoxA>          ; \MessageBoxA
00530EDA  |.  8D55 FC       LEA EDX,DWORD PTR SS:[EBP-4]
00530EDD  |.  8BC3          MOV EAX,EBX
00530EDF  |.  E8 08FDFFFF   CALL Unpacked.00530BEC
00530EE4  |.  83F8 02       CMP EAX,2
00530EE7  |.  74 71         JE SHORT Unpacked.00530F5A
00530EE9  |.  B2 01         MOV DL,1
00530EE9  |.  B2 01         MOV DL,1
00530EEB  |.  8B83 58030000 MOV EAX,DWORD PTR DS:[EBX+358]
00530EF1  |.  8B08          MOV ECX,DWORD PTR DS:[EAX]
00530EF3  |.  FF51 30       CALL DWORD PTR DS:[ECX+30]
00530EF6  |.  EB 6E         JMP SHORT Unpacked.00530F66
00530EF8  |>  6A 30         PUSH 30                                 ; /Style = MB_OK|MB_ICONEXCLAMATION|MB_APPLMODAL; Case 6 of switch 00530E4B
00530EFA  |.  68 F80F5300   PUSH Unpacked.00530FF8                  ; |Title = "试用到期"
00530EFF  |.  68 04105300   PUSH Unpacked.00531004                  ; |Text = "你的试用已经到期,联系我们注册本软件!"
00530F04  |.  6A 00         PUSH 0                                  ; |hOwner = NULL
00530F06  |.  E8 8971EDFF   CALL <JMP.&user32.MessageBoxA>          ; \MessageBoxA
00530F0B  |.  8D55 FC       LEA EDX,DWORD PTR SS:[EBP-4]
00530F0E  |.  8BC3          MOV EAX,EBX
00530F10  |.  E8 D7FCFFFF   CALL Unpacked.00530BEC
00530F15  |.  83F8 02       CMP EAX,2
00530F18  |.  74 40         JE SHORT Unpacked.00530F5A
00530F1A  |.  B2 01         MOV DL,1
00530F1C  |.  8B83 58030000 MOV EAX,DWORD PTR DS:[EBX+358]
00530F22  |.  8B08          MOV ECX,DWORD PTR DS:[EAX]
00530F24  |.  FF51 30       CALL DWORD PTR DS:[ECX+30]
00530F27  |.  EB 3D         JMP SHORT Unpacked.00530F66
00530F29  |>  6A 30         PUSH 30                                 ; /Style = MB_OK|MB_ICONEXCLAMATION|MB_APPLMODAL; Case 3 of switch 00530E4B
00530F2B  |.  68 F80F5300   PUSH Unpacked.00530FF8                  ; |Title = "试用到期"
00530F30  |.  68 04105300   PUSH Unpacked.00531004                  ; |Text = "你的试用已经到期,联系我们注册本软件!"
00530F35  |.  6A 00         PUSH 0                                  ; |hOwner = NULL
00530F37  |.  E8 5871EDFF   CALL <JMP.&user32.MessageBoxA>          ; \MessageBoxA
00530F3C  |.  8D55 FC       LEA EDX,DWORD PTR SS:[EBP-4]
00530F3F  |.  8BC3          MOV EAX,EBX
00530F41  |.  E8 A6FCFFFF   CALL Unpacked.00530BEC
00530F46  |.  83F8 02       CMP EAX,2
00530F49  |.  74 0F         JE SHORT Unpacked.00530F5A
00530F4B  |.  B2 01         MOV DL,1
00530F4D  |.  8B83 58030000 MOV EAX,DWORD PTR DS:[EBX+358]
00530F53  |.  8B08          MOV ECX,DWORD PTR DS:[EAX]
00530F55  |.  FF51 30       CALL DWORD PTR DS:[ECX+30]
00530F58  |.  EB 0C         JMP SHORT Unpacked.00530F66
00530F5A  |>  A1 E8585300   MOV EAX,DWORD PTR DS:[5358E8]           ;  Default case of switch 00530E4B
00530F5F  |.  8B00          MOV EAX,DWORD PTR DS:[EAX]
00530F61  |.  E8 AA84F4FF   CALL Unpacked.00479410
00530F66  |>  33C0          XOR EAX,EAX
00530F68  |.  5A            POP EDX
00530F69  |.  59            POP ECX
00530F6A  |.  59            POP ECX
00530F6B  |.  64:8910       MOV DWORD PTR FS:[EAX],EDX
00530F6E  |.  68 880F5300   PUSH Unpacked.00530F88
00530F73  |>  8D45 F4       LEA EAX,DWORD PTR SS:[EBP-C]
00530F76  |.  BA 03000000   MOV EDX,3
00530F7B  |.  E8 783DEDFF   CALL Unpacked.00404CF8
00530F80  \.  C3            RETN
      8.可以开刀了,技术有限,无法跟到注册算法,修改
00530E4E  |.  72 19         JB SHORT Unpacked.00530E69

00530E4E  |.  EB 19         JMP SHORT Unpacked.00530E69
可以运行了,但是显示为体验版,剩余时间为0天,虽不影响使用,但是毕竟不美观,再修改
00530E79  |.  7E 15         JLE SHORT Unpacked.00530E90

00530E79  |.  90            NOP
00530E7A  |.  90            NOP
到此修改完毕!

老版管理程序:DgManageOLD.rar
数据库文件(解压到同一目录):sjk.rar

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

收藏
免费 1
支持
分享
最新回复 (3)
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
新版管理程序
1.注册提示重启程序
2.注册是根据读取的.INI文件中的注册码判断是否有效
3.不注册可以运行,但是限制只能显示4位用户数据
4.不注册可以运行,但是不注册,隐藏了几个按钮,功能无法使用!

我在DFCG论坛求助了一个月,都没有帮助我,我想问问读取.INI文件,应该如何设置断点,关键跳转应该怎么找啊,还有就是应该如何分析算法呢?新版管理程序:DgManageNEW.rar
2004-12-6 20:44
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
厉害呀
2004-12-6 21:24
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
读取.INI文件应如何下断点啊?
2004-12-7 11:05
0
游客
登录 | 注册 方可回帖
返回
//