日常暖手

系统 : Windows xp

程序 : dccrackme1

程序下载地址 :http://pan.baidu.com/s/1bpBlRXH

要求 : 注册机编写 & 拆解nag窗口

使用工具 : OD & DeDe

可在看雪论坛中查找关于此程序的破文,传送门

DeDe载入程序查看“过程”标签,其中有两个事件:

1.按钮点击,这肯定就是注册的按钮了

2.窗口创建,看来程序运行时的msg就是在这里编写的

首先把双击打开窗口创建的代码,拉到最后发现关键代码:

* Reference to: dialogs.ShowMessage(AnsiString);
|
004431A6   E8A9E6FFFF             call    00441854
004431AB   33C0                   xor     eax, eax
004431AD   5A                     pop     edx
004431AE   59                     pop     ecx
004431AF   59                     pop     ecx
004431B0   648910                 mov     fs:[eax], edx

函数采用eax指向的字符串作为参数,直接nop掉就可以。

或者也可以默默地帮他加点料:

鼠标选中内存区域,右击选择二进制-》编辑,在文本框输入一些字符串,再点击继续运行

。。。。。。

解决了烦人的窗口,现在来看看注册代码:

00441C08  /.  55            push    ebp                              ;  Btn_click
00441C09  |.  8BEC          mov     ebp, esp
00441C0B  |.  33C9          xor     ecx, ecx
00441C0D  |.  51            push    ecx
00441C0E  |.  51            push    ecx
00441C0F  |.  51            push    ecx
00441C10  |.  51            push    ecx
00441C11  |.  53            push    ebx
00441C12  |.  56            push    esi
00441C13  |.  8945 FC       mov     dword ptr [ebp-4], eax
00441C16  |.  33C0          xor     eax, eax
00441C18  |.  55            push    ebp
00441C19  |.  68 CD1C4400   push    00441CCD
00441C1E  |.  64:FF30       push    dword ptr fs:[eax]
00441C21  |.  64:8920       mov     dword ptr fs:[eax], esp
00441C24  |.  33F6          xor     esi, esi
00441C26  |.  8D55 F8       lea     edx, dword ptr [ebp-8]
00441C29  |.  8B45 FC       mov     eax, dword ptr [ebp-4]
00441C2C  |.  8B80 C8020000 mov     eax, dword ptr [eax+2C8]
00441C32  |.  E8 8D16FEFF   call    004232C4                         ;  获取用户名
00441C37  |.  8B45 F8       mov     eax, dword ptr [ebp-8]
00441C3A  |.  E8 491EFCFF   call    00403A88                         ;  获取用户名长度
00441C3F  |.  8BD0          mov     edx, eax
00441C41  |.  85D2          test    edx, edx                         ;  不能为0
00441C43  |.  7E 22         jle     short 00441C67
00441C45  |.  B9 01000000   mov     ecx, 1
00441C4A  |>  8B45 F8       /mov     eax, dword ptr [ebp-8]
00441C4D  |.  8A4408 FF     |mov     al, byte ptr [eax+ecx-1]        ;  循环迭代用户名字符串
00441C51  |.  25 FF000000   |and     eax, 0FF
00441C56  |.  8BD8          |mov     ebx, eax
00441C58  |.  83EB 17       |sub     ebx, 17
00441C5B  |.  83E8 11       |sub     eax, 11
00441C5E  |.  0FAFD8        |imul    ebx, eax                        ;  (byte-17)*(byte-11)
00441C61  |.  03F3          |add     esi, ebx                        ;  累加
00441C63  |.  41            |inc     ecx
00441C64  |.  4A            |dec     edx                             ;  循环变量递减
00441C65  |.^ 75 E3         \jnz     short 00441C4A
00441C67  |>  8D55 F4       lea     edx, dword ptr [ebp-C]
00441C6A  |.  8B45 FC       mov     eax, dword ptr [ebp-4]
00441C6D  |.  8B80 CC020000 mov     eax, dword ptr [eax+2CC]
00441C73  |.  E8 4C16FEFF   call    004232C4                         ;  取出密码
00441C78  |.  8B45 F4       mov     eax, dword ptr [ebp-C]
00441C7B  |.  50            push    eax
00441C7C  |.  8D55 F0       lea     edx, dword ptr [ebp-10]
00441C7F  |.  8BC6          mov     eax, esi
00441C81  |.  E8 325AFCFF   call    004076B8                         ;  IntToStr
00441C86  |.  8B55 F0       mov     edx, dword ptr [ebp-10]          ;  算出的序列号
00441C89  |.  58            pop     eax
00441C8A  |.  E8 091FFCFF   call    00403B98                         ;  比较
00441C8F  |.  75 0C         jnz     short 00441C9D
00441C91  |.  A1 30584400   mov     eax, dword ptr [445830]
00441C96  |.  E8 B9FBFFFF   call    00441854
00441C9B  |.  EB 0A         jmp     short 00441CA7
00441C9D  |>  A1 34584400   mov     eax, dword ptr [445834]
00441CA2  |.  E8 ADFBFFFF   call    00441854
00441CA7  |>  33C0          xor     eax, eax
00441CA9  |.  5A            pop     edx
00441CAA  |.  59            pop     ecx
00441CAB  |.  59            pop     ecx

