吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 32644|回复: 105
收起左侧

[原创] [新手教程]鼠标连点器v2.0 脱壳(ASProtect v1.23 RC1) + 注册机

  [复制链接]
Chief 发表于 2013-5-27 12:04
本帖最后由 Peace 于 2013-5-29 08:09 编辑

【文章标题】:[新手教程]鼠标连点器v2.0 脱壳(ASProtect v1.23 RC1) + 注册机
【文章作者】: Chief
【作者邮箱】: Hi_Chief@163.com
【作者主页】: http://hi.baidu.com/Hi_Chief
【下载地址】: 见附件
【保护方式】: ASProtect v1.23 RC1保护壳+注册码
【使用工具】: PEiD,OllyDbg,ImportREC
【作者声明】: 脱壳方法大部分收集于网络,总结自己的小方法,哪里不对还望各位指点!
--------------------------------------------------------------------------------
【详细过程】

首先查壳:ASProtect v1.23 RC1
1.jpg
入口:
00401000 >  68 01005400     push 鼠键连点.00540001
00401005    E8 01000000     call 鼠键连点.0040100B
0040100A    C3              retn
0040100B    C3              retn
0040100C    70 0F           jo short 鼠键连点.0040101D
0040100E    1170 BD         adc dword ptr ds:[eax-43],esi
00401011    A1 29315024     mov eax,dword ptr ds:[24503129]
00401016    5F              pop edi
00401017    2B8F 00C2D8DE   sub ecx,dword ptr ds:[edi+DED8C200]
0040101D    9B              wait
0040101E    8F              ???                                      ; 未知命令
0040101F    24 15           and al,15
00401021    49              dec ecx
00401022    FA              cli
00401023    C006 6A         rol byte ptr ds:[esi],6A
00401026    51              push ecx
00401027    95              xchg eax,ebp
2.jpg

先设置OD
打开OD--选项--调试设置---异常
去掉   INT3 中断    非法访问内存  前面的勾    如图:
3.jpg
设置StrongOD  如图:
4.jpg
(这里要说下,OD设置不同,所以有的会跑飞,预防新同学不会设置,我会把设置好的OD给大家打包(OD来自网络),提供给大家练习)

