日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

160 - 32 genocide1

發(fā)布時(shí)間:2023/12/1 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 160 - 32 genocide1 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

環(huán)境
Windows xp sp3

工具
upx
exeinfope
ollydbg

查殼

發(fā)現(xiàn)是upx殼,手脫的話會(huì)不干凈,影響OD分析。
所以就直接用 upx -d 脫了

手脫:

upx -d:

用upx -d 脫的版本進(jìn)行分析。
第一次運(yùn)行時(shí)顯示這個(gè):

缺少Reg.dat,所以無(wú)法打開(kāi)。那就新建一個(gè)Reg.dat。

找到注冊(cè)窗口:

估計(jì)是要serial正確的時(shí)候OK按鈕才能點(diǎn)擊。

OD載入:
直接搜字符串看看有沒(méi)有什么有價(jià)值的

00437B33 00 db 00 00437B34 FC7D4300 dd crackme_.00437DFC 00437B38 . 0C db 0C 00437B39 . 42 75 74 74 6>ascii "Button2Click" 00437B45 12 db 12 00437B46 00 db 00 00437B47 707E4300 dd crackme_.00437E70 ; 這里是處理Edit1Change事件的函數(shù),下面的也是同一個(gè)道理 00437B4B . 0B db 0B 00437B4C . 45 64 69 74 3>ascii "Edit1Change" 00437B57 12 db 12 00437B58 00 db 00 00437B59 7C7E4300 dd crackme_.00437E7C 00437B5D . 0B db 0B 00437B5E . 45 64 69 74 3>ascii "Edit2Change" 00437B69 12 db 12 00437B6A 00 db 00 00437B6B 887E4300 dd crackme_.00437E88 00437B6F . 0B db 0B 00437B70 . 45 64 69 74 3>ascii "Edit3Change" 00437B7B 12 db 12 00437B7C 00 db 00 00437B7D 947E4300 dd crackme_.00437E94 00437B81 . 0B db 0B 00437B82 . 45 64 69 74 3>ascii "Edit4Change" 00437B8D 13 db 13 00437B8E 00 db 00 00437B8F A07E4300 dd crackme_.00437EA0 00437B93 . 0C db 0C 00437B94 . 42 75 74 74 6>ascii "Button1Click" 00437BA0 . 06 db 06 00437BA1 . 54 46 6F 72 6>ascii "TForm2"

至于為什么會(huì)找到這里,可以查看Button1Click的函數(shù)。

00437E70 . B8 01000000 mov eax,0x1 ; 這里是Edit1Change的函數(shù) 00437E75 . E8 A2FEFFFF call crackme_.00437D1C 00437E7A . C3 retn 00437E7B 90 nop 00437E7C . B8 02000000 mov eax,0x2 00437E81 . E8 96FEFFFF call crackme_.00437D1C 00437E86 . C3 retn 00437E87 90 nop 00437E88 . B8 03000000 mov eax,0x3 00437E8D . E8 8AFEFFFF call crackme_.00437D1C 00437E92 . C3 retn 00437E93 90 nop 00437E94 . B8 04000000 mov eax,0x4 00437E99 . E8 7EFEFFFF call crackme_.00437D1C 00437E9E . C3 retn 00437E9F 90 nop ; 下面開(kāi)始是Button1Click的函數(shù) 00437EA0 . 6A 00 push 0x0 ; /Style = MB_OK|MB_APPLMODAL 00437EA2 . 68 B47E4300 push crackme_.00437EB4 ; |Title = "Success!" 00437EA7 . 68 C07E4300 push crackme_.00437EC0 ; |Text = "Hey, Man, you did it! You cracked my little proggie. AAAAH! :(" 00437EAC . 6A 00 push 0x0 ; |hOwner = NULL 00437EAE . E8 31DBFCFF call <jmp.&user32.MessageBoxA> ; \MessageBoxA 00437EB3 . C3 retn

