|
![]() | 作者: yongmin [yongmin]
![]() |
登录 |
作者:小子贼野 转贴自:一蓑烟雨 【破解作者】 小子贼野 【作者主页】 http://mayday.unpack.cn/ 【使用工具】 OD 【破解平台】 Win9x/NT/2000/XP 【软件名称】 信息小管家 【下载地址】 http://www.onlinedown.net/soft/41319.htm 【软件简介】 信息小管家是一款集理财,资料记载,通讯录,客户记载的四合一信息管理软件. 不求功能最强大,但求最好用、实用。三九科技,品质生活。 1 个人理财:适合个人、家庭或企业理财,操作简单,且功能强大,是专为个人及家庭设置的理财软件。 收入支出中支持多种类型,且可以自由设置,方便您对各类费用分类汇总统计。 多种统计方式,使您对各种收入、支出更加明朗。 2 资料记载:一款极富个性,并且功能强大的工具,具有资料,信息,文件的分类,记录,查询的管理功能. 俗话说说好记性不如烂笔头!勤记载,到时候用到就可以及时查找。 3 通 讯 录:自定义无限级分类功能,强大的关键字查找功能,能在短时间查找到您要的联系人! 4 客户记载:简单实用的客户资料管理功能! 【加壳方式】 ASPack 2.12 -> Alexey Solodovnikov 【破解声明】 我是一只小菜鸟,偶得一点心得,愿与大家分享:) -------------------------------------------------------------------------------- 那个MM说密码有东西管理了,其他的东西呢?总不能都用一个记事本来记录吧?唉,都是MM惹的祸 ------------------------------------------------------------------------------- 既然人家开口了,我也没有办法拒绝,下面就是我的分析过程了: -------------------------------------------------------------------------------- 找关键字符串: 超级字串参考, 项目 546 地址=004E0C31 反汇编=PUSH UnPacK.004E0DD4 文本字串=注册码错误!请重新输入! 找到为: -------------------------------------------------------------------------------- 004E09F9 |. 55 PUSH EBP ; 在此下断 004E09FA |. 68 EF0C4E00 PUSH UnPacK.004E0CEF 004E09FF |. 64:FF30 PUSH DWORD PTR FS:[EAX] 004E0A02 |. 64:8920 MOV DWORD PTR FS:[EAX],ESP 004E0A05 |. 8D55 FC LEA EDX,DWORD PTR SS:[EBP-4] 004E0A08 |. 8B83 14030000 MOV EAX,DWORD PTR DS:[EBX+314] 004E0A0E |. E8 F9E5F6FF CALL UnPacK.0044F00C 004E0A13 |. 837D FC 00 CMP DWORD PTR SS:[EBP-4],0 004E0A17 |. 75 2C JNZ SHORT UnPacK.004E0A45 ; 比较有没有填东西,不填就Game Over 004E0A19 |. 6A 00 PUSH 0 004E0A1B |. 68 000D4E00 PUSH UnPacK.004E0D00 004E0A20 |. 68 0C0D4E00 PUSH UnPacK.004E0D0C 004E0A25 |. 8BC3 MOV EAX,EBX 004E0A27 |. E8 D04DF7FF CALL UnPacK.004557FC 004E0A2C |. 50 PUSH EAX ; |hOwner 004E0A2D |. E8 BA74F2FF CALL <JMP.&user32.MessageBoxA> ; \MessageBoxA 004E0A32 |. 8B83 14030000 MOV EAX,DWORD PTR DS:[EBX+314] 004E0A38 |. 8B10 MOV EDX,DWORD PTR DS:[EAX] 004E0A3A |. FF92 C0000000 CALL DWORD PTR DS:[EDX+C0] 004E0A40 |. E9 0C020000 JMP UnPacK.004E0C51 004E0A45 |> 8D55 F4 LEA EDX,DWORD PTR SS:[EBP-C] 004E0A48 |. 8B83 14030000 MOV EAX,DWORD PTR DS:[EBX+314] 004E0A4E |. E8 B9E5F6FF CALL UnPacK.0044F00C 004E0A53 |. 8B45 F4 MOV EAX,DWORD PTR SS:[EBP-C] 004E0A56 |. 8D55 F8 LEA EDX,DWORD PTR SS:[EBP-8] 004E0A59 |. E8 928BF2FF CALL UnPacK.004095F0 004E0A5E |. 8B45 F8 MOV EAX,DWORD PTR SS:[EBP-8] 004E0A61 |. 50 PUSH EAX 004E0A62 |. 8D55 EC LEA EDX,DWORD PTR SS:[EBP-14] 004E0A65 |. 8B83 0C030000 MOV EAX,DWORD PTR DS:[EBX+30C] 004E0A6B |. E8 9CE5F6FF CALL UnPacK.0044F00C 004E0A70 |. 8B45 EC MOV EAX,DWORD PTR SS:[EBP-14] 004E0A73 |. 8D55 F0 LEA EDX,DWORD PTR SS:[EBP-10] 004E0A76 |. E8 758BF2FF CALL UnPacK.004095F0 004E0A7B |. 8B45 F0 MOV EAX,DWORD PTR SS:[EBP-10] 004E0A7E |. 50 PUSH EAX 004E0A7F |. 8D55 E4 LEA EDX,DWORD PTR SS:[EBP-1C] 004E0A82 |. 8B83 08030000 MOV EAX,DWORD PTR DS:[EBX+308] 004E0A88 |. E8 7FE5F6FF CALL UnPacK.0044F00C 004E0A8D |. 8B45 E4 MOV EAX,DWORD PTR SS:[EBP-1C] 004E0A90 |. 8D55 E8 LEA EDX,DWORD PTR SS:[EBP-18] 004E0A93 |. E8 588BF2FF CALL UnPacK.004095F0 004E0A98 |. 8B45 E8 MOV EAX,DWORD PTR SS:[EBP-18] 004E0A9B |. 5A POP EDX 004E0A9C |. 59 POP ECX 004E0A9D |. E8 0A070000 CALL UnPacK.004E11AC ; 算法call 004E0AA2 |. 3C 01 CMP AL,1 ; 标志位比较 004E0AA4 |. 0F85 80010000 JNZ UnPacK.004E0C2A 004E0AAA |. 8D55 DC LEA EDX,DWORD PTR SS:[EBP-24] 004E0AAD |. 8B83 0C030000 MOV EAX,DWORD PTR DS:[EBX+30C] 004E0AB3 |. E8 54E5F6FF CALL UnPacK.0044F00C 004E0AB8 |. 8B45 DC MOV EAX,DWORD PTR SS:[EBP-24] 004E0ABB |. 8D55 E0 LEA EDX,DWORD PTR SS:[EBP-20] 004E0ABE |. E8 2D8BF2FF CALL UnPacK.004095F0 004E0AC3 |. 8B55 E0 MOV EDX,DWORD PTR SS:[EBP-20] 004E0AC6 |. A1 A0665700 MOV EAX,DWORD PTR DS:[5766A0] 004E0ACB |. 8B00 MOV EAX,DWORD PTR DS:[EAX] 004E0ACD |. 83C0 0C ADD EAX,0C 004E0AD0 |. E8 DB40F2FF CALL UnPacK.00404BB0 004E0AD5 |. 8D55 D4 LEA EDX,DWORD PTR SS:[EBP-2C] 004E0AD8 |. 8B83 14030000 MOV EAX,DWORD PTR DS:[EBX+314] 004E0ADE |. E8 29E5F6FF CALL UnPacK.0044F00C 004E0AE3 |. 8B45 D4 MOV EAX,DWORD PTR SS:[EBP-2C] 004E0AE6 |. 8D55 D8 LEA EDX,DWORD PTR SS:[EBP-28] 004E0AE9 |. E8 028BF2FF CALL UnPacK.004095F0 004E0AEE |. 8B55 D8 MOV EDX,DWORD PTR SS:[EBP-28] 004E0AF1 |. A1 A0665700 MOV EAX,DWORD PTR DS:[5766A0] 004E0AF6 |. 8B00 MOV EAX,DWORD PTR DS:[EAX] 004E0AF8 |. 83C0 10 ADD EAX,10 004E0AFB |. E8 B040F2FF CALL UnPacK.00404BB0 004E0B00 |. A1 A0665700 MOV EAX,DWORD PTR DS:[5766A0] 004E0B05 |. 8B00 MOV EAX,DWORD PTR DS:[EAX] 004E0B07 |. 33D2 XOR EDX,EDX 004E0B09 |. 8950 14 MOV DWORD PTR DS:[EAX+14],EDX 004E0B0C |. 6A 00 PUSH 0 004E0B0E |. 68 240D4E00 PUSH UnPacK.004E0D24 004E0B13 |. 68 2C0D4E00 PUSH UnPacK.004E0D2C 004E0B18 |. 8BC3 MOV EAX,EBX 004E0B1A |. E8 DD4CF7FF CALL UnPacK.004557FC 004E0B1F |. 50 PUSH EAX ; |hOwner 004E0B20 |. E8 C773F2FF CALL <JMP.&user32.MessageBoxA> ; \MessageBoxA 004E0B25 |. 8D55 CC LEA EDX,DWORD PTR SS:[EBP-34] 004E0B28 |. 8B83 08030000 MOV EAX,DWORD PTR DS:[EBX+308] 004E0B2E |. E8 D9E4F6FF CALL UnPacK.0044F00C 004E0B33 |. 8B45 CC MOV EAX,DWORD PTR SS:[EBP-34] 004E0B36 |. 8D55 D0 LEA EDX,DWORD PTR SS:[EBP-30] 004E0B39 |. E8 B28AF2FF CALL UnPacK.004095F0 004E0B3E |. 8B45 D0 MOV EAX,DWORD PTR SS:[EBP-30] 004E0B41 |. 50 PUSH EAX 004E0B42 |. A1 70675700 MOV EAX,DWORD PTR DS:[576770] 004E0B47 |. 8B00 MOV EAX,DWORD PTR DS:[EAX] 004E0B49 |. B9 5C0D4E00 MOV ECX,UnPacK.004E0D5C ; ASCII "SerialNO" 004E0B4E |. BA 700D4E00 MOV EDX,UnPacK.004E0D70 ; ASCII "Reg" 004E0B53 |. 8B30 MOV ESI,DWORD PTR DS:[EAX] 004E0B55 |. FF56 04 CALL DWORD PTR DS:[ESI+4] 004E0B58 |. 8D55 C4 LEA EDX,DWORD PTR SS:[EBP-3C] 004E0B5B |. 8B83 0C030000 MOV EAX,DWORD PTR DS:[EBX+30C] 004E0B61 |. E8 A6E4F6FF CALL UnPacK.0044F00C 004E0B66 |. 8B45 C4 MOV EAX,DWORD PTR SS:[EBP-3C] 004E0B69 |. 8D55 C8 LEA EDX,DWORD PTR SS:[EBP-38] 004E0B6C |. E8 7F8AF2FF CALL UnPacK.004095F0 004E0B71 |. 8B45 C8 MOV EAX,DWORD PTR SS:[EBP-38] 004E0B74 |. 50 PUSH EAX 004E0B75 |. A1 70675700 MOV EAX,DWORD PTR DS:[576770] 004E0B7A |. 8B00 MOV EAX,DWORD PTR DS:[EAX] 004E0B7C |. B9 7C0D4E00 MOV ECX,UnPacK.004E0D7C ; ASCII "RegNOFir" 004E0B81 |. BA 700D4E00 MOV EDX,UnPacK.004E0D70 ; ASCII "Reg" 004E0B86 |. 8B30 MOV ESI,DWORD PTR DS:[EAX] 004E0B88 |. FF56 04 CALL DWORD PTR DS:[ESI+4] 004E0B8B |. 8D55 BC LEA EDX,DWORD PTR SS:[EBP-44] 004E0B8E |. 8B83 14030000 MOV EAX,DWORD PTR DS:[EBX+314] 004E0B94 |. E8 73E4F6FF CALL UnPacK.0044F00C 004E0B99 |. 8B45 BC MOV EAX,DWORD PTR SS:[EBP-44] 004E0B9C |. 8D55 C0 LEA EDX,DWORD PTR SS:[EBP-40] 004E0B9F |. E8 4C8AF2FF CALL UnPacK.004095F0 004E0BA4 |. 8B45 C0 MOV EAX,DWORD PTR SS:[EBP-40] 004E0BA7 |. 50 PUSH EAX 004E0BA8 |. A1 70675700 MOV EAX,DWORD PTR DS:[576770] 004E0BAD |. 8B00 MOV EAX,DWORD PTR DS:[EAX] 004E0BAF |. B9 900D4E00 MOV ECX,UnPacK.004E0D90 ; regnosec 004E0BB4 |. BA 700D4E00 MOV EDX,UnPacK.004E0D70 ; reg 004E0BB9 |. 8B30 MOV ESI,DWORD PTR DS:[EAX] 004E0BBB |. FF56 04 CALL DWORD PTR DS:[ESI+4] 004E0BBE |. 6A 00 PUSH 0 004E0BC0 |. 8B15 F8685700 MOV EDX,DWORD PTR DS:[5768F8] ; UnPacK.00579694 004E0BC6 |. 8B12 MOV EDX,DWORD PTR DS:[EDX] 004E0BC8 |. 8D45 B8 LEA EAX,DWORD PTR SS:[EBP-48] 004E0BCB |. B9 A40D4E00 MOV ECX,UnPacK.004E0DA4 ; infodb\xxklist.edo 004E0BD0 |. E8 8B42F2FF CALL UnPacK.00404E60 004E0BD5 |. 8B55 B8 MOV EDX,DWORD PTR SS:[EBP-48] 004E0BD8 |. A1 EC6C5700 MOV EAX,DWORD PTR DS:[576CEC] 004E0BDD |. 8B00 MOV EAX,DWORD PTR DS:[EAX] 004E0BDF |. B9 10270000 MOV ECX,2710 004E0BE4 |. E8 079CFCFF CALL UnPacK.004AA7F0 004E0BE9 |. A1 586D5700 MOV EAX,DWORD PTR DS:[576D58] 004E0BEE |. 8338 00 CMP DWORD PTR DS:[EAX],0 004E0BF1 |. 74 0C JE SHORT UnPacK.004E0BFF 004E0BF3 |. A1 586D5700 MOV EAX,DWORD PTR DS:[576D58] 004E0BF8 |. 8B00 MOV EAX,DWORD PTR DS:[EAX] 004E0BFA |. E8 75BAF8FF CALL UnPacK.0046C674 004E0BFF |> A1 FC6A5700 MOV EAX,DWORD PTR DS:[576AFC] 004E0C04 |. 8B00 MOV EAX,DWORD PTR DS:[EAX] 004E0C06 |. E8 01F2F8FF CALL UnPacK.0046FE0C 004E0C0B |. 6A 01 PUSH 1 004E0C0D |. 6A 00 PUSH 0 004E0C0F |. 6A 00 PUSH 0 004E0C11 |. 68 B80D4E00 PUSH UnPacK.004E0DB8 ; endo.exe 004E0C16 |. 68 C40D4E00 PUSH UnPacK.004E0DC4 ; open 004E0C1B |. 8BC3 MOV EAX,EBX 004E0C1D |. E8 DA4BF7FF CALL UnPacK.004557FC 004E0C22 |. 50 PUSH EAX ; |hWnd 004E0C23 |. E8 68BAF5FF CALL <JMP.&shell32.ShellExecuteA> ; \ShellExecuteA 004E0C28 |. EB 27 JMP SHORT UnPacK.004E0C51 004E0C2A |> 6A 00 PUSH 0 004E0C2C |. 68 CC0D4E00 PUSH UnPacK.004E0DCC ; 警告 004E0C31 |. 68 D40D4E00 PUSH UnPacK.004E0DD4 ; 注册码错误!请重新输入! 004E0C36 |. 8BC3 MOV EAX,EBX -------------------------------------------------------------------------------- 004E11AC /$ 55 PUSH EBP ; 跟进算法call到此 004E11AD |. 8BEC MOV EBP,ESP 004E11AF |. 81C4 1CFFFFFF ADD ESP,-0E4 004E11B5 |. 53 PUSH EBX 004E11B6 |. 56 PUSH ESI 004E11B7 |. 33DB XOR EBX,EBX 004E11B9 |. 899D 1CFFFFFF MOV DWORD PTR SS:[EBP-E4],EBX 004E11BF |. 899D 20FFFFFF MOV DWORD PTR SS:[EBP-E0],EBX 004E11C5 |. 894D F4 MOV DWORD PTR SS:[EBP-C],ECX ; 第三个框的内容 004E11C8 |. 8955 F8 MOV DWORD PTR SS:[EBP-8],EDX ; 第二个框的内容 004E11CB |. 8945 FC MOV DWORD PTR SS:[EBP-4],EAX ; 机器码 004E11CE |. 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4] ; 机器码 004E11D1 |. E8 263EF2FF CALL UnPacK.00404FFC 004E11D6 |. 8B45 F8 MOV EAX,DWORD PTR SS:[EBP-8] 004E11D9 |. E8 1E3EF2FF CALL UnPacK.00404FFC 004E11DE |. 8B45 F4 MOV EAX,DWORD PTR SS:[EBP-C] 004E11E1 |. E8 163EF2FF CALL UnPacK.00404FFC 004E11E6 |. 33C0 XOR EAX,EAX ; EAX清零 004E11E8 |. 55 PUSH EBP 004E11E9 |. 68 DD124E00 PUSH UnPacK.004E12DD 004E11EE |. 64:FF30 PUSH DWORD PTR FS:[EAX] 004E11F1 |. 64:8920 MOV DWORD PTR FS:[EAX],ESP 004E11F4 |. C645 F3 00 MOV BYTE PTR SS:[EBP-D],0 004E11F8 |. 33F6 XOR ESI,ESI 004E11FA |. 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4] 004E11FD |. E8 123CF2FF CALL UnPacK.00404E14 004E1202 |. 8BD0 MOV EDX,EAX 004E1204 |. 85D2 TEST EDX,EDX 004E1206 |. 7E 2A JLE SHORT UnPacK.004E1232 004E1208 |. B9 01000000 MOV ECX,1 004E120D |. 8D85 24FFFFFF LEA EAX,DWORD PTR SS:[EBP-DC] 004E1213 |> 8B5D FC /MOV EBX,DWORD PTR SS:[EBP-4] 004E1216 |. 0FB65C0B FF |MOVZX EBX,BYTE PTR DS:[EBX+ECX-1] 004E121B |. 8918 |MOV DWORD PTR DS:[EAX],EBX 004E121D |. 6918 39590500 |IMUL EBX,DWORD PTR DS:[EAX],55939 ; 机器码的Ascii乘以55939 004E1223 |. 03F3 |ADD ESI,EBX 004E1225 |. 81C6 5BE40600 |ADD ESI,6E45B ; 再加上6E45B 004E122B |. 41 |INC ECX 004E122C |. 83C0 04 |ADD EAX,4 004E122F |. 4A |DEC EDX 004E1230 |.^ 75 E1 \JNZ SHORT UnPacK.004E1213 ; 通过循环来计算,为第一个框的内容 004E1232 |> 33C0 XOR EAX,EAX ; EAX=0 004E1234 |. 8945 EC MOV DWORD PTR SS:[EBP-14],EAX 004E1237 |. 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4] 004E123A |. E8 D53BF2FF CALL UnPacK.00404E14 004E123F |. 8BD0 MOV EDX,EAX 004E1241 |. 85D2 TEST EDX,EDX 004E1243 |. 7E 2E JLE SHORT UnPacK.004E1273 004E1245 |. B9 01000000 MOV ECX,1 004E124A |. 8D85 24FFFFFF LEA EAX,DWORD PTR SS:[EBP-DC] 004E1250 |> 8B5D FC /MOV EBX,DWORD PTR SS:[EBP-4] 004E1253 |. 0FB65C0B FF |MOVZX EBX,BYTE PTR DS:[EBX+ECX-1] 004E1258 |. 8918 |MOV DWORD PTR DS:[EAX],EBX 004E125A |. 6918 49860C00 |IMUL EBX,DWORD PTR DS:[EAX],0C8649 ; 机器码的Ascii乘以C8649 004E1260 |. 035D EC |ADD EBX,DWORD PTR SS:[EBP-14] 004E1263 |. 81C3 5BE40600 |ADD EBX,6E45B ; 再加上6E45B 004E1269 |. 895D EC |MOV DWORD PTR SS:[EBP-14],EBX 004E126C |. 41 |INC ECX 004E126D |. 83C0 04 |ADD EAX,4 004E1270 |. 4A |DEC EDX 004E1271 |.^ 75 DD \JNZ SHORT UnPacK.004E1250 ; 通过循环来计算,为第二个框的内容 004E1273 |> 8D95 20FFFFFF LEA EDX,DWORD PTR SS:[EBP-E0] 004E1279 |. 8BC6 MOV EAX,ESI 004E127B |. E8 B087F2FF CALL UnPacK.00409A30 004E1280 |. 8B95 20FFFFFF MOV EDX,DWORD PTR SS:[EBP-E0] ; 应该是第一个框的内容 004E1286 |. 8B45 F8 MOV EAX,DWORD PTR SS:[EBP-8] ; 我在第一个框输入的内容 004E1289 |. E8 CA3CF2FF CALL UnPacK.00404F58 ; 比较 004E128E |. 75 22 JNZ SHORT UnPacK.004E12B2 ; 不等就Game Over 004E1290 |. 8D95 1CFFFFFF LEA EDX,DWORD PTR SS:[EBP-E4] 004E1296 |. 8B45 EC MOV EAX,DWORD PTR SS:[EBP-14] 004E1299 |. E8 9287F2FF CALL UnPacK.00409A30 004E129E |. 8B95 1CFFFFFF MOV EDX,DWORD PTR SS:[EBP-E4] 004E12A4 |. 8B45 F4 MOV EAX,DWORD PTR SS:[EBP-C] 004E12A7 |. E8 AC3CF2FF CALL UnPacK.00404F58 004E12AC |. 75 04 JNZ SHORT UnPacK.004E12B2 004E12AE |. C645 F3 01 MOV BYTE PTR SS:[EBP-D],1 004E12B2 |> 33C0 XOR EAX,EAX 004E12B4 |. 5A POP EDX 004E12B5 |. 59 POP ECX 004E12B6 |. 59 POP ECX 004E12B7 |. 64:8910 MOV DWORD PTR FS:[EAX],EDX 004E12BA |. 68 E4124E00 PUSH UnPacK.004E12E4 004E12BF |> 8D85 1CFFFFFF LEA EAX,DWORD PTR SS:[EBP-E4] 004E12C5 |. BA 02000000 MOV EDX,2 004E12CA |. E8 B138F2FF CALL UnPacK.00404B80 004E12CF |. 8D45 F4 LEA EAX,DWORD PTR SS:[EBP-C] 004E12D2 |. BA 03000000 MOV EDX,3 004E12D7 |. E8 A438F2FF CALL UnPacK.00404B80 004E12DC \. C3 RETN -------------------------------------------------------------------------------- 【算法总结】 第一个注册框:取机器码的ASCII乘0X55939,放到ESI,ESI+0X6E45B,然后循环机器码的长度 第二个注册框:取机器码的ASCII乘0XC8649,放到EBX,EBX+0X6E45B,然后循环机器码的长度 |
地主 发表时间: 07-08-17 11:17 |
|
20CN网络安全小组版权所有
Copyright © 2000-2010 20CN Security Group. All Rights Reserved.
论坛程序编写:NetDemon
粤ICP备05087286号