一切设置完毕后,F9运行
运行后会停在如下位置
00000: 00E6FF66    0000            add byte ptr ds:[eax],al
00001: 00E6FF68    E8 33C05A59     call 5A41BFA0
00002: 00E6FF6D    59              pop ecx
00003: 00E6FF6E    64:8910         mov dword ptr fs:[eax],edx
00004: 00E6FF71    EB 0F           jmp short 00E6FF82
00005: 00E6FF73  ^ E9 F02EFCFF     jmp 00E32E68
00006: 00E6FF78    E8 67FBFFFF     call 00E6FAE4
00007: 00E6FF7D    E8 4232FCFF     call 00E331C4
00008: 00E6FF82    E8 05E9FFFF     call 00E6E88C
00009: 00E6FF87    33C0            xor eax,eax
00010: 00E6FF89    5A              pop edx
00011: 00E6FF8A    59              pop ecx
00012: 00E6FF8B    59              pop ecx
00013: 00E6FF8C    64:8910         mov dword ptr fs:[eax],edx
00014: 00E6FF8F    68 A4FFE600     push 0E6FFA4
00015: 00E6FF94    8D45 F4         lea eax,dword ptr ss:[ebp-C]
00016: 00E6FF97    E8 5C37FCFF     call 00E336F8
5.jpg
////////////////////////////////////////////////////////////
注意左下角的提示:如图:
6.jpg
////////////////////////////////////////////////////////////
此时我们Shift+F9 继续运行
来到
00000: 00E6E2BB    90              nop
00001: 00E6E2BC    EB 01           jmp short 00E6E2BF
00002: 00E6E2BE    6966 81 FE47467>imul esp,dword ptr ds:[esi-7F],744647FE
00003: 00E6E2C5    05 31C040EB     add eax,EB40C031
00004: 00E6E2CA    0231            add dh,byte ptr ds:[ecx]
00005: 00E6E2CC    C031 DB         sal byte ptr ds:[ecx],0DB
00006: 00E6E2CF    64:8F03         pop dword ptr fs:[ebx]
00007: 00E6E2D2    83C4 04         add esp,4
00008: 00E6E2D5    EB 01           jmp short 00E6E2D8
00009: 00E6E2D7    E8 5F5E5BC3     call C442413B
7.jpg
////////////////////////////////////////////////////////////
继续F9运行
停到如下位置
00000: 00E6F004    0000            add byte ptr ds:[eax],al
00001: 00E6F006    E8 33C05A59     call 5A41B03E
00002: 00E6F00B    59              pop ecx
00003: 00E6F00C    64:8910         mov dword ptr fs:[eax],edx
00004: 00E6F00F    EB 0F           jmp short 00E6F020
00005: 00E6F011  ^ E9 523EFCFF     jmp 00E32E68
00006: 00E6F016    E8 A5FEFFFF     call 00E6EEC0
00007: 00E6F01B    E8 A441FCFF     call 00E331C4
00008: 00E6F020    A1 9C2BE700     mov eax,dword ptr ds:[E72B9C]
00009: 00E6F025    C600 CF         mov byte ptr ds:[eax],0CF
00010: 00E6F028    EB 7E           jmp short 00E6F0A8
00011: 00E6F02A    E8 1D35FCFF     call 00E3254C
8.jpg
////////////////////////////////////////////////////////////
此时我们会发现左下角又提示异常
继续 Shift+F9 运行
来到
00000: 00E6F382    0000            add byte ptr ds:[eax],al
00001: 00E6F384    E8 33C05A59     call 5A41B3BC
00002: 00E6F389    59              pop ecx
00003: 00E6F38A    64:8910         mov dword ptr fs:[eax],edx
00004: 00E6F38D    EB 2F           jmp short 00E6F3BE
00005: 00E6F38F  ^ E9 D43AFCFF     jmp 00E32E68
00006: 00E6F394    8B45 F8         mov eax,dword ptr ss:[ebp-8]
00007: 00E6F397    50              push eax
00008: 00E6F398    8B45 FC         mov eax,dword ptr ss:[ebp-4]
00009: 00E6F39B    50              push eax
00010: 00E6F39C    A1 242BE700     mov eax,dword ptr ds:[E72B24]
00011: 00E6F3A1    8B00            mov eax,dword ptr ds:[eax]
00012: 00E6F3A3    E8 B45DFFFF     call 00E6515C
9.jpg
还是一样左下角提示异常,继续Shift+F9 运行
来到
00000: 00E6E2BB    90              nop
00001: 00E6E2BC    EB 01           jmp short 00E6E2BF
00002: 00E6E2BE    6966 81 FE47467>imul esp,dword ptr ds:[esi-7F],744647FE
00003: 00E6E2C5    05 31C040EB     add eax,EB40C031
00004: 00E6E2CA    0231            add dh,byte ptr ds:[ecx]
00005: 00E6E2CC    C031 DB         sal byte ptr ds:[ecx],0DB
00006: 00E6E2CF    64:8F03         pop dword ptr fs:[ebx]
00007: 00E6E2D2    83C4 04         add esp,4
00008: 00E6E2D5    EB 01           jmp short 00E6E2D8
00009: 00E6E2D7    E8 5F5E5BC3     call C442413B

