忽略算法观察法快速暴破Quick Screenshot Maker
忽略算法观察法快速暴破Quick Screenshot Maker此帖为 破解基础入门系列--Nisy制作整理的一部分
对于很多软件,非明码比较或是添加暗桩,我们只能跟进算法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 0AMOV 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 0AMOV 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
http://www.d4s.cn/attachments/day_060822/Nisy_4xgLsQ1mzVkU.gif
[ 本帖最后由 Nisy 于 2006-8-29 23:01 编辑 ] 幸苦了!! 支持超版!:$ 学习领悟~!
遇上问题再问 ;) 支持下Nisy,强~ 支持爆破!!!!!!!!!
分析头晕!!!!!!!!1 学习领悟~!
遇上问题再问 老大就是厉害,强顶····· 强烈支持啊。。。 关键CALL很难找啊