打开http://www.cnblogs.com/ZRBYYXDM/p/5115596.html中搭建的框架,修改OnBtnDecrypt函数如下:

void CKengen_TemplateDlg::OnBtnDecrypt()
{
    // TODO: Add your control notification handler code here
    CString str;
    GetDlgItemText( IDC_EDIT_NAME,str );                    //获取用户名字串基本信息。
    int len = str.GetLength();

    if ( len != 0 ){                                        //格式控制。
        unsigned int res = 0;
        for ( int i = 0 ; i != len ; i++ )
            res += (str[i]-0x17) * (str[i]-0x11);

        CString PassWord;
        PassWord.Format( "%d",res );
        SetDlgItemText( IDC_EDIT_PASSWORD,PassWord );
    }
    else
        MessageBox( "用户名格式错误!" );
}

再在OnInitDialog中添加此代码修改标题:SetWindowText(_T("Keygen"));

运行效果:

时间: 2024-11-18 01:32:41

日常暖手的相关文章

卡通毛绒暖宝宝 充电防爆暖手更暖心

卡通毛绒暖宝宝 充电防爆暖手更暖心 卡通毛绒暖宝宝 充电防爆暖手更暖心 我们用户买一个暖手宝,首先是要好看,同时更是要安全.之前有个同事用劣质的暖手宝,充电的时候竟然会自然起来,充电插头部分被完全融化掉,当是在办公室把全部的人都看呆了,幸好还没有爆掉,所以最最主要的就是必须要安全.而这个贴心人的暖手宝就是我们需要的类型,看起来阿狸的样子是分开爱,同时也是十分的安全.有一次我用这个牌子的暖手宝充电,上班忘记了拔掉插头,当是吓坏我了,以为会爆掉,回来一看,竟然会自动断电,真的是买的安心,用的放心啊

shell脚本——日常练手

1.猜数小游戏 关键点:命令写法 1.$RANDOM 的使用格式 2.反引号 用于执行命令 3.let 整数自加1的用法 4.引用局部变量,${ }格式 5.elif 后面也要跟 ;then #!/bin/bash #*************猜数游戏************* i=0 #记录猜数次数 num2=`echo $RANDOM | cut -c 1-2` #目标数指定随机值 while true #死循环 do read -p "请输入两位整数:" num1 #输入竞猜初始

中国古代手炉:一炉暖天下

明 铜雕锦地龙纹八宝手炉 清早期 张鸣岐款提梁手炉 清雍正 铜錾龙纹手炉 文_杏子 松灰笼暖袖先知,银叶香飘篆一丝. 顶伴梅花平出网,展环竹节卧生枝. 不愁冻玉棋难捻,且喜元霜笔易持. 纵使诗家寒到骨,阳春腕底已生姿. ――(清代)张劭 <手炉> <红楼梦>第八回,落了半日雪珠儿天,黛玉往梨花院探望养病在家的宝钗,没成想宝玉早在宝姐姐处相谈盛欢,当下酸意幽生.且又因宝钗说了一番"暖酒散热.冷酒凝结"的体己话,劝止了宝玉的饮冷酒,越发含酸.正不得出口时,可巧小丫鬟