////////////////////////////////////////////////////////////
此时发现又回到 00E6E2BB这里了,此时若再次运行程序就跑飞了,
我们往下找到retn处,也就是段尾
00000: 00E6E32F   /EB 01           jmp short 00E6E332
00001: 00E6E331   |0F31            rdtsc
00002: 00E6E333    C040 5F 5E      rol byte ptr ds:[eax+5F],5E
00003: 00E6E337    EB 01           jmp short 00E6E33A
00004: 00E6E339    C7              ???                                      ; 未知命令
00005: 00E6E33A    5B              pop ebx
00006: 00E6E33B    5A              pop edx
00007: 00E6E33C    59              pop ecx
00008: 00E6E33D    C3              retn
10.jpg
////////////////////////////////////////////////////////////
00E6E33D 处 F2下断   F9继续运行
////////////////////////////////////////////////////////////
11.jpg
////////////////////////////////////////////////////////////
如图已经被断下,此时取消断点
ALT+M打开内存映射
找到代码段,如图
12.jpg
////////////////////////////////////////////////////////////
00401000处F2下断
Shift+F9 运行
来到
00000: 0053F17B    8128 51CB68A5   sub dword ptr ds:[eax],A568CB51
00001: 0053F181    EB 24           jmp short 鼠键连点.0053F1A7
00002: 0053F183  ^ E3 E9           jecxz short 鼠键连点.0053F16E
00003: 0053F185    34 EA           xor al,0EA
00004: 0053F187    F8              clc
00005: 0053F188    6F              outs dx,dword ptr es:[edi]
00006: 0053F189    96              xchg eax,esi
00007: 0053F18A    2D 33F0BDF5     sub eax,F5BDF033
00008: 0053F18F    60              pushad
00009: 0053F190    16              push ss
00010: 0053F191    814CB4 58 498D6>or dword ptr ss:[esp+esi*4+58],13688D49
00011: 0053F199    CE              into
00012: 0053F19A    1BA7 DC2252AA   sbb esp,dword ptr ds:[edi+AA5222DC]
00013: 0053F1A0    15 F0BE22BE     adc eax,BE22BEF0
00014: 0053F1A5    05 8B83C004     add eax,4C0838B
00015: 0053F1AA    EB 0C           jmp short 鼠键连点.0053F1B8
13.jpg
F8往下走几次来到如图
00000: 0053F1D1    95              xchg eax,ebp
00001: 0053F1D2    52              push edx
00002: 0053F1D3    94              xchg eax,esp
00003: 0053F1D4    CF              iretd
00004: 0053F1D5  ^ 0F85 79FFFFFF   jnz 鼠键连点.0053F154
00005: 0053F1DB    EB 08           jmp short 鼠键连点.0053F1E5                  ; F4 运行到所选位置
00006: 0053F1DD    C7              ???                                      ; 未知命令
14.jpg
往上跳,我们选中0053F1DB -------  F4 运行到所选位置

F8继续往下走来到如图,又是往上跳,继续选中下面一行代码F4
00000: 0053F207    832F 01         sub dword ptr ds:[edi],1
00001: 0053F20A    F9              stc
00002: 0053F20B    72 01           jb short 鼠键连点.0053F20E
00003: 0053F20D    F1              int1
00004: 0053F20E  ^ 0F85 CEFEFFFF   jnz 鼠键连点.0053F0E2
00005: 0053F214    EB 16           jmp short 鼠键连点.0053F22C                  ;  F4 运行到所选位置
00006: 0053F216    1153 41         adc dword ptr ds:[ebx+41],edx
15.jpg
一路F8,就到OEP了  OEP:0045E585
00000: 0045E585    55              push ebp                                 ; 来到 OEP了
00001: 0045E586    8BEC            mov ebp,esp
00002: 0045E588    6A FF           push -1
00003: 0045E58A    68 E8E24C00     push 鼠键连点.004CE2E8
00004: 0045E58F    68 C40F4600     push 鼠键连点.00460FC4
00005: 0045E594    64:A1 00000000  mov eax,dword ptr fs:[0]
00006: 0045E59A    50              push eax
00007: 0045E59B    64:8925 0000000>mov dword ptr fs:[0],esp
00008: 0045E5A2    83EC 58         sub esp,58
00009: 0045E5A5    53              push ebx
00010: 0045E5A6    56              push esi
00011: 0045E5A7    57              push edi
00012: 0045E5A8    8965 E8         mov dword ptr ss:[ebp-18],esp
00013: 0045E5AB    FF15 94014800   call dword ptr ds:[480194]               ; kernel32.GetVersion
16.jpg
此时用OllyDump脱壳保存