在[00437E70][00437E7C][00437E88][00437E94]都下個(gè)斷點(diǎn),改變serial的時(shí)候發(fā)現(xiàn)斷了下來(lái)
在下面的call跟進(jìn)去

00437D1C /$ 55 push ebp 00437D1D |. 8BEC mov ebp,esp 00437D1F |. 6A 00 push 0x0 00437D21 |. 53 push ebx 00437D22 |. 8BD8 mov ebx,eax 00437D24 |. 33C0 xor eax,eax 00437D26 |. 55 push ebp 00437D27 |. 68 EE7D4300 push crackme_.00437DEE 00437D2C |. 64:FF30 push dword ptr fs:[eax] 00437D2F |. 64:8920 mov dword ptr fs:[eax],esp 00437D32 |. 8BC3 mov eax,ebx 00437D34 |. 48 dec eax ; Switch (cases 1..4) 00437D35 |. 74 0E je Xcrackme_.00437D45 00437D37 |. 48 dec eax 00437D38 |. 74 2F je Xcrackme_.00437D69 00437D3A |. 48 dec eax 00437D3B |. 74 50 je Xcrackme_.00437D8D 00437D3D |. 48 dec eax 00437D3E |. 74 71 je Xcrackme_.00437DB1 00437D40 |. E9 8E000000 jmp crackme_.00437DD3 00437D45 |> 8D55 FC lea edx,[local.1] ; Case 1 of switch 00437D34 00437D48 |. A1 28A74300 mov eax,dword ptr ds:[0x43A728] 00437D4D |. 8B80 E8010000 mov eax,dword ptr ds:[eax+0x1E8] 00437D53 |. E8 6854FEFF call crackme_.0041D1C0 00437D58 |. 8B45 FC mov eax,[local.1] 00437D5B |. E8 D0EBFCFF call crackme_.00406930 00437D60 |. 89049D 38A743>mov dword ptr ds:[ebx*4+0x43A738],eax 00437D67 |. EB 6A jmp Xcrackme_.00437DD3 00437D69 |> 8D55 FC lea edx,[local.1] ; Case 2 of switch 00437D34 00437D6C |. A1 28A74300 mov eax,dword ptr ds:[0x43A728] 00437D71 |. 8B80 EC010000 mov eax,dword ptr ds:[eax+0x1EC] 00437D77 |. E8 4454FEFF call crackme_.0041D1C0 00437D7C |. 8B45 FC mov eax,[local.1] 00437D7F |. E8 ACEBFCFF call crackme_.00406930 00437D84 |. 89049D 38A743>mov dword ptr ds:[ebx*4+0x43A738],eax 00437D8B |. EB 46 jmp Xcrackme_.00437DD3 00437D8D |> 8D55 FC lea edx,[local.1] ; Case 3 of switch 00437D34 00437D90 |. A1 28A74300 mov eax,dword ptr ds:[0x43A728] 00437D95 |. 8B80 F0010000 mov eax,dword ptr ds:[eax+0x1F0] 00437D9B |. E8 2054FEFF call crackme_.0041D1C0 00437DA0 |. 8B45 FC mov eax,[local.1] 00437DA3 |. E8 88EBFCFF call crackme_.00406930 00437DA8 |. 89049D 38A743>mov dword ptr ds:[ebx*4+0x43A738],eax 00437DAF |. EB 22 jmp Xcrackme_.00437DD3 00437DB1 |> 8D55 FC lea edx,[local.1] ; Case 4 of switch 00437D34 00437DB4 |. A1 28A74300 mov eax,dword ptr ds:[0x43A728] 00437DB9 |. 8B80 F4010000 mov eax,dword ptr ds:[eax+0x1F4] 00437DBF |. E8 FC53FEFF call crackme_.0041D1C0 00437DC4 |. 8B45 FC mov eax,[local.1] 00437DC7 |. E8 64EBFCFF call crackme_.00406930 00437DCC |. 89049D 38A743>mov dword ptr ds:[ebx*4+0x43A738],eax 00437DD3 |> E8 00FEFFFF call crackme_.00437BD8 ; Default case of switch 00437D34 00437DD8 |. 33C0 xor eax,eax 00437DDA |. 5A pop edx 00437DDB |. 59 pop ecx 00437DDC |. 59 pop ecx 00437DDD |. 64:8910 mov dword ptr fs:[eax],edx 00437DE0 |. 68 F57D4300 push crackme_.00437DF5 00437DE5 |> 8D45 FC lea eax,[local.1] 00437DE8 |. E8 0FB9FCFF call crackme_.004036FC 00437DED \. C3 retn