自己不改变,2016也只是2015的重演

自己不改变,2016也只是2015的重演 标签(空格分隔): 反思小结 1.引言 离新年2016.1.1,已经过去将近两周,现在才来写2015年年终总结,也不算太晚吧! 前段时间就想写了,因为事多,加上自己的重度拖延症-今天休息听电台的时候, 听到了卢思浩的一篇文章:<自己不改变的话,新的一年也只是之前的重演>, 突然有种冲动,决定先放一放手头的工作,先把自己的年终总结写完,毕竟鸡汤文, 来一碗,鸡血满满!有兴趣的可以搜搜这篇文章- 2.回望2015 1)诸事不顺 2015年算是这么多年来过得

iOS开发多线程理论介绍

前言 线程是用来执行任务的,线程彻底执行完任务A才能去执行任务B.为了同时执行两个任务,产生了多线程. 就我们日常生活的例子来说: (1)我打开一个视频软件,我开辟一个线程A让它执行下载任务,我开辟一个线程B,用来播放视频.我开辟两个线程后,这两个任务能同时执行,如果我开辟一个线程,只有下载任务完成,才能去执行播放任务. (2)线程相当于店里的服务员,一个服务员同时只能做一件事情,多顾几个服务员,就能同时做很多事情. 在了解多线程之前我们先来介绍一下进程和线程 进程 进程是操作系统中运行的程序专

作为 IT 行业的过来人,有几句话想对你们说的

世界上没有技术驱动型公司,不论google.facebook,还是腾讯.阿里,都不是技术驱动型公司.因为技术不是源头,需求才是.因此一切技术问题,都要服从产品交付和市场反馈.所以,任何公司,都不可能以技术去驱动自身.人可以以技术驱动自己进步,但公司不行.一家公司可以以技术切入某个市场,但如果它想生存下去,就一定不能以技术为导向,坚持以技术为导向的公司的生命力为零,其下场有两个:破产或者在破产之前被收购.如果你真的很痴迷钻研技术,请读研读博最后留校或者进研究院让国家用纳税人的钱养你. 资本富集的地

紫罗兰的颜色浪漫

白衬衫是职场女性最不能缺少的一款单品,现在白衬衫的设计越来越多样化,风格不断推陈出新,下面为你推荐几款白衬衫,简 单搭配就能让你焕发迷人光彩:职场必备单品白衬衫 紫罗兰的颜色浪漫.梦幻,也充满了神秘.高贵与女人味,肩头处的褶皱拼接显灵动优雅,就从这小细节你便能体会到它 的别致与简约.腰部的收腰设计又是那么的妥帖.自然,打造迷人的身段.宽下摆随轻盈的面料飘逸摇曳,使整个人都显得气质 脱俗.优雅动人.波西米亚高腰连衣裙 胸前随手一搭的豹纹丝巾使整体搭配加分不少,腰间细牛皮腰带与同样是棕色系的工装短裤

手把手教你写专利申请书/怎样申请专利

手把手教你写专利申请书·怎样申请专利 摘要小前言(一)申请前的准备工作    1.申请前查询    2.其它方面的考虑    3.申请文件准备(二)填写专利申请系列文档    1.实际操作步骤    2.详细操作    3.经验分享.注意事项(三)关于费用(四)其它的话參考资源提示常见问题的问与答 摘要: 怎样写好专利申请?由于非常多专利申请人都是第一次申请,因此,可能有一种神奇和些许恐惧.本文写的是怎样写专利申请书,手把手教你写专利申请并提供申请专利时的注意事项,专利申请费用及费用减缓等相关參

至少20人死亡n6

在其位,谋其政,担其责.不少乡镇干部认为,自己身在基层,不过是"芝麻大的官儿",但却承担了"无限大的责任".确实,以往的乡镇工作千头万绪,纷繁复杂,上级部门的行政指令.考核任务等,最终都会层层分解到乡镇政府.但是,千任务.万任务,不能失去"公共服务"这一主任务.<意见>明确提出,要加快乡镇政府职能转变步伐,着力强化公共服务职能.根据<意见>,乡镇政府需要提供"六大类"基本公共服务和提供符合当地实际和人民