小总结一下步骤
F9 运行来到 00E6FF66
Shift+F9 运行来到 00E6E2BB
F9 运行来到  00E6F004
Shift+F9 运行来到 00E6F382
Shift+F9 运行来到 00E6E2BB
RETN处00E6E33D  F2断点  
F9运行----取消断点----Alt+M----代码段00401000(F2断点)---Shift+F9运行
一路F8往下走,遇到往上跳的,选中下面一行代码F4。

接下来就是修复了,打开ImportREC
选取我们的进程
填入OEP:5E585
自动查找IAT,获取输入表  修复转储文件
17.jpg


/////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////接下来就是破解部分了//////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////


载入脱壳修复后的程序 F9运行
Ctrl+B 输入 FF55FC5F5E(易语言按钮事件)来到 004258CD -----  F2 下断

随意输入我们的假码
CPU系列号:S178BFBFF00060FB2J
用户名称:Chief
注册码:52pojie
19.jpg

点击注册此时会断在004258CD   按钮事件这里
F7进入来到
00000: 00404034  /.  55            push ebp                                 ;  (Initial CPU selection)
00001: 00404035  |.  8BEC          mov ebp,esp
00002: 00404037  |.  81EC 0C000000 sub esp,0C
00003: 0040403D  |.  E8 66010000   call Dump_.004041A8
00004: 00404042  |.  8945 FC       mov [local.1],eax
00005: 00404045  |.  6A FF         push -1
00006: 00404047  |.  6A 08         push 8
00007: 00404049  |.  68 29180116   push 16011829
00008: 0040404E  |.  68 1E180152   push 5201181E
00009: 00404053  |.  E8 4F1A0000   call Dump_.00405AA7
21.jpg

F8往下
0040403D       F7进入
来到
00000: 004041A8  /$  55            push ebp
00001: 004041A9  |.  8BEC          mov ebp,esp
00002: 004041AB  |.  81EC 0C000000 sub esp,0C
00003: 004041B1  |.  68 04000080   push 80000004
00004: 004041B6  |.  6A 00         push 0
00005: 004041B8  |.  68 42304800   push Dump_.00483042            ;  ASCII "STR_UINTIP=1;STR_QLOGIN_VERSION_ERR=2;STR_NO_UIN=3;STR_NO_PWD=4;STR_NO_VCODE=5;STR_INV_UIN=6;STR_INV_VCODE=7;STR_UIN=8;STR_PWD=9;STR_VCODE=10;STR_VCODE_TIP=11;STR_CHANGE_VCODE=12;STR_REMEMBER_PWD=13;STR_1_DAY=14;STR_1_WEEK=15;STR_1_MONTH"...
00006: 004041BD  |.  68 01000300   push 30001
00007: 004041C2  |.  68 20180116   push 16011820
00008: 004041C7  |.  68 1E180152   push 5201181E
00009: 004041CC  |.  68 02000000   push 2
00010: 004041D1  |.  B8 02000000   mov eax,2
00011: 004041D6  |.  BB E0464500   mov ebx,Dump_.004546E0
22.jpg

F8来到004041F6后我们发现寄存器里出现CPU系列号:S178BFBFF00060FB2J
23.jpg
继续往下走
来到0040423F  寄存器出现一串码 :9A2AF2BF18B8E84A8C0008E093C69A1D(会不会是注册码?试试。)
24.jpg
复制9A2AF2BF18B8E84A8C0008E093C69A1D   注册看看
24.jpg
注册码保存位置:
[HKEY_CURRENT_USER\windows\tyhhq]
"sj"="9A2AF2BF18B8E84A8C0008E093C69A1D"