在[00437DD3]位置的call再跟進(jìn)去,發(fā)現(xiàn)是這里比較。

00437BD8 /$ 55 push ebp 00437BD9 |. 8BEC mov ebp,esp 00437BDB |. 6A 00 push 0x0 00437BDD |. 6A 00 push 0x0 00437BDF |. 53 push ebx 00437BE0 |. 56 push esi 00437BE1 |. 33C0 xor eax,eax 00437BE3 |. 55 push ebp 00437BE4 |. 68 0C7D4300 push crackme_.00437D0C 00437BE9 |. 64:FF30 push dword ptr fs:[eax] 00437BEC |. 64:8920 mov dword ptr fs:[eax],esp 00437BEF |. 8D55 FC lea edx,[local.1] 00437BF2 |. A1 28A74300 mov eax,dword ptr ds:[0x43A728] 00437BF7 |. 8B80 0C020000 mov eax,dword ptr ds:[eax+0x20C] 00437BFD |. E8 BE55FEFF call crackme_.0041D1C0 00437C02 |. 8B45 FC mov eax,[local.1] 00437C05 |. E8 6EBDFCFF call crackme_.00403978 00437C0A |. 83F8 05 cmp eax,0x5 ; 這里是比較輸入的name的長(zhǎng)度 00437C0D |. 0F8C AF000000 jl crackme_.00437CC2 00437C13 |. 8B45 FC mov eax,[local.1] ; 下面是取name特定位置上的字符進(jìn)行運(yùn)算 00437C16 |. 0FB600 movzx eax,byte ptr ds:[eax] 00437C19 |. B9 0A000000 mov ecx,0xA 00437C1E |. 99 cdq 00437C1F |. F7F9 idiv ecx ; 第一個(gè)字符 / 0xA 00437C21 |. A3 2CA74300 mov dword ptr ds:[0x43A72C],eax 00437C26 |. 8B45 FC mov eax,[local.1] 00437C29 |. 0FB640 02 movzx eax,byte ptr ds:[eax+0x2] 00437C2D |. B9 0A000000 mov ecx,0xA 00437C32 |. 99 cdq 00437C33 |. F7F9 idiv ecx ; 第三個(gè)字符 / 0xA 00437C35 |. A3 30A74300 mov dword ptr ds:[0x43A730],eax 00437C3A |. 8B45 FC mov eax,[local.1] 00437C3D |. 0FB640 03 movzx eax,byte ptr ds:[eax+0x3] 00437C41 |. B9 0A000000 mov ecx,0xA 00437C46 |. 99 cdq 00437C47 |. F7F9 idiv ecx ; 第四個(gè)字符 / 0xA 00437C49 |. A3 34A74300 mov dword ptr ds:[0x43A734],eax 00437C4E |. 8B45 FC mov eax,[local.1] 00437C51 |. 0FB640 04 movzx eax,byte ptr ds:[eax+0x4] 00437C55 |. B9 0A000000 mov ecx,0xA 00437C5A |. 99 cdq 00437C5B |. F7F9 idiv ecx ; 第五個(gè)字符 / 0xA 00437C5D |. A3 38A74300 mov dword ptr ds:[0x43A738],eax 00437C62 |. BE 01000000 mov esi,0x1 00437C67 |. BB 2CA74300 mov ebx,crackme_.0043A72C 00437C6C |> 8D55 F8 /lea edx,[local.2] ; 這里是將上面的商的結(jié)果取出來(lái),如果大于等于10的都要再除0xA 00437C6F |. 8B03 |mov eax,dword ptr ds:[ebx] 00437C71 |. E8 8AECFCFF |call crackme_.00406900 00437C76 |. 8B45 F8 |mov eax,[local.2] 00437C79 |. E8 FABCFCFF |call crackme_.00403978 00437C7E |. 48 |dec eax 00437C7F |. 74 0C |je Xcrackme_.00437C8D 00437C81 |. 8B03 |mov eax,dword ptr ds:[ebx] 00437C83 |. B9 0A000000 |mov ecx,0xA 00437C88 |. 99 |cdq 00437C89 |. F7F9 |idiv ecx 00437C8B |. 8903 |mov dword ptr ds:[ebx],eax 00437C8D |> 46 |inc esi 00437C8E |. 83C3 04 |add ebx,0x4 00437C91 |. 83FE 05 |cmp esi,0x5 00437C94 |.^ 75 D6 \jnz Xcrackme_.00437C6C 00437C96 |. BE 01000000 mov esi,0x1 00437C9B |. B8 2CA74300 mov eax,crackme_.0043A72C 00437CA0 |. BA 3CA74300 mov edx,crackme_.0043A73C 00437CA5 |> 8B0A /mov ecx,dword ptr ds:[edx] ; 這里是將輸入的serial與上面的計(jì)算結(jié)果比較 00437CA7 |. 3B08 |cmp ecx,dword ptr ds:[eax] 00437CA9 |. 74 07 |je Xcrackme_.00437CB2 ; 如果比較結(jié)果不同,就會(huì)跳出循環(huán) 00437CAB |. B9 01000000 |mov ecx,0x1 00437CB0 |. EB 15 |jmp Xcrackme_.00437CC7 00437CB2 |> 33C9 |xor ecx,ecx 00437CB4 |. 46 |inc esi 00437CB5 |. 83C2 04 |add edx,0x4 00437CB8 |. 83C0 04 |add eax,0x4 00437CBB |. 83FE 05 |cmp esi,0x5 00437CBE |.^ 75 E5 \jnz Xcrackme_.00437CA5 00437CC0 |. EB 05 jmp Xcrackme_.00437CC7 ; 如果比較內(nèi)容完全一樣,就會(huì)來(lái)到這里 00437CC2 |> B9 01000000 mov ecx,0x1 00437CC7 |> 85C9 test ecx,ecx 00437CC9 |. 75 14 jnz Xcrackme_.00437CDF 00437CCB |. A1 28A74300 mov eax,dword ptr ds:[0x43A728] 00437CD0 |. 8B80 E0010000 mov eax,dword ptr ds:[eax+0x1E0] 00437CD6 |. B2 01 mov dl,0x1 00437CD8 |. E8 7B54FEFF call crackme_.0041D158 ; 猜測(cè)這個(gè)是用來(lái)使得OK按鈕Enable的,前提是調(diào)用前dl為1 00437CDD |. EB 12 jmp Xcrackme_.00437CF1 ; 否則還是disable 00437CDF |> A1 28A74300 mov eax,dword ptr ds:[0x43A728] 00437CE4 |. 8B80 E0010000 mov eax,dword ptr ds:[eax+0x1E0] 00437CEA |. 33D2 xor edx,edx 00437CEC |. E8 6754FEFF call crackme_.0041D158 00437CF1 |> 33C0 xor eax,eax 00437CF3 |. 5A pop edx 00437CF4 |. 59 pop ecx 00437CF5 |. 59 pop ecx 00437CF6 |. 64:8910 mov dword ptr fs:[eax],edx 00437CF9 |. 68 137D4300 push crackme_.00437D13 00437CFE |> 8D45 F8 lea eax,[local.2] 00437D01 |. BA 02000000 mov edx,0x2 00437D06 |. E8 15BAFCFF call crackme_.00403720 00437D0B \. C3 retn

