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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

160 - 48 DueList.3

發布時間:2023/12/1 编程问答 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 160 - 48 DueList.3 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

環境:
Windows xp sp3

工具:
Ollydbg
exeinfope

0x00 查殼

無殼的程序

0x01 分析

應該就是選上某個或多個框后點Check就能成功的,那應該就是不同框對應不同的值咯。旁邊還有個提示:建議使用資源編輯器。
直接OD載入,看看不同的框代表什么值。

00401127 > /0FBE8E FE2040>movsx ecx,byte ptr ds:[esi+0x4020FE] ; 這里獲取框的值 0040112E . |83F9 4D cmp ecx,0x4D 00401131 . |74 2F je XDueList_.00401162 00401133 . |890D 5E214000 mov dword ptr ds:[0x40215E],ecx 00401139 . |51 push ecx ; /ButtonID 0040113A . |FF75 08 push dword ptr ss:[ebp+0x8] ; |hWnd 0040113D . |E8 D0010000 call <jmp.&USER32.IsDlgButtonChecked> ; \IsDlgButtonChecked 00401142 . |46 inc esi ; 看看這個框是不是被選上了 00401143 . |83F8 00 cmp eax,0x0 00401146 .^ 74 DF je XDueList_.00401127 ; 是的話就往下計算,不是就下一個框 00401148 . |A1 5E214000 mov eax,dword ptr ds:[0x40215E] 0040114D . |0FBE8E FE2040>movsx ecx,byte ptr ds:[esi+0x4020FE] 00401154 . |0FAFC1 imul eax,ecx 00401157 . |0FAFC6 imul eax,esi 0040115A . |0105 62214000 add dword ptr ds:[0x402162],eax 00401160 .^\EB C5 jmp XDueList_.00401127 00401162 > A1 62214000 mov eax,dword ptr ds:[0x402162] ; 這個值要328FE 00401167 . 6BC0 4D imul eax,eax,0x4D 0040116A . 3D 6654F300 cmp eax,0xF35466 0040116F . 75 20 jnz XDueList_.00401191

在401142處下個斷點,選一個框就運行一次,18次就能知道哪幾個框對應哪幾個值了,而且還知道對應的順序。如下:

復選框的編號:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18復選框的屬性: 順序 值 編號 1 0x16 4 2 0x49 2 3 0x5E 3 4 0x15 10 5 0x27 17 6 0x26 6 7 0x21 7 8 0x25 5 9 0x1D 18 10 0x59 8 11 0x53 9 12 0x37 11 13 0x31 12 14 0x48 13 15 0x5D 14 16 0xC 15 17 0x61 1 18 0x52 16 19 0x4D 結束

0x02 算法分析

計算過程就兩三行:

00401148 . A1 5E214000 mov eax,dword ptr ds:[0x40215E] 0040114D . 0FBE8E FE2040>movsx ecx,byte ptr ds:[esi+0x4020FE] 00401154 . 0FAFC1 imul eax,ecx 00401157 . 0FAFC6 imul eax,esi 0040115A . 0105 62214000 add dword ptr ds:[0x402162],eax 00401160 .^\EB C5 jmp XDueList_.00401127 00401162 > A1 62214000 mov eax,dword ptr ds:[0x402162] ; 這個值要328FE 00401167 . 6BC0 4D imul eax,eax,0x4D 0040116A . 3D 6654F300 cmp eax,0xF35466

因為每個復選框對應一個ID:
被選中的復選框的ID* 下一個復選框的ID *當前復選框的次序 = 被選中的復選框的值
最后一個復選框被選上的話會有一個0x4D作為結束的ID。
將所有被選中的復選框的值加起來,乘以0x4D,看看乘積是否為0xF35466,如果等于則成功。

注冊機也不難寫,每個框對應的值出來后,深搜一遍,看看哪種組合的情況下會等于即可。

于是得到:

2 3 4 5 6 7 11 14 15 //這是用到的值的次序編號,還有看看這些值是由哪幾個位置的框計算出來的

對應的框框位置:

2 3 10 17 6 7 9 13 14

選上就好了:

總結

以上是生活随笔為你收集整理的160 - 48 DueList.3的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。