您现在的位置: 捷凌网安 >> 文章中心 >> 加密合并 >> 加密算法 >> 正文
MiniPad v4.2注册算法分析

作者:佚名 责任编辑:左决 点击数: 更新时间:2008-4-17 9:15:23

可以找到是明码比较的 
一步步跟就能找到算法 

程序可以用unaspack脱壳,虽然不能再正常使用,但是研究算法过程已经够了。 
程序入口点在: 
004CEB48 55 PUSH EBP 

跟踪过程就不写了,很长的一段要慢慢过,因为写在INI里面的信息太多了 
最后到这里: 
:004BB2C0 8B95E8FAFFFF mov edx, dword ptr [ebp+FFFFFAE8];edx="80368332833078277730" 
:004BB2C6 8D8DECFAFFFF lea ecx, dword ptr [ebp+FFFFFAEC] 
:004BB2CC 8B45F0 mov eax, dword ptr [ebp-10];eax="SMARTSL" 
:004BB2CF E8FC7EFEFF call 004A31D0;<----计算过程在内 
:004BB2D4 8B85ECFAFFFF mov eax, dword ptr [ebp+FFFFFAEC] 
:004BB2DA 8D95F0FAFFFF lea edx, dword ptr [ebp+FFFFFAF0];此时eax就是正确注册码 
:004BB2E0 E8BB93FEFF call 004A46A0 

其中我的用户ID是"80368332833078277730",用户名是"SMARTSL",它是根据C盘的序列号计算出来的,怎么算的我没看。然后进去call 004A31D0: 
* Referenced by a CALL at Address: 
|:004BB2CF 

:004A31D0 55 push ebp 
:004A31D1 8BEC mov ebp, esp 
:004A31D3 51 push ecx 
:004A31D4 B96C000000 mov ecx, 0000006C 

* Referenced by a (U)nconditional or ?ondITional Jump at Address: 
|:004A31DE? 

:004A31D9 6A00 push 00000000 
:004A31DB 6A00 push 00000000 
:004A31DD 49 dec ecx 
:004A31DE 75F9 jne 004A31D9 
:004A31E0 874DFC xchg dword ptr [ebp-04], ecx 
:004A31E3 53 push ebx 
:004A31E4 56 push esi 
:004A31E5 57 push edi 
:004A31E6 894DF4 mov dword ptr [ebp-0C], ecx 
:004A31E9 8955F8 mov dword ptr [ebp-08], edx 
:004A31EC 8945FC mov dword ptr [ebp-04], eax 
:004A31EF 8B45FC mov eax, dword ptr [ebp-04] 
:004A31F2 E8C10EF6FF call 004040B8 
:004A31F7 8B45F8 mov eax, dword ptr [ebp-08] 
:004A31FA E8B90EF6FF call 004040B8 
:004A31FF 33C0 xor eax, eax 
:004A3201 55 push ebp 
:004A3202 6830354A00 push 004A3530 
:004A3207 64FF30 push dword ptr fs:[eax] 
:004A320A 648920 mov dword ptr fs:[eax], esp 
:004A320D 8B45F4 mov eax, dword ptr [ebp-0C] 
:004A3210 E86F0AF6FF call 00403C84 
:004A3215 E965010000 jmp 004A337F 

* Referenced by a (U)nconditional or ?ondITional Jump at Address: 
|:004A338C? 

:004A321A 33DB xor ebx, ebx 
:004A321C 8B45FC mov eax, dword ptr [ebp-04];eax="SMARSL" 
:004A321F E8E00CF6FF call 00403F04;求长度 
:004A3224 8BF8 mov edi, eax;eax=7 
:004A3226 85FF test edi, edi 
:004A3228 7E13 jle 004A323D 
:004A322A BE01000000 mov esi, 00000001 

* Referenced by a (U)nconditional or ?ondITional Jump at Address: 
|:004A323B? 