通過(guò)上面的分析,可以簡(jiǎn)單了解到,程序只是簡(jiǎn)單的將輸入的name的第1、3、4、5 共4個(gè)位置上的ascii的值的第一位取出來(lái)(10進(jìn)制上的),即最大的位上的值。所以12345的對(duì)應(yīng)的ascii的值為
name:12345
ascii:49 50 51 52 53
serial:4 5 5 5 5

總結(jié)

以上是生活随笔為你收集整理的160 - 32 genocide1的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产精品一区av | 狠狠干2019| 日韩午夜在线 | 免费av网址在线观看 | 激情综合网五月婷婷 | 拔插拔插海外华人免费视频 | 国产aⅴ精品一区二区三区久久 | 色婷婷精品久久二区二区密 | 99av在线 | 99久久久久久久久 | 蜜桃色一区二区三区 | 黄色大片网站 | 人人曰 | 久久久免费观看视频 | 无码人妻精品一区二区蜜桃网站 | 日韩一区二区影院 | 操碰人人 | 亚洲国产精品一 | 91看片在线看 | 成熟了的熟妇毛茸茸 | 午夜福利三级理论电影 | 亚洲一区在线看 | 老司机午夜在线 | 久草资源在线 | 成人免费毛片网站 | 男人天堂资源 | 国产午夜视频在线播放 | 久久精品人妻一区二区 | 日韩精品1 | 久热久色 | 日本aaa级片 | 欧美日韩一区在线播放 | 久久精品欧美一区二区三区不卡 | 在线免费日韩 | 亚洲天堂爱爱 | 秋霞在线观看视频 | 午夜影视体验区 | 在线观看中文字幕码 | www.555国产精品免费 | 国产精品一品二区三区的使用体验 | 国产91大片| 丰腴饱满的极品熟妇 | 中文在线字幕观看 | av在线免费观看网站 | 好色综合 | 日本三级韩国三级三级a级按摩 | 国产精品第一国产精品 | 日韩a在线播放 | 爱草av| 国产小视频网址 | 久久久三区 | 久久亚洲精精品中文字幕早川悠里 | 免费香蕉视频 | 精品人妻少妇嫩草av无码专区 | 午夜视频大全 | 黄色应用在线观看 | 国产一二 | 亚洲黄av | 国产青青草视频 | 亚洲aⅴ在线观看 | 亚洲成a人片 | 久久久久久久久电影 | 国产精品午夜电影 | 国产女主播在线播放 | 欧洲精品一区二区 | 色图av | 国产精品久久色 | 污片视频在线观看 | 久久久极品 | 777午夜| jizzjizz美国| 午夜桃色| 小嫩嫩精品导航 | 中文在线观看av | 男人的天堂在线视频 | 国产一区二区视频在线观看免费 | 撕开少妇裙子猛然进入 | 毛片在线播放视频 | 人人妻人人爽人人澡人人精品 | 色综合天天色综合 | 国产精品视频成人 | 欧美日韩激情在线观看 | 大黄毛片 | 亚洲精品久久久久久宅男 | 91麻豆精品久久久久蜜臀 | 在线天堂中文在线资源网 | 中文字幕免费一区 | 黄色三级三级三级三级 | 少妇高潮惨叫久久久久久 | 99久久精品国产成人一区二区 | 日本簧片在线观看 | 韩国三级hd中文字幕的背景音乐 | 女女同性女同一区二区三区按摩 | 91成年影院 | 日本系列第一页 | 乱色欧美 | 中文字幕人妻无码系列第三区 | 玖玖视频在线 | 成年人在线观看视频 |