Asterisk Recovery Genie追码+算法+注册分析BY傻人有傻福
【破文标题】Asterisk Recovery Genie追码+算法+注册分析BY傻人有傻福【破文作者】傻人有傻福
【作者邮箱】
【作者主页】
【破解工具】PEID+DEDE+OD
【破解平台】WINDOWS XP
【软件名称】Asterisk Recovery Genie
【软件大小】822K
【原版下载】http://www.onlinedown.net/soft/63077.htm
【保护方式】注册码+重启验证
【软件简介】是一款密码恢复软件,在你忘记密码的时候他很有用的.包括自动显示ie浏览器里form中的*字符等,支持多语言密码。
【破解声明】只为讨论、学习与分享破解技术,勿用于非法用途,请多多支持软件开发者!
------------------------------------------------------------------------
强烈建议大家先看下我写的破解总结
【破解过程】 拿到软件先查壳:Delphi程序,无壳。DEDE出手,查得注册事件地址在0048AAF4。OD载入,在0048AAF4下断,代码如下:(只选取比较有用的代码)
0048AB1C|.8B45 F8 mov eax, ;取用户名
0048AB1F|.8D55 FC lea edx,
0048AB22|.E8 F1D4F7FF call Asterisk.00408018
0048AB27|.8B45 FC mov eax,
0048AB2A|.E8 3598F7FF call Asterisk.00404364
0048AB2F|.85C0 test eax,eax ;判断是否输入用户名
0048AB31|.75 1A jnz short Asterisk.0048AB4D
0048AB33|.B8 ECAB4800 mov eax,Asterisk.0048ABEC ;ASCII "Please input regname!"
0048AB38|.E8 27EEF9FF call Asterisk.00429964
0048AB3D|.8B83 0C030000 mov eax,dword ptr ds:
0048AB43|.8B10 mov edx,dword ptr ds:
0048AB45|.FF92 C4000000 call dword ptr ds:
0048AB4B|.EB 5D jmp short Asterisk.0048ABAA
0048AB4D|>8D55 F0 lea edx,
0048AB50|.8B83 14030000 mov eax,dword ptr ds:
0048AB56|.E8 C1B6FBFF call Asterisk.0044621C
0048AB5B|.8B45 F0 mov eax, ;取注册码
0048AB5E|.8D55 F4 lea edx,
0048AB61|.E8 B2D4F7FF call Asterisk.00408018
0048AB66|.8B45 F4 mov eax,
0048AB69|.E8 F697F7FF call Asterisk.00404364
0048AB6E|.85C0 test eax,eax ;判断是否输入注册码
0048AB70|.75 1A jnz short Asterisk.0048AB8C
0048AB72|.B8 0CAC4800 mov eax,Asterisk.0048AC0C ;ASCII "Please input regcode!"
0048AB77|.E8 E8EDF9FF call Asterisk.00429964
0048AB7C|.8B83 14030000 mov eax,dword ptr ds:
0048AB82|.8B10 mov edx,dword ptr ds:
0048AB84|.FF92 C4000000 call dword ptr ds:
0048AB8A|.EB 1E jmp short Asterisk.0048ABAA
0048AB8C|>8BC3 mov eax,ebx
0048AB8E|.E8 31FEFFFF call Asterisk.0048A9C4 ;关键CALL
0048AB93|.84C0 test al,al
0048AB95|.74 09 je short Asterisk.0048ABA0
0048AB97|.8BC3 mov eax,ebx
0048AB99|.E8 0AFDFFFF call Asterisk.0048A8A8
0048AB9E|.EB 0A jmp short Asterisk.0048ABAA
0048ABA0|>B8 2CAC4800 mov eax,Asterisk.0048AC2C ;ASCII "Regcode error!"
------------------------------------------------------------------------------------------------------
我们跟进上面的关键CALL来看看:(也是选取了比较有用的部分)
0048A9EE|.8B45 F8 mov eax, ;取假码
0048A9F1|.8D55 FC lea edx,
0048A9F4|.E8 1FD6F7FF call Asterisk.00408018
0048A9F9|.8B45 FC mov eax, ;取假码
0048A9FC|.50 push eax
0048A9FD|.8D55 EC lea edx,
0048AA00|.8B86 0C030000 mov eax,dword ptr ds:
0048AA06|.E8 11B8FBFF call Asterisk.0044621C
0048AA0B|.8B45 EC mov eax, ;取用户名
0048AA0E|.8D55 F0 lea edx,
0048AA11|.E8 02D6F7FF call Asterisk.00408018
0048AA16|.8B55 F0 mov edx, ;取用户名
0048AA19|.8D4D F4 lea ecx,
0048AA1C|.8BC6 mov eax,esi
0048AA1E|.E8 91FCFFFF call Asterisk.0048A6B4 ;算法CALL
0048AA23|.8B55 F4 mov edx, ;出现真码
0048AA26|.58 pop eax
0048AA27|.E8 849AF7FF call Asterisk.004044B0 ;可以做内存注册机的地方
0048AA2C|.75 1C jnz short Asterisk.0048AA4A
0048AA2E|.B3 01 mov bl,1
0048AA30|.8BC6 mov eax,esi
0048AA32|.E8 71FEFFFF call Asterisk.0048A8A8
0048AA37|.B8 98AA4800 mov eax,Asterisk.0048AA98 ;ASCII "Register success!"
-----------------------------------------------------------------------------------------------------
我们再来看看算法CALL吧:(这次是比较完整的)
0048A6B4/$55 push ebp
0048A6B5|.8BEC mov ebp,esp
0048A6B7|.51 push ecx
0048A6B8|.B9 04000000 mov ecx,4
0048A6BD|>6A 00 /push 0
0048A6BF|.6A 00 |push 0
0048A6C1|.49 |dec ecx
0048A6C2|.^ 75 F9 \jnz short Asterisk.0048A6BD
0048A6C4|.51 push ecx
0048A6C5|.874D FC xchg ,ecx
0048A6C8|.53 push ebx
0048A6C9|.56 push esi
0048A6CA|.57 push edi
0048A6CB|.8BF9 mov edi,ecx
0048A6CD|.8955 FC mov ,edx
0048A6D0|.8B45 FC mov eax,
0048A6D3|.E8 7C9EF7FF call Asterisk.00404554
0048A6D8|.33C0 xor eax,eax
0048A6DA|.55 push ebp
0048A6DB|.68 75A84800 push Asterisk.0048A875
0048A6E0|.64:FF30 push dword ptr fs:
0048A6E3|.64:8920 mov dword ptr fs:,esp
0048A6E6|.8BC7 mov eax,edi
0048A6E8|.E8 B799F7FF call Asterisk.004040A4
0048A6ED|.8B45 FC mov eax,
0048A6F0|.E8 6F9CF7FF call Asterisk.00404364
0048A6F5|.8BF0 mov esi,eax
0048A6F7|.85F6 test esi,esi
0048A6F9|.7E 26 jle short Asterisk.0048A721
0048A6FB|.BB 01000000 mov ebx,1
0048A700|>8D4D EC /lea ecx,
0048A703|.8B45 FC |mov eax,
0048A706|.0FB64418 FF |movzx eax,byte ptr ds:
0048A70B|.33D2 |xor edx,edx
0048A70D|.E8 82DCF7FF |call Asterisk.00408394
0048A712|.8B55 EC |mov edx,
0048A715|.8D45 F8 |lea eax,
0048A718|.E8 4F9CF7FF |call Asterisk.0040436C
0048A71D|.43 |inc ebx
0048A71E|.4E |dec esi
0048A71F|.^ 75 DF \jnz short Asterisk.0048A700
0048A721|>8B45 F8 mov eax, ;用户名的ASCII码连在一起
0048A724|.E8 3B9CF7FF call Asterisk.00404364 ;取用户名ASCII码的位数
0048A729|.8BF0 mov esi,eax
0048A72B|.85F6 test esi,esi
0048A72D|.7E 2C jle short Asterisk.0048A75B
0048A72F|.BB 01000000 mov ebx,1
0048A734|>8B45 F8 /mov eax,
0048A737|.E8 289CF7FF |call Asterisk.00404364 ;还是取用户名ASCII码位数
0048A73C|.2BC3 |sub eax,ebx
0048A73E|.8B55 F8 |mov edx,
0048A741|.8A1402 |mov dl,byte ptr ds:
0048A744|.8D45 E8 |lea eax,
0048A747|.E8 409BF7FF |call Asterisk.0040428C
0048A74C|.8B55 E8 |mov edx,
0048A74F|.8D45 F4 |lea eax,
0048A752|.E8 159CF7FF |call Asterisk.0040436C
0048A757|.43 |inc ebx
0048A758|.4E |dec esi
0048A759|.^ 75 D9 \jnz short Asterisk.0048A734
0048A75B|>8D45 F8 lea eax,
0048A75E|.50 push eax
0048A75F|.B9 04000000 mov ecx,4
0048A764|.BA 01000000 mov edx,1
0048A769|.8B45 F4 mov eax, ;用户名ASCII顺序颠倒
0048A76C|.E8 539EF7FF call Asterisk.004045C4
0048A771|.8D45 F4 lea eax,
0048A774|.50 push eax
0048A775|.B9 04000000 mov ecx,4
0048A77A|.BA 05000000 mov edx,5
0048A77F|.8B45 F4 mov eax,
0048A782|.E8 3D9EF7FF call Asterisk.004045C4
0048A787|.8B45 F8 mov eax, ;取前4位
0048A78A|.E8 D59BF7FF call Asterisk.00404364
0048A78F|.83F8 04 cmp eax,4
0048A792|.7D 2F jge short Asterisk.0048A7C3
0048A794|.8B45 F8 mov eax,
0048A797|.E8 C89BF7FF call Asterisk.00404364
0048A79C|.8BD8 mov ebx,eax
0048A79E|.83FB 03 cmp ebx,3
0048A7A1|.7F 20 jg short Asterisk.0048A7C3
0048A7A3|>8D4D E4 /lea ecx,
0048A7A6|.8BC3 |mov eax,ebx
0048A7A8|.C1E0 02 |shl eax,2
0048A7AB|.33D2 |xor edx,edx
0048A7AD|.E8 E2DBF7FF |call Asterisk.00408394
0048A7B2|.8B55 E4 |mov edx,
0048A7B5|.8D45 F8 |lea eax,
0048A7B8|.E8 AF9BF7FF |call Asterisk.0040436C
0048A7BD|.43 |inc ebx
0048A7BE|.83FB 04 |cmp ebx,4
0048A7C1|.^ 75 E0 \jnz short Asterisk.0048A7A3
0048A7C3|>8B45 F4 mov eax, ;再取4位
0048A7C6|.E8 999BF7FF call Asterisk.00404364
0048A7CB|.83F8 04 cmp eax,4
0048A7CE|.7D 2F jge short Asterisk.0048A7FF
0048A7D0|.8B45 F4 mov eax,
0048A7D3|.E8 8C9BF7FF call Asterisk.00404364
0048A7D8|.8BD8 mov ebx,eax
0048A7DA|.83FB 03 cmp ebx,3
0048A7DD|.7F 20 jg short Asterisk.0048A7FF
0048A7DF|>8D4D E0 /lea ecx,
0048A7E2|.8BC3 |mov eax,ebx
0048A7E4|.C1E0 02 |shl eax,2
0048A7E7|.33D2 |xor edx,edx
0048A7E9|.E8 A6DBF7FF |call Asterisk.00408394
0048A7EE|.8B55 E0 |mov edx,
0048A7F1|.8D45 F4 |lea eax,
0048A7F4|.E8 739BF7FF |call Asterisk.0040436C
0048A7F9|.43 |inc ebx
0048A7FA|.83FB 04 |cmp ebx,4
0048A7FD|.^ 75 E0 \jnz short Asterisk.0048A7DF
0048A7FF|>8D45 F0 lea eax,
0048A802|.BA 8CA84800 mov edx,Asterisk.0048A88C ;ASCII "Astris58ef88e"
0048A807|.E8 3099F7FF call Asterisk.0040413C
0048A80C|.8D45 DC lea eax,
0048A80F|.50 push eax
0048A810|.B9 04000000 mov ecx,4
0048A815|.BA 01000000 mov edx,1
0048A81A|.8B45 F0 mov eax, ;上面那个字符串
0048A81D|.E8 A29DF7FF call Asterisk.004045C4
0048A822|.FF75 DC push ;取那个字符串前4位
0048A825|.68 A4A84800 push Asterisk.0048A8A4
0048A82A|.FF75 F8 push ;取用户名ASCII前4位
0048A82D|.8D45 D8 lea eax,
0048A830|.50 push eax
0048A831|.B9 05000000 mov ecx,5
0048A836|.BA 05000000 mov edx,5
0048A83B|.8B45 F0 mov eax, ;还是取上面那个字符串
0048A83E|.E8 819DF7FF call Asterisk.004045C4
0048A843|.FF75 D8 push ;取那个字符串接着的5位
0048A846|.68 A4A84800 push Asterisk.0048A8A4
0048A84B|.FF75 F4 push ;取用户名ASCII码再来4位
0048A84E|.8BC7 mov eax,edi
0048A850|.BA 06000000 mov edx,6
0048A855|.E8 CA9BF7FF call Asterisk.00404424
0048A85A|.33C0 xor eax,eax
0048A85C|.5A pop edx
0048A85D|.59 pop ecx
0048A85E|.59 pop ecx
0048A85F|.64:8910 mov dword ptr fs:,edx
0048A862|.68 7CA84800 push Asterisk.0048A87C
0048A867|>8D45 D8 lea eax,
0048A86A|.BA 0A000000 mov edx,0A
0048A86F|.E8 5498F7FF call Asterisk.004040C8
0048A874\.C3 retn
------------------------------------------------------------------------------------------------------
算法总结:把用户名转成ASCII码,比如说你的用户名是PYGPYG 算法就是先把PYGPYG变成505947505947 P的ASCII值是50 Y的ASCII值是59 G的ASCII值是47。这样之后再把这串字符串颠倒变成749805749505,分别与软件内置的字符串进行拼接,拼接的方法是:Astris58ef88e这个字符串取分别取前4位Astr,中间5位is58e;用户名ASCII串颠倒后先取前4位,再取中间4位,拼接成Astr-7498is58e-0574这种形式。
本以为算法都出来了应该就解决了,可是有了一些意外。软件重新启动后提示注册码不合法请重新购买,真是有点好笑啊,算法都解决了怎么还有问题呢?我们接着来分析一下,软件重新启动后提示注册码不合法,这证明软件在启动时读取了注册码,那这个注册码放在哪里呢?先来看最一般的情况,软件是放在注册表中吗?我们在注册表中搜索一下刚才的注册码,找到了,键名为Pass。好,我们OD载入查找一下这个Pass。
我们找到2处,一处是0048A933,这里是存注册码的地方,另一处是0048BFC6,这里就是软件启动时读取的位置了,我们来看一下这部分的代码:(选取比较有用的地方)
0048C0EC .E8 D384F7FF call Asterisk.004045C4
0048C0F1 .8B45 C8 mov eax,dword ptr ss: ;取用户名前2位
0048C0F4 .BA 9CC34800 mov edx,Asterisk.0048C39C ;ASCII "As"
0048C0F9 .E8 B283F7FF call Asterisk.004044B0
0048C0FE 75 4C jnz short Asterisk.0048C14C ;比较用户名前两位是不是As
0048C100 .8B45 FC mov eax,dword ptr ss:
0048C103 .8B80 90030000 mov eax,dword ptr ds:
0048C109 .E8 5682F7FF call Asterisk.00404364 ;取用户名位数
0048C10E .83F8 04 cmp eax,4 ;比较用户名是否为4位
0048C111 75 39 jnz short Asterisk.0048C14C
0048C113 .8B45 FC mov eax,dword ptr ss:
0048C116 .C680 8C030000 00 mov byte ptr ds:,0
0048C11D .BA A8C34800 mov edx,Asterisk.0048C3A8 ;ASCII "Asterisk Recovery Genie V1.20"
0048C122 .8B45 FC mov eax,dword ptr ss:
0048C125 .E8 22A1FBFF call Asterisk.0044624C
0048C12A .8B45 FC mov eax,dword ptr ss:
0048C12D .8B80 58030000 mov eax,dword ptr ds:
0048C133 .33D2 xor edx,edx
0048C135 .E8 1672FCFF call Asterisk.00453350
0048C13A .8B45 FC mov eax,dword ptr ss:
0048C13D .8B80 54030000 mov eax,dword ptr ds:
0048C143 .33D2 xor edx,edx
0048C145 .E8 C2C8FCFF call Asterisk.00458A0C
0048C14A .EB 3F jmp short Asterisk.0048C18B
0048C14C >8B45 FC mov eax,dword ptr ss:
0048C14F .C680 8C030000 01 mov byte ptr ds:,1
0048C156 .8B45 FC mov eax,dword ptr ss:
0048C159 .8B80 1C030000 mov eax,dword ptr ds:
0048C15F .33D2 xor edx,edx
0048C161 .E8 E26EFCFF call Asterisk.00453048
0048C166 .8B45 FC mov eax,dword ptr ss:
0048C169 .8B80 2C030000 mov eax,dword ptr ds:
0048C16F .33D2 xor edx,edx
0048C171 .E8 D26EFCFF call Asterisk.00453048
0048C176 .6A 00 push 0 ; /Arg1 = 00000000
0048C178 .66:8B0D C8C34800 mov cx,word ptr ds: ; |
0048C17F .B2 03 mov dl,3 ; |
0048C181 .B8 D4C34800 mov eax,Asterisk.0048C3D4 ; |ASCII "RegCode is invalid,You must buy it again!"
0048C186 .E8 E1D6F9FF call Asterisk.0042986C ; \Asterisk.0042986C
0048C18B >8B45 FC mov eax,dword ptr ss:
0048C18E .80B8 8C030000 00 cmp byte ptr ds:,0
0048C195 .0F84 EE000000 je Asterisk.0048C289
0048C19B .DD45 E0 fld qword ptr ss:
0048C19E .DC65 E8 fsub qword ptr ss:
0048C1A1 .DD5D D8 fstp qword ptr ss:
0048C1A4 .9B wait
0048C1A5 .D905 00C44800 fld dword ptr ds:
0048C1AB .DC65 D8 fsub qword ptr ss:
0048C1AE .E8 C968F7FF call Asterisk.00402A7C
0048C1B3 .8BD8 mov ebx,eax
0048C1B5 .8B45 FC mov eax,dword ptr ss:
0048C1B8 .8998 98030000 mov dword ptr ds:,ebx
0048C1BE .85DB test ebx,ebx
0048C1C0 .7D 0B jge short Asterisk.0048C1CD
0048C1C2 .8B45 FC mov eax,dword ptr ss:
0048C1C5 .33D2 xor edx,edx
0048C1C7 .8990 98030000 mov dword ptr ds:,edx
0048C1CD >68 0CC44800 push Asterisk.0048C40C ;ASCII "Asterisk Recovery Genie V1.20 (No register, "
0048C1D2 .8B45 FC mov eax,dword ptr ss:
0048C1D5 .DB80 98030000 fild dword ptr ds:
0048C1DB .83C4 F4 add esp,-0C
0048C1DE .DB3C24 fstp tbyte ptr ss: ; |
0048C1E1 .9B wait ; |
0048C1E2 .8D45 C0 lea eax,dword ptr ss: ; |
0048C1E5 .E8 2AD5F7FF call Asterisk.00409714 ; \Asterisk.00409714
0048C1EA .FF75 C0 push dword ptr ss:
0048C1ED .68 44C44800 push Asterisk.0048C444 ;ASCII " days left)"
0048C1F2 .8D45 C4 lea eax,dword ptr ss:
0048C1F5 .BA 03000000 mov edx,3
0048C1FA .E8 2582F7FF call Asterisk.00404424
0048C1FF .8B55 C4 mov edx,dword ptr ss:
0048C202 .8B45 FC mov eax,dword ptr ss:
0048C205 .E8 42A0FBFF call Asterisk.0044624C
0048C20A .DD45 D8 fld qword ptr ss:
0048C20D .D81D 00C44800 fcomp dword ptr ds:
0048C213 .DFE0 fstsw ax
0048C215 .9E sahf
0048C216 .77 0E ja short Asterisk.0048C226
0048C218 .DD45 D8 fld qword ptr ss:
0048C21B .D81D 50C44800 fcomp dword ptr ds:
0048C221 .DFE0 fstsw ax
0048C223 .9E sahf
0048C224 .73 63 jnb short Asterisk.0048C289
0048C226 >8B45 FC mov eax,dword ptr ss:
0048C229 .8B80 1C030000 mov eax,dword ptr ds:
0048C22F .33D2 xor edx,edx
0048C231 .E8 126EFCFF call Asterisk.00453048
0048C236 .8B45 FC mov eax,dword ptr ss:
0048C239 .8B80 2C030000 mov eax,dword ptr ds:
0048C23F .33D2 xor edx,edx
0048C241 .E8 026EFCFF call Asterisk.00453048
0048C246 .6A 24 push 24
0048C248 .68 54C44800 push Asterisk.0048C454 ;ASCII "Thank you for trying Asterisk Recovery Genie 10 days"
0048C24D .68 8CC44800 push Asterisk.0048C48C ;ASCII "Your trial period has expired,Would you like to buy Asterisk Recovery Genie?"
0048C252 .8B45 FC mov eax,dword ptr ss:
0048C255 .E8 BE08FCFF call Asterisk.0044CB18
0048C25A .50 push eax ; |hOwner
0048C25B .E8 E4A6F7FF call <jmp.&user32.MessageBoxA> ; \MessageBoxA
0048C260 .83F8 06 cmp eax,6
0048C263 .75 24 jnz short Asterisk.0048C289
0048C265 .6A 05 push 5
0048C267 .68 DCC44800 push Asterisk.0048C4DC
0048C26C .68 DCC44800 push Asterisk.0048C4DC
0048C271 .68 E0C44800 push Asterisk.0048C4E0 ;ASCII "https://www.qwerks.com/order/buynow.asp?ProductID=7725"
0048C276 .68 18C54800 push Asterisk.0048C518 ;ASCII "open"
0048C27B .8B45 FC mov eax,dword ptr ss:
0048C27E .E8 9508FCFF call Asterisk.0044CB18
0048C283 .50 push eax ; |hWnd
0048C284 .E8 2FC4F9FF call <jmp.&shell32.ShellExecuteA> ; \ShellExecuteA
0048C289 >8B55 F8 mov edx,dword ptr ss:
0048C28C .8B45 FC mov eax,dword ptr ss:
0048C28F .E8 20040000 call Asterisk.0048C6B4
0048C294 .8B45 FC mov eax,dword ptr ss:
0048C297 .8B80 1C030000 mov eax,dword ptr ds:
0048C29D .8078 6A 00 cmp byte ptr ds:,0
0048C2A1 .74 0B je short Asterisk.0048C2AE
0048C2A3 .8B55 F8 mov edx,dword ptr ss:
0048C2A6 .8B45 FC mov eax,dword ptr ss:
0048C2A9 .E8 4EF9FFFF call Asterisk.0048BBFC
0048C2AE >33C0 xor eax,eax
0048C2B0 .5A pop edx
0048C2B1 .59 pop ecx
0048C2B2 .59 pop ecx
0048C2B3 .64:8910 mov dword ptr fs:,edx
0048C2B6 .68 D8C24800 push Asterisk.0048C2D8
0048C2BB >8D45 C0 lea eax,dword ptr ss:
0048C2BE .BA 06000000 mov edx,6
0048C2C3 .E8 007EF7FF call Asterisk.004040C8
0048C2C8 .8D45 F0 lea eax,dword ptr ss:
0048C2CB .E8 D47DF7FF call Asterisk.004040A4
0048C2D0 .C3 retn
0048C2D1 .^ E9 4E77F7FF jmp Asterisk.00403A24
0048C2D6 .^ EB E3 jmp short Asterisk.0048C2BB
0048C2D8 .5F pop edi
0048C2D9 .5E pop esi
0048C2DA .5B pop ebx
0048C2DB .8BE5 mov esp,ebp
0048C2DD .5D pop ebp
0048C2DE .C3 retn
-------------------------------------------------------------------------------------------------------
大家看明白了吧,软件要求用户名前2位一定要是As,用户名位数一定要是4位,只要符合这两点,再加上已经弄清算法的注册码就可以了。我们从代码上可以看出用户名这部分符合条件的话就可以跳过像:软件还有10天试用,还剩多少天啊,注册码不合法,这些乱七八糟的东西,软件界面也变成了Asterisk Recovery Genie V1.20而不是Asterisk Recovery Genie V1.20 (No register)的了,打开软件看下ABOUT 也已经提示注册给我们了。这样我们就既解决了一个软件,又学习了破解,好高兴啊!
------------------------------------------------------------------------
【破解总结】 这个软件我觉得真的是教科书版的软件,它的追码,算法,重启验证都很基础,很适合我等菜鸟学习,我强烈建议看我的破文之前先自己拿这个软件练习一下,这个软件真的是学习破解的经典试练品,只有自己动手了才能学好破解,光看的话是很难看懂的,希望大家能自己动手先弄一下。
最后感谢PYG带领我走进破解学习的大门,欢迎大家有空来PYG看看!
------------------------------------------------------------------------
【版权声明】破文版权归我,转载版权归你。欢迎转载,转载请注明出处,不用注明作者了,我水平比较菜,怕丢人*^_^*
[ 本帖最后由 傻人有傻福 于 2007-12-30 13:46 编辑 ] /:017 刚买了一本加密解密,配合这里的文章,够我深刻理解了~/:018 /:001下载软件自己看一下。。。。。感谢分享
谢谢斑竹分享啊!
谢谢斑竹分享啊! /:001 /:001发现字符串追码比较简单。。
0048A9D4|.55 PUSH EBP ;此处下断
0048A9D5|.68 7FAA4800 PUSH Asterisk.0048AA7F
0048A9DA|.64:FF30 PUSH DWORD PTR FS:
0048A9DD|.64:8920 MOV DWORD PTR FS:,ESP
0048A9E0|.8D55 F8 LEA EDX,DWORD PTR SS:
0048A9E3|.8B86 14030000 MOV EAX,DWORD PTR DS:
0048A9E9|.E8 2EB8FBFF CALL Asterisk.0044621C
0048A9EE|.8B45 F8 MOV EAX,DWORD PTR SS:
0048A9F1|.8D55 FC LEA EDX,DWORD PTR SS:
0048A9F4|.E8 1FD6F7FF CALL Asterisk.00408018
0048A9F9|.8B45 FC MOV EAX,DWORD PTR SS:
0048A9FC|.50 PUSH EAX
0048A9FD|.8D55 EC LEA EDX,DWORD PTR SS:
0048AA00|.8B86 0C030000 MOV EAX,DWORD PTR DS:
0048AA06|.E8 11B8FBFF CALL Asterisk.0044621C
0048AA0B|.8B45 EC MOV EAX,DWORD PTR SS:
0048AA0E|.8D55 F0 LEA EDX,DWORD PTR SS:
0048AA11|.E8 02D6F7FF CALL Asterisk.00408018
0048AA16|.8B55 F0 MOV EDX,DWORD PTR SS:
0048AA19|.8D4D F4 LEA ECX,DWORD PTR SS:
0048AA1C|.8BC6 MOV EAX,ESI
0048AA1E|.E8 91FCFFFF CALL Asterisk.0048A6B4
0048AA23|.8B55 F4 MOV EDX,DWORD PTR SS:
0048AA26|.58 POP EAX ;F8到这里就比较真假码了 /:L/:L
又发现被忽悠了/:L 软件的加密做的确实比较简单 但很适合像我这样的菜鸟拿来做练习用
感谢楼主分享:loveliness: 发现菜鸟总是喜欢用字符串来解决问题/:011
/:001虽然这个软件字符串可以解决。。。
学习楼主的方法/:good /:good 我输入的名字“xyjk888”
我的注册码"Astr-8383is58e-83B6"
通过查找字符串完全可以找到注册码的啊^_^ 谢谢!!!:handshake :handshake
页:
[1]
2