:004A322F 8B45FC mov eax, dword ptr [ebp-04] 
:004A3232 0FB64430FF movzx eax, byte ptr [eax+esi-01] 
:004A3237 03D8 add ebx, eax 
:004A3239 46 inc esi 
:004A323A 4F dec edi 
:004A323B 75F2 jne 004A322F;循环求各位累加和 

* Referenced by a (U)nconditional or ?ondITional Jump at Address: 
|:004A3228? 

:004A323D 8D95C0FCFFFF lea edx, dword ptr [ebp+FFFFFCC0] 
:004A3243 8B45FC mov eax, dword ptr [ebp-04];eax="SMARTSL" 
:004A3246 E855140000 call 004A46A0;<---重要 
:004A324B 8B95C0FCFFFF mov edx, dword ptr[ebp+FFFFFCC0];edx="U01BUlRTTA==" 
:004A3251 8D45FC lea eax, dword ptr [ebp-04] 
:004A3254 E8C30AF6FF call 00403D1C 
:004A3259 8B45FC mov eax, dword ptr [ebp-04] 
:004A325C E8A30CF6FF call 00403F04 
:004A3261 8BF0 mov esi, eax 
:004A3263 83C31B add ebx, 0000001B 
:004A3266 03F3 add esi, ebx 
:004A3268 8B45F8 mov eax, dword ptr [ebp-08];"80368332833078277730" 
:004A326B E8940CF6FF call 00403F04 
:004A3270 03F0 add esi, eax;eax=0x14 
:004A3272 89B5C4FCFFFF mov dword ptr [ebp+FFFFFCC4], esi 
:004A3278 8B45FC mov eax, dword ptr [ebp-04] 
:004A327B E8840CF6FF call 00403F04 
:004A3280 8BF8 mov edi, eax 
:004A3282 85FF test edi, edi;edi=下面的循环次数 
:004A3284 0F8ECD000000 jle 004A3357 
:004A328A BE01000000 mov esi, 00000001 
:004A328F 8D9DC4FCFFFF lea ebx, dword ptr [ebp+FFFFFCC4] 

* Referenced by a (U)nconditional or ?ondITional Jump at Address: 
|:004A3351? 

:004A3295 8B45F8 mov eax, dword ptr [ebp-08];开始--------BEGIN 
:004A3298 E8670CF6FF call 00403F04 
:004A329D 3BF0 cmp esi, eax 
:004A329F 7F2F jg 004A32D0;大于就跳 
:004A32A1 8D85BCFCFFFF lea eax, dword ptr [ebp+FFFFFCBC] 
:004A32A7 50 push eax 
:004A32A8 8BCE mov ecx, esi 
:004A32AA 8BD6 mov edx, esi 
:004A32AC 8B45F8 mov eax, dword ptr [ebp-08] 
:004A32AF E83CFDFFFF call 004A2FF0 
:004A32B4 8B85BCFCFFFF mov eax, dword ptr [ebp+FFFFFCBC] 
:004A32BA E8FD59F6FF call 00408CBC 
:004A32BF 8B55FC mov edx, dword ptr [ebp-04];此时的eax=用户ID对应个位值 
:004A32C2 0FB65432FF movzx edx, byte ptr [edx+esi-01];edx=取出用户名转换后的字串中第esi个字符的ascii值 
:004A32C7 0313 add edx, dword ptr [ebx];[ebx]=前面的累加值 
:004A32C9 03C2 add eax, edx 
:004A32CB 894304 mov dword ptr [ebx+04], eax;eax=上面3者之和 
:004A32CE EB0D jmp 004A32DD 

* Referenced by a (U)nconditional or ?ondITional Jump at Address: 
|:004A329F? 

:004A32D0 8B45FC mov eax, dword ptr [ebp-04];如果超过用户ID的长度就到这里 
:004A32D3 0FB64430FF movzx eax, byte ptr [eax+esi-01] 
:004A32D8 0303 add eax, dword ptr [ebx] 
:004A32DA 894304 mov dword ptr [ebx+04], eax;eax=上面2者之和 

