- UID
- 2198
注册时间2005-6-29
阅读权限255
最后登录1970-1-1
副坛主
该用户从未签到
|
忽略算法观察法快速暴破Quick Screenshot Maker
对于很多软件,非明码比较或是添加暗桩,我们只能跟进算法CALL 如果是复杂的算法,我们可能一时间分析不懂,这个时候就可以根据经验来暴破算法CALL ,找了个简单的软件,全当示范。菜鸟之作,高手请勿见笑 BY:Nisy
Quick Screenshot Maker
官方网站:http://www.etrusoft.com/screenshot-maker/
软件无壳 直接OD载入
搜索ASCII 找到关键字符并下断:sorry, your registration key is wrong. please check it and try again.
F9运行,输入注册信息
Name:Nisy
Code:012345678901234567890123
搜索ASCII 找到关键字符
00430759 . E8 7269FDFF CALL Screensh.004070D0 ; \关键CALL 跟进
0043075E . 84C0 TEST AL,AL ; 看到这里的标志位比较没 由此可以判定上方的CALL为算法CALL
00430760 . 75 37 JNZ SHORT Screensh.00430799
00430762 . 6A 40 PUSH 40
00430764 . 68 C45A5800 PUSH Screensh.00585AC4 ; quick screenshot maker v2.1
00430769 . 68 906F5800 PUSH Screensh.00586F90 ; sorry, your registration key is wrong. please check it and try again.
由于是注册码判定机制为标志位 先尝试下标志为暴破AL
跟进CALL
004306A6 6A FF PUSH -1
004306A8 68 40F05200 PUSH Screensh.0052F040
修改为
004306A6 B0 01 MOV AL,1
004306A8 C3 RETN
注册失败 故修改无效 只好跟进CALL
关键 CALL 部分跟进: 省略不必要代码 大家可以载入OD后对照即可~~
Part 1
00407138 |. 8B41 F8 MOV EAX,DWORD PTR DS:[ECX-8]
0040713B |. 83F8 02 CMP EAX,2
0040713E |. 0F8C 2C030000 JL Screensh.00407470
00407144 |. 8B5424 44 MOV EDX,DWORD PTR SS:[ESP+44]
00407148 |. 837A F8 18 CMP DWORD PTR DS:[EDX-8],18 ; 注册码的位数与24做比较
0040714C |. 0F85 1E030000 JNZ Screensh.00407470 ; 注册码位数不等于24跳走
00407152 |. 8D4424 30 LEA EAX,DWORD PTR SS:[ESP+30]
00407156 |. 6A 01 PUSH 1
Part 2
0040731B |. E8 8AF80800 CALL Screensh.00496BAA ; \Screensh.00496BAA
00407320 |. 83C4 08 ADD ESP,8
00407323 |. 85C0 TEST EAX,EAX
00407325 EB 0E JMP SHORT Screensh.00407335 ; 暴破点1 JE修改为JMP 从下放的JMP来看 这里必须要跳走
00407327 |. C64424 3C 0A MOV BYTE PTR SS:[ESP+3C],0A
0040732C |. 8D4C24 10 LEA ECX,DWORD PTR SS:[ESP+10]
00407330 |. E9 F0000000 JMP Screensh.00407425
00407335 |> 8B4C24 1C MOV ECX,DWORD PTR SS:[ESP+1C]
Part 3
004073E9 |. 3BFA CMP EDI,EDX
004073EB EB 0B JMP SHORT Screensh.004073F8 ; 破点2 JE修改为JMP 从下放的JMP来看 这里必须要跳走
004073ED |. C64424 3C 0A MOV BYTE PTR SS:[ESP+3C],0A
004073F2 |. 8D4C24 10 LEA ECX,DWORD PTR SS:[ESP+10]
004073F6 |. EB 2D JMP SHORT Screensh.00407425
Part 4
00407419 |. 8D4C24 10 LEA ECX,DWORD PTR SS:[ESP+10]
0040741D |. 3BEA CMP EBP,EDX
0040741F E9 8E000000 JMP Screensh.004074B2 ; 暴破点3 JE修改为JMP(这里是否需要修改 从下方来判断)
00407424 90 NOP
00407425 |> E8 D7690F00 CALL Screensh.004FDE01
0040742A |. 8D4C24 14 LEA ECX,DWORD PTR SS:[ESP+14]
Part 4 修改依据
00407522 |. E8 DA680F00 CALL Screensh.004FDE01
00407527 |. 8D4C24 48 LEA ECX,DWORD PTR SS:[ESP+48]
0040752B |. C74424 3C FFF>MOV DWORD PTR SS:[ESP+3C],-1
00407533 |. E8 C9680F00 CALL Screensh.004FDE01
00407538 |. B0 01 MOV AL,1 ; 看到这里的将1赋值给AL了没?说明上方的跳转(暴破点3 )经过这里才能注册成功~
0040753A |> 8B4C24 34 MOV ECX,DWORD PTR SS:[ESP+34]
尾声:注册信息保存位置
00430799 > \8D4C24 10 LEA ECX,DWORD PTR SS:[ESP+10]
0043079D . 51 PUSH ECX ; /pHandle
0043079E . 68 C4615800 PUSH Screensh.005861C4 ; |software\microsoft\windows\windowsce (注册信息保存到这里)
004307A3 . 68 02000080 PUSH 80000002 ; |hKey = HKEY_LOCAL_MACHINE
004307A8 . FF15 00905300 CALL DWORD PTR DS:[<&ADVAPI32.RegCreateK>; \RegCreateKeyA
[ 本帖最后由 Nisy 于 2006-8-29 23:01 编辑 ] |
评分
-
查看全部评分
|