提示成功了,那说明这串字符就是我们的真码了。
那他是怎么算出这串码的?
不难发现
系列号是直接获取了我们CPU系列号再加上他固定的字符,S+CPU系列号+J  既:S178BFBFF00060FB2J(我本机)
             (CPU序列号查看可以打开cmd  输入:wmic CPU get ProcessorID   回车 即可看到

注册码是将 系列号  用MD5加密  再转换成大写 = 注册码

易语言代码如下:源码我会打包

.版本 2
.支持库 dp1

.程序集 窗口程序集1

.子程序 _按钮1_被单击

编辑框2.加入文本 (到大写 (取数据摘要 (到字节集 (编辑框1.内容))))

25.jpg


Ps:至此就讲完了,觉得对你有帮助的就加分吧。

--------------------------------------------------------------------------------
【版权声明】: 本文原创于“吾爱破解论坛”Chief, 转载请注明作者并保持文章的完整, 谢谢!

                                                                    2013年05月27日

----------------------Peace:沙发也精彩喔------------------------------






ImportREC.rar

650 KB, 下载次数: 177, 下载积分: 吾爱币 -1 CB

OllyICE.rar

3.29 MB, 下载次数: 647, 下载积分: 吾爱币 -1 CB

鼠键连点器V2.0原程序 注册机 注册机源码.rar

995.85 KB, 下载次数: 712, 下载积分: 吾爱币 -1 CB

点评

注册机易语言就1行代码,C#写了20行......  发表于 2013-5-30 14:04

免费评分

参与人数 13热心值 +13 收起 理由
610100 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
vigers + 1 已答复!
吾爱扣扣 + 1 我很赞同!
小雨细无声 + 1 详细易懂,感谢!
qfhy123 + 1 我很赞同!
丶夜猫 + 1 前排支持。
Smallhorse + 1 感谢欣哥!说实话,论坛缺少的就是这样的书.
aa6438315 + 1 已答复!
dreamlzc + 1 下载学习一下!
kuwo911 + 1 精彩!
Peace + 1 膜拜
xheonen + 1 欢迎分析讨论交流,[吾爱破解论坛]有你更精.
Shark恒 + 1 精品啊!支持C大教我们学破解!

查看全部评分

本帖被以下淘专辑推荐:

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

我是烟花 发表于 2015-1-29 13:14
学习了                                                             多谢      
头像被屏蔽
吾爱丶沧桑 发表于 2014-3-13 21:20
好贴 我喜欢  多谢分享 希望以后大家 多多分享经验 共同进步
不错,支持了
赞                   赞               赞
 楼主| Chief 发表于 2013-5-27 12:04
本帖最后由 Peace 于 2013-5-28 09:54 编辑

占个位置,等待解答问题。

-----借楼编辑--------------------------------------
校长居然没用吾爱专用注册机。。。
附吾爱版注册机及源码截图
mouse.jpg

52Keygen.7z (307.3 KB, 下载次数: 53)
kuwo911 发表于 2013-5-27 13:52
非常详细   感谢 Chief  大牛分享精彩教程
簡簡單單 发表于 2013-5-27 15:32
这个暂时看不懂 慢慢来吧
dreamlzc 发表于 2013-5-27 16:19
下载学习一下!
q349806278 发表于 2013-5-27 16:24
图还是没有视频好,只能膜拜了

点评

时间允许的话,会列入考虑范围。  发表于 2013-5-27 22:09
丶夜猫 发表于 2013-5-27 19:48
之前看到了150权限   = =!

点评

额,昨晚保存草稿,设置了权限,今天发帖的时候忘记设置了,发了半天才发现,怎么都是版主在浏览,这才想起来。  发表于 2013-5-27 22:02
朢月xX 发表于 2013-5-27 20:40
看到眼花,有视频就好了

点评

本来打算破文一遍,视频一遍,破文其实更麻烦的,一步一截图,以后会考虑视频。  发表于 2013-5-27 22:04
cnmmb 发表于 2013-5-27 21:55
写的教程对新手来说有点难懂。不懂之处有:

注册码那里描述再详细一些会更容易理解

点评

这个软件是没算法的,是直接用固定字符 S+我们本机的CPU系列号+J 序列号再用MD5加密而已。不属于算法。  发表于 2013-5-27 22:07
cnmmb 发表于 2013-5-27 22:15
谢谢C讲解!我下载了,但是不知道那个E语言怎么弄
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则 警告:本版块禁止灌水或回复与主题无关内容,违者重罚!

快速回复 收藏帖子 返回列表 搜索

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-4-28 00:21

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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