* Referenced by a (U)nconditional or ?ondITional Jump at Address: 
|:004A32CE(U) 

:004A32DD 8D55F0 lea edx, dword ptr [ebp-10] 
:004A32E0 8B4304 mov eax, dword ptr [ebx+04] 
:004A32E3 E8A459F6FF call 00408C8C 
:004A32E8 8B45F0 mov eax, dword ptr [ebp-10];eax="702"运算结果 
:004A32EB E8140CF6FF call 00403F04;求长度 
:004A32F0 83F802 cmp eax, 00000002;no jump 
:004A32F3 7E38 jle 004A332D 
:004A32F5 8D85B8FCFFFF lea eax, dword ptr [ebp+FFFFFCB8] 
:004A32FB 50 push eax 
:004A32FC 8B45F0 mov eax, dword ptr [ebp-10] 
:004A32FF E8000CF6FF call 00403F04 
:004A3304 8BD0 mov edx, eax 
:004A3306 4A dec edx 
:004A3307 B9E8030000 mov ecx, 000003E8;0x3E8=1000 
:004A330C 8B45F0 mov eax, dword ptr [ebp-10] 
:004A330F E8DCFCFFFF call 004A2FF0 
:004A3314 8B95B8FCFFFF mov edx, dword ptr [ebp+FFFFFCB8] 
:004A331A 8D45F0 lea eax, dword ptr [ebp-10] 
:004A331D E8FA09F6FF call 00403D1C 
:004A3322 8B45F0 mov eax, dword ptr [ebp-10] 
:004A3325 E89259F6FF call 00408CBC 
:004A332A 894304 mov dword ptr [ebx+04], eax;eax为16进制数,保存 

* Referenced by a (U)nconditional or ?ondITional Jump at Address: 
|:004A32F3? 

:004A332D 8D95B4FCFFFF lea edx, dword ptr [ebp+FFFFFCB4] 
:004A3333 8B4304 mov eax, dword ptr [ebx+04] 
:004A3336 E85159F6FF call 00408C8C 
:004A333B 8B95B4FCFFFF mov edx, dword ptr [ebp+FFFFFCB4] 
:004A3341 8B45F4 mov eax, dword ptr [ebp-0C] 
:004A3344 E8C30BF6FF call 00403F0C 
:004A3349 8B45F4 mov eax, dword ptr [ebp-0C] 
:004A334C 46 inc esi 
:004A334D 83C304 add ebx, 00000004 
:004A3350 4F dec edi 
:004A3351 0F853EFFFFFF jne 004A3295;跳回---------END 

* Referenced by a (U)nconditional or ?ondITional Jump at Address: 
|:004A3284? 

:004A3357 8B45F4 mov eax, dword ptr [ebp-0C] 
:004A335A 8B00 mov eax, dword ptr [eax] 
:004A335C E8A30BF6FF call 00403F04 
:004A3361 8D95B0FCFFFF lea edx, dword ptr [ebp+FFFFFCB0] 
:004A3367 E82059F6FF call 00408C8C 
:004A336C 8B95B0FCFFFF mov edx, dword ptr [ebp+FFFFFCB0] 
:004A3372 8B4DF4 mov ecx, dword ptr [ebp-0C] 
:004A3375 8B09 mov ecx, dword ptr [ecx] 
:004A3377 8D45FC lea eax, dword ptr [ebp-04] 
:004A337A E8D10BF6FF call 00403F50 

* Referenced by a (U)nconditional or ?ondITional Jump at Address: 
|:004A3215(U) 

