160 - 9 Andrnalin.2
生活随笔
收集整理的這篇文章主要介紹了
160 - 9 Andrnalin.2
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
環境:
Windows xp sp3
打開,這次升級了,有個Name和一個Key,輸入:
Name:goodname
Key:12345678
肯定錯誤。拿到錯誤信息的字符串
查殼,無殼的VB程序。
直接OD載入,字符串搜索,找到剛剛得錯誤信息的字符串
00402176 . 66:8985 4CFFF>mov word ptr ss:[ebp-0xB4],ax ; 上面一個函數是取Name的字符的值,保存到ax 0040217D . 8D55 CC lea edx,dword ptr ss:[ebp-0x34] 00402180 . 8D85 44FFFFFF lea eax,dword ptr ss:[ebp-0xBC] 00402186 . 52 push edx ; /var18 00402187 . 8D8D 74FFFFFF lea ecx,dword ptr ss:[ebp-0x8C] ; | 0040218D . 50 push eax ; |var28 0040218E . 51 push ecx ; |saveto8 0040218F . 899D 44FFFFFF mov dword ptr ss:[ebp-0xBC],ebx ; | 00402195 . FF15 94414000 call dword ptr ds:[<&MSVBVM50.__vbaVarAd>; \__vbaVarAdd 0040219B . 8BD0 mov edx,eax ; 這個是將當前字符的值和前面字符的值之和加起來 0040219D . 8D4D CC lea ecx,dword ptr ss:[ebp-0x34] 004021A0 . FFD6 call esi 004021A2 . 8D4D A8 lea ecx,dword ptr ss:[ebp-0x58] 004021A5 . FF15 B8414000 call dword ptr ds:[<&MSVBVM50.__vbaFreeS>; MSVBVM50.__vbaFreeStr 004021D1 .^\E9 5CFFFFFF jmp Andréna.00402132 ; 這個jmp上面的內容是將Name輸入的字符都加起來,goodname是:34A,保存在[ebp-2C]中 004021D6 > 8D4D CC lea ecx,dword ptr ss:[ebp-0x34] 004021D9 . 8D95 54FFFFFF lea edx,dword ptr ss:[ebp-0xAC] 004021DF . 51 push ecx ; /var18 004021E0 . 8D45 94 lea eax,dword ptr ss:[ebp-0x6C] ; | 004021E3 . 52 push edx ; |var28 004021E4 . 50 push eax ; |SaveTo8 004021E5 . C785 5CFFFFFF>mov dword ptr ss:[ebp-0xA4],0x499602D2 ; | 004021EF . C785 54FFFFFF>mov dword ptr ss:[ebp-0xAC],0x3 ; | 004021F9 . FF15 5C414000 call dword ptr ds:[<&MSVBVM50.__vbaVarMu> ; \__vbaVarMul 004021FF . 8BD0 mov edx,eax ; 上面這個Mul是將加起來的值乘以0x499602D2
上面那一段內容是算出用到的值X。
下面的內容是往X里面添加“-”,讓它看上去更像Key
00402204 . FFD6 call esi 00402206 . 8B1D A0414000 mov ebx,dword ptr ds:[<&MSVBVM50.__vbaMi>; MSVBVM50.__vbaMidStmtVar 0040220C . 8D4D CC lea ecx,dword ptr ss:[ebp-0x34] ; 加- 0040220F . 51 push ecx 00402210 . 6A 04 push 0x4 ; 位置 00402212 . 8D95 54FFFFFF lea edx,dword ptr ss:[ebp-0xAC] 00402218 . 6A 01 push 0x1 ; 數量 0040221A . 52 push edx 0040221B . C785 5CFFFFFF>mov dword ptr ss:[ebp-0xA4],Andréna.0040>; 這是"-" 00402225 . C785 54FFFFFF>mov dword ptr ss:[ebp-0xAC],0x8 0040222F . FFD3 call ebx ; <&MSVBVM50.__vbaMidStmtVar> 00402231 . 8D45 CC lea eax,dword ptr ss:[ebp-0x34] ; 同上 00402234 . 8D8D 54FFFFFF lea ecx,dword ptr ss:[ebp-0xAC] 0040223A . 50 push eax 0040223B . 6A 09 push 0x9 0040223D . 6A 01 push 0x1 0040223F . 51 push ecx 00402240 . C785 5CFFFFFF>mov dword ptr ss:[ebp-0xA4],Andréna.0040> 0040224A . C785 54FFFFFF>mov dword ptr ss:[ebp-0xAC],0x8 00402254 . FFD3 call ebx ; 這個調用的函數和上面的一樣
總結就是:
設:
輸入的字符串為Name,
X是Name每一位加起來的結果
sum_1是最后計算的結果,sum_1 = X*0x499602D2 (轉成10進制就是1234567890)
然后再對sum_1進行修改,在第4個數字和第9個數字位置改為“-”
于是:
Name::goodname
X = 34A
sum_1 = 1039506163380
sum_2 =?103-5061-3380
所以:
Key :103-5061-3380
總結
以上是生活随笔為你收集整理的160 - 9 Andrnalin.2的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 地下城与勇士DNF机械刷图怎么穿装备啊?
- 下一篇: 160 - 10 Andrénalin.