飘云阁

 找回密码
 加入我们

QQ登录

只需一步,快速开始

查看: 3301|回复: 2

配合比参考手册破解分析(PYG成员申请)

[复制链接]

该用户从未签到

发表于 2005-7-25 00:58:01 | 显示全部楼层 |阅读模式
破解作者】 magei
【作者邮箱】 [email protected]
【使用工具】 od c32asm PEiD UnAspack
【破解平台】 Win9x/NT/2000/XP
【软件名称】 配合比参考手册
【下载地址】 http://sygcs.9126.com/
【软件简介】 是混凝土设计时你参考的一个助手,它提供了从C15到C55所有的配合比,并分卵石和碎石混凝土,可根据不同强度的水泥,不同的坍落度,不同的水泥富裕系数提供不同的配合比!

【软件大小】 121k
【加壳方式】 aspack 2.12
【破解声明】 我是一只小菜鸟,本文章只为了加入PYG,偶得一点心得,愿与大家分享:)
--------------------------------------------------------------------------------
【破解内容】


1、用PEiD查壳,是ASPack 2.12 -> Alexey Solodovnikov
2、自然用UnAspack脱,也可以用手脱
3、用PEiD查脱壳后的vc6.0做的
4用C32ASM载入,ctrl+k搜索字符串找到成功提示
::004383A1::  83C4 04                  ADD ESP,4                              
::004383A4::  8BCE                     MOV ECX,ESI                             
::004383A6::  6A 00                    PUSH 0                                 
::004383A8::  68 E4334400              PUSH 4433E4                                 \->: 混凝土配合比参考手册
::004383AD::  68 88344400              PUSH 443488                                 \->:          谢谢你的支持!\x0D\x0A有什么好的建议和想法,请和我联系!\x0D\x0A      请你重新启动软件!!
::004383B2::  E8 4F250000              CALL 0043A906                           \:JMPDOWN    >>>: MFC42.DLL:?MessageBoxA@CWnd@@QAEHPBD0I@Z(对话窗口)
向上查找到
::00437EFC::  E8 292A0000              CALL 0043A92A                           \:JMPDOWN    >>>: MFC42.DLL:?GetDlgItemTextA@CWnd@@QBEHHAAVCString@@@Z(得到注册码)
::00437F09::  8B45 F0                  MOV EAX,[EBP-10]   
::00437F0C::  8B40 F8                  MOV EAX,[EAX-8]                        
::00437F0F::  83F8 10                  CMP EAX,10                              \:输入的注册码是不是16位,
::00437F12::  0F85 70020000            JNZ 00438188                            \:JMPDOWN   不是就返回重新输入   
.
.
.
::00437FCE::  E8 57290000              CALL 0043A92A                           \:JMPDOWN    >>>: MFC42.DLL:?GetDlgItemTextA@CWnd@@QBEHHAAVCString@@@Z(得到机器码)
::00437FD3::  8B4D D8                  MOV ECX,[EBP-28]                        
::00437FD6::  8B41 F8                  MOV EAX,[ECX-8]                        
::00437FD9::  83F8 08                  CMP EAX,8                               输入的机器码是不是8位,
::00437FDC::  0F85 76010000            JNZ 00438158                            \:JMPDOWN  不是就返回重新输入            
.
.
::00438026::  51                       PUSH ECX                                压入机器码
::00438027::  52                       PUSH EDX                                压入WL750415,应该是作者名字的和生日组合
::00438028::  8D4D DC                  LEA ECX,[EBP-24]                        
::0043802B::  E8 20D4FFFF              CALL 00435450                           \:JMPUP.把机器码和WL750415连接并处理L,要跟算法就F7
::00438030::  8B45 D3                  MOV EAX,[EBP-2D]                        
::00438033::  8B4D D2                  MOV ECX,[EBP-2E]                        
::00438036::  8B55 D1                  MOV EDX,[EBP-2F]                        
::00438039::  25 FF000000              AND EAX,FF                              
::0043803E::  81E1 FF000000            AND ECX,FF                              
00438030             8B45 D3             mov eax,dword ptr ss:[ebp-2D]
00438033             8B4D D2             mov ecx,dword ptr ss:[ebp-2E]
00438036             8B55 D1             mov edx,dword ptr ss:[ebp-2F]
00438039             25 FF000000         and eax,0FF                       对上面的处理的结果按位处理
0043803E             81E1 FF000000       and ecx,0FF
00438044             50                  push eax
00438045             8B45 D0             mov eax,dword ptr ss:[ebp-30]
00438048             51                  push ecx
00438049             8B4D CF             mov ecx,dword ptr ss:[ebp-31]
0043804C             81E2 FF000000       and edx,0FF
00438052             25 FF000000         and eax,0FF
00438057             52                  push edx
00438058             8B55 CE             mov edx,dword ptr ss:[ebp-32]
0043805B             81E1 FF000000       and ecx,0FF
00438061             50                  push eax
00438062             8B45 CD             mov eax,dword ptr ss:[ebp-33]
00438065             51                  push ecx
00438066             8B4D CC             mov ecx,dword ptr ss:[ebp-34]
00438069             81E2 FF000000       and edx,0FF
0043806F             25 FF000000         and eax,0FF
00438074             52                  push edx
00438075             81E1 FF000000       and ecx,0FF
0043807B             50                  push eax
0043807C             51                  push ecx
0043807D             8D55 E4             lea edx,dword ptr ss:[ebp-1C]
00438080             68 FC334400         push 混凝土配.004433FC                  ; ASCII "%02X%02X%02X%02X%02X%02X%02X%02X"
00438085             52                  push edx
00438086             E8 F3250000         call <jmp.&MFC42.#2818>                 应该是把上面的结果连接
0043808B             8B45 D3             mov eax,dword ptr ss:[ebp-2D]
0043808E             8B4D D2             mov ecx,dword ptr ss:[ebp-2E]
00438091             8B55 D1             mov edx,dword ptr ss:[ebp-2F]
00438094             25 FF000000         and eax,0FF                            :得到的字符串再按位处理
00438099             81E1 FF000000       and ecx,0FF
0043809F             0C 08               or al,8
004380A1             83F1 04             xor ecx,4
004380A4             50                  push eax
004380A5             8B45 D0             mov eax,dword ptr ss:[ebp-30]
004380A8             51                  push ecx
004380A9             8B4D CF             mov ecx,dword ptr ss:[ebp-31]
004380AC             81E2 FF000000       and edx,0FF
004380B2             25 FF000000         and eax,0FF
004380B7             83F2 05             xor edx,5
004380BA             81E1 FF000000       and ecx,0FF
004380C0             83F0 04             xor eax,4
004380C3             52                  push edx
004380C4             8B55 CE             mov edx,dword ptr ss:[ebp-32]
004380C7             83F1 03             xor ecx,3
004380CA             50                  push eax
004380CB             8B45 CD             mov eax,dword ptr ss:[ebp-33]
004380CE             51                  push ecx
004380CF             8B4D CC             mov ecx,dword ptr ss:[ebp-34]
004380D2             81E2 FF000000       and edx,0FF
004380D8             25 FF000000         and eax,0FF
004380DD             83F2 02             xor edx,2
004380E0             81E1 FF000000       and ecx,0FF
004380E6             83F0 01             xor eax,1
004380E9             52                  push edx
004380EA             83F1 01             xor ecx,1
004380ED             50                  push eax
004380EE             51                  push ecx
004380EF             8D55 E0             lea edx,dword ptr ss:[ebp-20]
004380F2             68 FC334400         push 混凝土配.004433FC                  ; ASCII "%02X%02X%02X%02X%02X%02X%02X%02X"
004380F7             52                  push edx
004380F8             E8 81250000         call <jmp.&MFC42.#2818>                  :再连接
004380FD             83C4 50             add esp,50                               :这时候可以在寄存器看到真码了
.
.
.
00438149             50              push eax                    压入真码
0043814A             51              push ecx                    压入假码
0043814B             FF15 34D54300   call dword ptr ds:[<&MSVCRT._mbscmp>; msvcrt._mbscmp 比较
00438151             83C4 08         add esp,8
00438154             85C0            test eax,eax                 
00438156             74 44           je short 混凝土配.0043819C    相等就跳
后面就不详细分析,如果不相等,这返回,相等则把注册放入注册表

--------------------------------------
【KeyMake之内存注册机】:


中断地址:00438100
中断次数:1
第一字节:E8
指令长度:5  
保存下列信息为注册码 - 内存方式
寄存器 ECX      

-------------------------------------------


【注册信息保存】:

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\MeasureSoft\配合比]
"key1"="67247087"
"key2"="305134427021A083"


—————————————————————————————————
               


--------------------------------------------------------------------------------
【算法总结】

机器码先与字符串“WL750415”连接成一个新的字符串,然后经过一系列的运算,转换一串数据,最后这个数据与
你输入的注册码比较如果相等那么注册成功
--------------------------------------------------------------------------------
【版权声明】 本文纯属技术交流, 转载请注明转自PYG及作者并保持文章的完整, 谢谢!

[ Last edited by magei on 2005-7-25 at 01:03 AM ]
PYG19周年生日快乐!
  • TA的每日心情
    开心
    2024-12-1 11:04
  • 签到天数: 12 天

    [LV.3]偶尔看看II

    发表于 2005-7-25 23:37:29 | 显示全部楼层
    这个可以~ 不过 发错了地方,再来两篇,算法分析详细一些!
    PYG19周年生日快乐!

    该用户从未签到

     楼主| 发表于 2005-7-26 11:43:09 | 显示全部楼层
    这个算法比较简单,就没说的那么多,发到那些啊
    PYG19周年生日快乐!
    您需要登录后才可以回帖 登录 | 加入我们

    本版积分规则

    快速回复 返回顶部 返回列表