:004A337F 8B45F4 mov eax, dword ptr [ebp-0C] 
:004A3382 8B00 mov eax, dword ptr [eax];eax="250274677863494197334" 
:004A3384 E87B0BF6FF call 00403F04;求长度 
:004A3389 83F815 cmp eax, 00000015;必须大于等于0x15=21 
:004A338C 0F8C88FEFFFF jl 004A321A;否则跳回去 
:004A3392 8D85ACFCFFFF lea eax, dword ptr [ebp+FFFFFCAC] 
:004A3398 50 push eax 
:004A3399 8B45F4 mov eax, dword ptr [ebp-0C] 
:004A339C 8B00 mov eax, dword ptr [eax] 
:004A339E E8610BF6FF call 00403F04 
:004A33A3 50 push eax 
:004A33A4 8B45F4 mov eax, dword ptr [ebp-0C] 
:004A33A7 8B00 mov eax, dword ptr [eax] 
:004A33A9 E8560BF6FF call 00403F04 
:004A33AE 8BD0 mov edx, eax 
:004A33B0 83EA13 sub edx, 00000013 
:004A33B3 8B45F4 mov eax, dword ptr [ebp-0C] 
:004A33B6 8B00 mov eax, dword ptr [eax] 
:004A33B8 59 pop ecx 
:004A33B9 E832FCFFFF call 004A2FF0 
:004A33BE 8B95ACFCFFFF mov edx, dword ptr [ebp+FFFFFCAC] 
:004A33C4 8B45F4 mov eax, dword ptr [ebp-0C] 
:004A33C7 E80C09F6FF call 00403CD8 
:004A33CC 33DB xor ebx, ebx 
:004A33CE 8B45F8 mov eax, dword ptr [ebp-08] 
:004A33D1 E82E0BF6FF call 00403F04 
:004A33D6 8BF8 mov edi, eax 
:004A33D8 85FF test edi, edi 
:004A33DA 7E28 jle 004A3404 
:004A33DC BE01000000 mov esi, 00000001 

[1] [2] 下一页

  • 上一篇文章:

  • 下一篇文章:
  •  
    最进更新
    普通文章瑞星公司06月04日发布 每日计06-04
    普通文章陕西省地震局网站两次遭到"黑06-04
    普通文章谨防"Flash蛀虫"病毒 已感染06-04
    普通文章安全预警:“肉鸡猎人”抓肉06-04
    普通文章灰鸽子伪装成MSN、QQ等常用图06-04
    普通文章微软:Safari浏览器存在安全06-04
    普通文章中国黑客被疑导致美国2003年06-04
    普通文章微软建议用户暂停用苹果Safa06-04
    普通文章台北世贸中心官网被挂马06-04
    普通文章电脑身份验证无处不在 让黑客06-04
     
    推荐文章
    推荐文章触目惊心 专家解读黑色产业链06-04
    推荐文章网络黑色产业链日渐成型 奥运06-04
    推荐文章保护DNS服务器十大技巧06-04
    推荐文章Vista在非常规状态下数据备份06-04
    推荐文章Linux IPv6环境下DNS服务器配05-01
    推荐文章信息安全:阻止SSH口令尝试工05-01
    推荐文章解决网内终端无法通信故障05-01
    推荐文章熟透各种特殊IP地址 将IP藏一05-01
    推荐文章IE用户减少,黑客盯上Safari 05-01
    推荐文章我国网络安全形势非常严峻 应04-30
     
    热点文章 
    普通文章灰鸽子伪装成MSN、QQ等常用图06-04
    普通文章中国黑客被疑导致美国2003年06-04
    普通文章电脑身份验证无处不在 让黑客06-04
    推荐文章触目惊心 专家解读黑色产业链06-04
    普通文章Windows系统用户摆脱黑客攻击06-04
    普通文章病毒导致输入法无法切换的处06-04
    普通文章Informix注入整理05-23
    普通文章Cookies的注入方法和原理05-23
    普通文章SQL注射修改难猜解的MD505-23
    普通文章黑客眼中的OpenSSL:强大的密05-05

    | 设为首页 | 加入收藏 | 联系站长 | 广告服务 | 友情链接 | 版权申明 | 网站地图 |

    在线交流 捷凌网安主群:51649627
    Copyright 2007-2008 © 捷凌网安. All rights reserved.
    备案序号:蜀ICP备08001812号