环境:
Windows Xp sp3
打开程序,看了帮助发现要求还是看到那个logo,
但是这次少了个按钮,真棒!
但是这次的Codice却是什么都可以输入进去了。
查一下壳发现还是Delphi程序。
因为还是Delphi的程序,有了前几次的经验,一下来到这里:
0044290F . /982B4400 dd aLoNg3x_.00442B98
00442913 . |0D db 0D
00442914 . |43 61 6E 63 6>ascii "CancellaClick"
00442921 |11 db 11
00442922 |00 db 00
00442923 . |C82C4400 dd aLoNg3x_.00442CC8
00442927 . |0A db 0A
00442928 . |41 62 6F 75 7>ascii "AboutClick"
00442932 |15 db 15
00442933 |00 db 00
00442934 . |282F4400 dd aLoNg3x_.00442F28
00442938 . |0E db 0E
00442939 . |52 65 67 69 7>ascii "RegisterzClick"
00442947 |11 db 11
00442948 |00 db 00
00442949 . |BC304400 dd aLoNg3x_.004430BC
0044294D . |0A db 0A
0044294E . |41 67 61 69 6>ascii "AgainClick"
上次首先按的是Cancella这个东西,所以这次首先从这里跟进去:
00442B98 /. 55 push ebp
00442B99 |. 8BEC mov ebp,esp
00442B9B |. 6A 00 push 0x0
00442B9D |. 6A 00 push 0x0
00442B9F |. 6A 00 push 0x0
00442BA1 |. 53 push ebx
00442BA2 |. 8BD8 mov ebx,eax
00442BA4 |. 33C0 xor eax,eax
00442BA6 |. 55 push ebp
00442BA7 |. 68 9C2C4400 push aLoNg3x_.00442C9C
00442BAC |. 64:FF30 push dword ptr fs:[eax]
00442BAF |. 64:8920 mov dword ptr fs:[eax],esp
00442BB2 |. 8D55 F8 lea edx,[local.2]
00442BB5 |. 8B83 DC020000 mov eax,dword ptr ds:[ebx+0x2DC]
00442BBB |. E8 8006FEFF call aLoNg3x_.00423240 ; 将Codice读到[local.2]
00442BC0 |. 8B45 F8 mov eax,[local.2]
00442BC3 |. 50 push eax
00442BC4 |. 8D55 F4 lea edx,[local.3]
00442BC7 |. 8B83 D8020000 mov eax,dword ptr ds:[ebx+0x2D8]
00442BCD |. E8 6E06FEFF call aLoNg3x_.00423240 ; 将Nome读到local.3
00442BD2 |. 8B45 F4 mov eax,[local.3]
00442BD5 |. 5A pop edx
00442BD6 |. E8 55FFFFFF call aLoNg3x_.00442B30 ; 下面是一个跳。这里跟进去,这个跟上次的长得差不多嘛
00442BDB |. 84C0 test al,al
00442BDD |. 0F84 86000000 je aLoNg3x_.00442C69
00442BE3 |. 8D45 FC lea eax,[local.1]
00442BE6 |. BA B02C4400 mov edx,aLoNg3x_.00442CB0 ; ASCII "GREAT !!!",这个东西很刺眼啊
00442BEB |. E8 600CFCFF call aLoNg3x_.00403850 ; 这个是消息框
00442BF0 |. 8B45 FC mov eax,[local.1]
00442BF3 |. E8 78F9FFFF call aLoNg3x_.00442570
00442BF8 |. 8D45 FC lea eax,[local.1]
00442BFB |. E8 0410FCFF call aLoNg3x_.00403C04 ; 下面的内容是那个“LAMER”出来的原因
00442C00 |. 8B55 FC mov edx,[local.1]
00442C03 |. 0FB612 movzx edx,byte ptr ds:[edx]
00442C06 |. 83C2 05 add edx,0x5
00442C09 |. 8810 mov byte ptr ds:[eax],dl
00442C0B |. 8D45 FC lea eax,[local.1]
00442C0E |. E8 F10FFCFF call aLoNg3x_.00403C04
00442C13 |. 8B55 FC mov edx,[local.1]
00442C16 |. 0FB652 01 movzx edx,byte ptr ds:[edx+0x1]
00442C1A |. 83EA 11 sub edx,0x11
00442C1D |. 8850 01 mov byte ptr ds:[eax+0x1],dl
00442C20 |. 8D45 FC lea eax,[local.1]
00442C23 |. E8 DC0FFCFF call aLoNg3x_.00403C04
00442C28 |. 8B55 FC mov edx,[local.1]
00442C2B |. 0FB652 02 movzx edx,byte ptr ds:[edx+0x2]
00442C2F |. 83C2 08 add edx,0x8
00442C32 |. 8850 02 mov byte ptr ds:[eax+0x2],dl
00442C35 |. 8D45 FC lea eax,[local.1]
00442C38 |. E8 C70FFCFF call aLoNg3x_.00403C04
00442C3D |. 8B55 FC mov edx,[local.1]
00442C40 |. 0FB652 03 movzx edx,byte ptr ds:[edx+0x3]
00442C44 |. 83C2 04 add edx,0x4
00442C47 |. 8850 03 mov byte ptr ds:[eax+0x3],dl
00442C4A |. 8D45 FC lea eax,[local.1]
00442C4D |. E8 B20FFCFF call aLoNg3x_.00403C04
00442C52 |. 8B55 FC mov edx,[local.1]
00442C55 |. 0FB652 04 movzx edx,byte ptr ds:[edx+0x4]
00442C59 |. 83EA 02 sub edx,0x2
00442C5C |. 8850 04 mov byte ptr ds:[eax+0x4],dl
00442C5F |. 8B45 FC mov eax,[local.1]
00442C62 |. E8 09F9FFFF call aLoNg3x_.00442570 ; 看这里就是那个“LAMER”弹出消息框的地方了
00442C67 |. EB 10 jmp XaLoNg3x_.00442C79
00442C69 |> BA C42C4400 mov edx,aLoNg3x_.00442CC4
00442C6E |. 8B83 DC020000 mov eax,dword ptr ds:[ebx+0x2DC]
00442C74 |. E8 F705FEFF call aLoNg3x_.00423270
00442C79 |> 33C0 xor eax,eax
00442C7B |. 5A pop edx
00442C7C |. 59 pop ecx
00442C7D |. 59 pop ecx
00442C7E |. 64:8910 mov dword ptr fs:[eax],edx
00442C81 |. 68 A32C4400 push aLoNg3x_.00442CA3
00442C86 |> 8D45 F4 lea eax,[local.3]
00442C89 |. BA 02000000 mov edx,0x2
00442C8E |. E8 490BFCFF call aLoNg3x_.004037DC
00442C93 |. 8D45 FC lea eax,[local.1]
00442C96 |. E8 1D0BFCFF call aLoNg3x_.004037B8
00442C9B \. C3 retn
在[00442B30]跟进去之后发现,就是一个比较,将输入的Nome和Codice比较,相同就弹框。
弹完框就没有然后了。
来到这个RegistrezClick,这个注册按钮是不是真的呢?
00442F28 /. 55 push ebp
00442F29 |. 8BEC mov ebp,esp
00442F2B |. 83C4 F8 add esp,-0x8
00442F2E |. 53 push ebx
00442F2F |. 56 push esi
00442F30 |. 33C9 xor ecx,ecx
00442F32 |. 894D F8 mov [local.2],ecx
00442F35 |. 8BD8 mov ebx,eax
00442F37 |. 33C0 xor eax,eax
00442F39 |. 55 push ebp
00442F3A |. 68 22304400 push aLoNg3x_.00443022
00442F3F |. 64:FF30 push dword ptr fs:[eax]
00442F42 |. 64:8920 mov dword ptr fs:[eax],esp
00442F45 |. 8D55 F8 lea edx,[local.2]
00442F48 |. 8B83 DC020000 mov eax,dword ptr ds:[ebx+0x2DC]
00442F4E |. E8 ED02FEFF call aLoNg3x_.00423240 ; 将Codice给到Local.2
00442F53 |. 8B45 F8 mov eax,[local.2]
00442F56 |. 8D55 FC lea edx,[local.1]
00442F59 |. E8 FAF9FBFF call aLoNg3x_.00402958 ; 这里将输入的Codice转为16进制和判断输入的Codice是不是数字
00442F5E |. 8BF0 mov esi,eax ; 将算出的16进制保存到esi
00442F60 |. 837D FC 00 cmp [local.1],0x0 ; 如果不是数字就继续往下
00442F64 |. 74 37 je XaLoNg3x_.00442F9D
00442F66 |. B8 38304400 mov eax,aLoNg3x_.00443038 ; ASCII "You MUST insert a valid Long Integer Value in the Code Editor... Thank you :)"
00442F6B |. E8 00F6FFFF call aLoNg3x_.00442570
00442F70 |. 8D55 F8 lea edx,[local.2]
00442F73 |. 8B83 DC020000 mov eax,dword ptr ds:[ebx+0x2DC]
00442F79 |. E8 C202FEFF call aLoNg3x_.00423240
00442F7E |. 8B45 F8 mov eax,[local.2]
00442F81 |. E8 06FBFFFF call aLoNg3x_.00442A8C ; 这里计算出下面那个eax的值
00442F86 |. A3 30584400 mov dword ptr ds:[0x445830],eax ; 这里有个赋值给[445830]的,eax值从上面来
00442F8B |. BA 90304400 mov edx,aLoNg3x_.00443090
00442F90 |. 8B83 DC020000 mov eax,dword ptr ds:[ebx+0x2DC]
00442F96 |. E8 D502FEFF call aLoNg3x_.00423270
00442F9B |. EB 6F jmp XaLoNg3x_.0044300C ; 如果不是数字的话执行到这里就跳走,那么上面赋值一定要在不是数字这个情况下发生
00442F9D |> 85F6 test esi,esi ; 如果Codice是数字就来到这里,看看计算结果,esi小于0就跳
00442F9F |. 7E 5A jle XaLoNg3x_.00442FFB
00442FA1 |. 8D55 F8 lea edx,[local.2]
00442FA4 |. 8B83 D8020000 mov eax,dword ptr ds:[ebx+0x2D8]
00442FAA |. E8 9102FEFF call aLoNg3x_.00423240 ;
00442FAF |. 8B4D F8 mov ecx,[local.2]
00442FB2 |. 8BD6 mov edx,esi
00442FB4 |. A1 30584400 mov eax,dword ptr ds:[0x445830] ; 这里要从[445830]取值了
00442FB9 |. E8 EAF9FFFF call aLoNg3x_.004429A8 ; 这里要跟进去
00442FBE |. 84C0 test al,al
00442FC0 |. 74 30 je XaLoNg3x_.00442FF2
00442FC2 |. 33D2 xor edx,edx
00442FC4 |. 8B83 CC020000 mov eax,dword ptr ds:[ebx+0x2CC]
00442FCA |. E8 6101FEFF call aLoNg3x_.00423130
00442FCF |. B2 01 mov dl,0x1
00442FD1 |. 8B83 E8020000 mov eax,dword ptr ds:[ebx+0x2E8]
00442FD7 |. E8 5401FEFF call aLoNg3x_.00423130
00442FDC |. 33D2 xor edx,edx
00442FDE |. 8B83 D8020000 mov eax,dword ptr ds:[ebx+0x2D8]
00442FE4 |. 8B08 mov ecx,dword ptr ds:[eax]
00442FE6 |. FF51 60 call dword ptr ds:[ecx+0x60]
00442FE9 |. 33C0 xor eax,eax
00442FEB |. A3 30584400 mov dword ptr ds:[0x445830],eax
00442FF0 |. EB 1A jmp XaLoNg3x_.0044300C
00442FF2 |> 33C0 xor eax,eax
00442FF4 |. A3 30584400 mov dword ptr ds:[0x445830],eax
00442FF9 |. EB 11 jmp XaLoNg3x_.0044300C
00442FFB |> B8 9C304400 mov eax,aLoNg3x_.0044309C ; ASCII "Please... The Code Must be > 0"
00443000 |. E8 6BF5FFFF call aLoNg3x_.00442570
00443005 |. 33C0 xor eax,eax
00443007 |. A3 30584400 mov dword ptr ds:[0x445830],eax
0044300C |> 33C0 xor eax,eax
0044300E |. 5A pop edx
0044300F |. 59 pop ecx
00443010 |. 59 pop ecx
00443011 |. 64:8910 mov dword ptr fs:[eax],edx
00443014 |. 68 29304400 push aLoNg3x_.00443029
00443019 |> 8D45 F8 lea eax,[local.2]
0044301C |. E8 9707FCFF call aLoNg3x_.004037B8
00443021 \. C3 retn
在[004429A8]跟了进去:
004429A8 /$ 55 push ebp
004429A9 |. 8BEC mov ebp,esp
004429AB |. 83C4 F4 add esp,-0xC
004429AE |. 53 push ebx
004429AF |. 56 push esi
004429B0 |. 57 push edi
004429B1 |. 894D F8 mov [local.2],ecx
004429B4 |. 8955 FC mov [local.1],edx ; 这个edx的值是进来这个函数的前2条语句赋值,
004429B7 |. 8BF8 mov edi,eax ; eax的值是[445830],进函数前赋的值
004429B9 |. 8B45 F8 mov eax,[local.2]
004429BC |. E8 2712FCFF call aLoNg3x_.00403BE8
004429C1 |. 33C0 xor eax,eax
004429C3 |. 55 push ebp
004429C4 |. 68 7A2A4400 push aLoNg3x_.00442A7A
004429C9 |. 64:FF30 push dword ptr fs:[eax]
004429CC |. 64:8920 mov dword ptr fs:[eax],esp
004429CF |. 8B45 F8 mov eax,[local.2]
004429D2 |. E8 5D10FCFF call aLoNg3x_.00403A34 ; 获得Nome的长度
004429D7 |. 83F8 04 cmp eax,0x4 ; Nome的长度要大于4
004429DA |. 0F8E 82000000 jle aLoNg3x_.00442A62
004429E0 |. 33DB xor ebx,ebx
004429E2 |. 8B45 F8 mov eax,[local.2]
004429E5 |. E8 4A10FCFF call aLoNg3x_.00403A34 ; 获得Nome的长度
004429EA |. 85C0 test eax,eax
004429EC |. 7E 38 jle XaLoNg3x_.00442A26
004429EE |. 8945 F4 mov [local.3],eax
004429F1 |. BE 01000000 mov esi,0x1
004429F6 |> 8B45 F8 /mov eax,[local.2]
004429F9 |. E8 3610FCFF |call aLoNg3x_.00403A34
004429FE |. 83F8 01 |cmp eax,0x1
00442A01 |. 7C 1D |jl XaLoNg3x_.00442A20
00442A03 |> 8B55 F8 |/mov edx,[local.2]
00442A06 |. 0FB65432 FF ||movzx edx,byte ptr ds:[edx+esi-0x1]
00442A0B |. 8B4D F8 ||mov ecx,[local.2]
00442A0E |. 0FB64C01 FF ||movzx ecx,byte ptr ds:[ecx+eax-0x1]
00442A13 |. 0FAFD1 ||imul edx,ecx
00442A16 |. 0FAFD7 ||imul edx,edi ; 这里用上了edi的值,也就是[445830]的值
00442A19 |. 03DA ||add ebx,edx
00442A1B |. 48 ||dec eax
00442A1C |. 85C0 ||test eax,eax
00442A1E |.^ 75 E3 |\jnz XaLoNg3x_.00442A03
00442A20 |> 46 |inc esi
00442A21 |. FF4D F4 |dec [local.3]
00442A24 |.^ 75 D0 \jnz XaLoNg3x_.004429F6 ; 上面的循环内容是:将每一个字符与整个字符串相乘
00442A26 |> 8BC3 mov eax,ebx ; 保存计算结果
00442A28 |. 99 cdq ; edx清0
00442A29 |. 33C2 xor eax,edx ; eax不变
00442A2B |. 2BC2 sub eax,edx
00442A2D |. B9 2A2C0A00 mov ecx,0xA2C2A
00442A32 |. 99 cdq
00442A33 |. F7F9 idiv ecx
00442A35 |. 8BDA mov ebx,edx ; 保存余数k2
00442A37 |. 8B45 FC mov eax,[local.1]
00442A3A |. B9 59000000 mov ecx,0x59
00442A3F |. 99 cdq
00442A40 |. F7F9 idiv ecx
00442A42 |. 8BC8 mov ecx,eax ; 商
00442A44 |. 8B45 FC mov eax,[local.1]
00442A47 |. BE 50000000 mov esi,0x50
00442A4C |. 99 cdq
00442A4D |. F7FE idiv esi
00442A4F |. 03CA add ecx,edx ; 余数加上ecx
00442A51 |. 41 inc ecx ; ecx再加1
00442A52 |. 894D FC mov [local.1],ecx ; 设此时ecx的值为k1
00442A55 |. 3B5D FC cmp ebx,[local.1] ; k1与k2比较
00442A58 |. 75 04 jnz XaLoNg3x_.00442A5E ; 不相等就跳
00442A5A |. B3 01 mov bl,0x1 ; 如果这里执行了,函数外面的跳转才不会执行
00442A5C |. EB 06 jmp XaLoNg3x_.00442A64
00442A5E |> 33DB xor ebx,ebx
00442A60 |. EB 02 jmp XaLoNg3x_.00442A64 ; 省略后面内容
由上面计算的过程得到:
设:
Nome输入的内容为字符串数组Name
Name的长度是L
k1是一开始[local.1]的值,也就是edx的值。
k2是计算结果,有:
k2 = 0
x[i] = Name[i]*Name[t]*[445830] t的取值范围是[0,L-1]
k2 += x[i] i的取值范围是[0,L-1]
(这里是二重循环)
k2 %= 0xA2C2A
k1 = (k1/0x59)+(k1%0x50)+1
最后比较k2和k1是否相同。
至于[445830]的值是从哪里来?上面有讲。跟进去看看是怎么来的[00442A8C]:
00442A8C /$ 55 push ebp
00442A8D |. 8BEC mov ebp,esp
00442A8F |. 51 push ecx
00442A90 |. 53 push ebx
00442A91 |. 56 push esi
00442A92 |. 57 push edi
00442A93 |. 8945 FC mov [local.1],eax
00442A96 |. 8B45 FC mov eax,[local.1]
00442A99 |. E8 4A11FCFF call aLoNg3x_.00403BE8
00442A9E |. 33C0 xor eax,eax
00442AA0 |. 55 push ebp
00442AA1 |. 68 212B4400 push aLoNg3x_.00442B21
00442AA6 |. 64:FF30 push dword ptr fs:[eax]
00442AA9 |. 64:8920 mov dword ptr fs:[eax],esp
00442AAC |. 8B45 FC mov eax,[local.1]
00442AAF |. E8 800FFCFF call aLoNg3x_.00403A34 ; 计算个数
00442AB4 |. 83F8 05 cmp eax,0x5 ; Codice要大于5个字符
00442AB7 |. 7E 3D jle XaLoNg3x_.00442AF6
00442AB9 |. BE 7B030000 mov esi,0x37B
00442ABE |. 8B45 FC mov eax,[local.1]
00442AC1 |. E8 6E0FFCFF call aLoNg3x_.00403A34
00442AC6 |. 8BD8 mov ebx,eax
00442AC8 |. 4B dec ebx ; 设置循环次数
00442AC9 |. 85DB test ebx,ebx
00442ACB |. 7E 2B jle XaLoNg3x_.00442AF8
00442ACD |. B9 01000000 mov ecx,0x1
00442AD2 |> 8B45 FC /mov eax,[local.1]
00442AD5 |. 0FB60408 |movzx eax,byte ptr ds:[eax+ecx]
00442AD9 |. BF 11000000 |mov edi,0x11
00442ADE |. 33D2 |xor edx,edx
00442AE0 |. F7F7 |div edi
00442AE2 |. 42 |inc edx
00442AE3 |. 8B45 FC |mov eax,[local.1]
00442AE6 |. 0FB64408 FF |movzx eax,byte ptr ds:[eax+ecx-0x1]
00442AEB |. 0FAFD0 |imul edx,eax
00442AEE |. 03F2 |add esi,edx
00442AF0 |. 41 |inc ecx
00442AF1 |. 4B |dec ebx
00442AF2 |.^ 75 DE \jnz XaLoNg3x_.00442AD2 ; 通过上面部分算出一个值X
00442AF4 |. EB 02 jmp XaLoNg3x_.00442AF8
00442AF6 |> 33F6 xor esi,esi
00442AF8 |> 8BC6 mov eax,esi
00442AFA |. B9 48710000 mov ecx,0x7148 ;
00442AFF |. 99 cdq
00442B00 |. F7F9 idiv ecx
00442B02 |. 8BC2 mov eax,edx ; eax = x % 0x7148
00442B04 |. 99 cdq ; 使得edx清0
00442B05 |. 33C2 xor eax,edx ; eax不变
00442B07 |. 2BC2 sub eax,edx ; eax还是不变
00442B09 |. 8BD8 mov ebx,eax
00442B0B |. 33C0 xor eax,eax
这样就得到了[445830]的值是怎么算出来的。
由于输入的Codice不是数字才能使的[445830]的值不为0,然后就可以计算出上面的k1的值应为多少了
根据上面内容很容易就得到:
设:
Nome输入的内容为:ABCDEF
Codice输入的内容为:ABCDEF
按Registerz,弹出个错误窗口。点确定,因为弹出了这个窗口,才能使得[445830]的值不为0,这个值是通过
Codice的内容算出来的。点走错误窗口后,Codice青0,根据上面的计算过程,可以通过Nome的内容
得出k2的值,然后穷举,找到1个符合要求的k1,这个k1不唯一。
k1:1696639
将k1输入到Codice里面,然后点Registerz,界面发生了变化,again按钮出来了,Registerz窗口就不见了。
跟到AgainClick事件的话发现内容是和Registerz的内容差不多的。
004430BC /. 55 push ebp
004430BD |. 8BEC mov ebp,esp
004430BF |. 6A 00 push 0x0
004430C1 |. 6A 00 push 0x0
004430C3 |. 6A 00 push 0x0
004430C5 |. 53 push ebx
004430C6 |. 56 push esi
004430C7 |. 8BD8 mov ebx,eax
004430C9 |. 33C0 xor eax,eax
004430CB |. 55 push ebp
004430CC |. 68 2D324400 push aLoNg3x_.0044322D
004430D1 |. 64:FF30 push dword ptr fs:[eax]
004430D4 |. 64:8920 mov dword ptr fs:[eax],esp
004430D7 |. 8D55 F4 lea edx,[local.3]
004430DA |. 8B83 DC020000 mov eax,dword ptr ds:[ebx+0x2DC]
004430E0 |. E8 5B01FEFF call aLoNg3x_.00423240 ; 将Codiece读到local.3
004430E5 |. 8B45 F4 mov eax,[local.3]
004430E8 |. 8D55 FC lea edx,[local.1]
004430EB |. E8 68F8FBFF call aLoNg3x_.00402958 ; 用于将Codice转为16进制
004430F0 |. 8BF0 mov esi,eax ; eax是输入Codies的16进制
004430F2 |. 837D FC 00 cmp [local.1],0x0
004430F6 |. 74 3A je XaLoNg3x_.00443132
004430F8 |. B8 44324400 mov eax,aLoNg3x_.00443244 ; ASCII "You MUST insert a valid Long Integer Value in the Code Editor... Thank you :)"
004430FD |. E8 6EF4FFFF call aLoNg3x_.00442570
00443102 |. 8D55 F4 lea edx,[local.3]
00443105 |. 8B83 DC020000 mov eax,dword ptr ds:[ebx+0x2DC]
0044310B |. E8 3001FEFF call aLoNg3x_.00423240
00443110 |. 8B45 F4 mov eax,[local.3]
00443113 |. E8 74F9FFFF call aLoNg3x_.00442A8C ; 还是有这个函数
00443118 |. A3 30584400 mov dword ptr ds:[0x445830],eax ; 还是赋值到这里来
0044311D |. BA 9C324400 mov edx,aLoNg3x_.0044329C
00443122 |. 8B83 DC020000 mov eax,dword ptr ds:[ebx+0x2DC]
00443128 |. E8 4301FEFF call aLoNg3x_.00423270
0044312D |. E9 DD000000 jmp aLoNg3x_.0044320F
00443132 |> 85F6 test esi,esi ; 测试是不是小于0
00443134 |. 0F8E C4000000 jle aLoNg3x_.004431FE
0044313A |. 8D55 F4 lea edx,[local.3]
0044313D |. 8B83 D8020000 mov eax,dword ptr ds:[ebx+0x2D8]
00443143 |. E8 F800FEFF call aLoNg3x_.00423240 ; 将Nome读到local.3
00443148 |. 8B4D F4 mov ecx,[local.3]
0044314B |. 8BD6 mov edx,esi
0044314D |. A1 30584400 mov eax,dword ptr ds:[0x445830]
00443152 |. E8 51F8FFFF call aLoNg3x_.004429A8 ; 这里计算的函数和Registerz的是一样的
00443157 |. 84C0 test al,al
00443159 |. 74 73 je XaLoNg3x_.004431CE
唯一不同的就是Nome的内容不能改变了,而且[445830]的值又重新变回0,有了上一步的经验,可以重复上面的步骤。
Codice:ABCDEF
然后还是会告诉你要输入数字,然后还是这个:
Codice:1696639
这个就是上面的k1,因为调用的函数还是一样的。
输入完后点Again,整张logo就出现了,而且标题栏也变成了:Cracked by ABCDEF