吾爱汇编

 找回密码
 立即注册

QQ登录

绑定QQ避免忘记帐号

查看: 6649|回复: 38

[原创逆向图文] 利用堆栈找出注册关键——字符串,我不依赖你

  [复制链接]
mm475 发表于 2015-1-3 00:26 | 显示全部楼层 |阅读模式

最近比较忙,今天是2015年第二天,任然在加班!苦命的人!抽点时间写了这篇东西,希望能帮助新手在逆向中快速定位关键位置。
好了今天的软件是高效e
下载地址:
今天的逆向教程是不要去搜索字符串。希望各位在练习中也不要去查找字符串!该软件字符串没有加密!找不到合适的软件……唉!将就着学习
软件无壳,直接OD载入,
开始之前我们先思考几个问题:
1、  在逆向前我们要找到软件的限制在那里,在那里区别注册和未注册?
2、  逆向前分析软件的短板,从软件的最薄弱的地方入手,当然字符串是最短的板。假如字符串加密了,我们该怎么办?信息框提示,没有信息框提示呢?


1.jpg
我们今天从关于入手,程序里假如字符串加密,但是总要还原到软件中显示,那么怎么找呢?找内存中的字符串吧!开始
2.jpg
记住他的位置1F1A23B下内存访问断点。
3.jpg
我们知道堆栈的入栈方式是:“先入后出”那么箭头所指的3个地方程序的分支。他们都在出现未注册版本之前的。所以向下逐个分析call
第一个call
00A0CA08  |.  E8 53030000   call Efficien.00A0CD60
00A0CA0D  |.  84C0          test al,al
00A0CA0F      74 0C         je XEfficien.00A0CA1D         跳过jmp
00A0CA11  |.  8B45 08       mov eax,[arg.1]
00A0CA14  |.  8BD6          mov edx,esi
00A0CA16  |.  E8 898B9FFF   call Efficien.004055A4
00A0CA1B  |.  EB 21         jmp XEfficien.00A0CA3E        跳过返回处
00A0CA1D  |>  56            push esi
00A0CA1E  |.  8D45 F8       lea eax,[local.2]
00A0CA21  |.  50            push eax
00A0CA22  |.  8B4D FC       mov ecx,[local.1]
00A0CA25  |.  BA 6CCAA000   mov edx,Efficien.00A0CA6C
00A0CA2A  |.  8B43 08       mov eax,dword ptr ds:[ebx+0x8]
00A0CA2D  |.  8B30          mov esi,dword ptr ds:[eax]
00A0CA2F  |.  FF16          call dword ptr ds:[esi]
00A0CA31  |.  8B55 F8       mov edx,[local.2]                 返回处
分析得出:该软件是多国语言版本。如果跳过此处,就会是英文版本
4.jpg
第二处返回
00A235D0  /$  53            push ebx
00A235D1  |.  8BDA          mov ebx,edx
00A235D3  |.  53            push ebx
00A235D4  |.  B2 01         mov dl,0x1
00A235D6  |.  A1 DCBDA000   mov eax,dword ptr ds:[0xA0BDDC]
00A235DB  |.  E8 9494FEFF   call Efficien.00A0CA74
00A235E0  |.  B9 FC35A200   mov ecx,Efficien.00A235FC
00A235E5  |.  BA 1C36A200   mov edx,Efficien.00A2361C
00A235EA  |.  E8 F593FEFF   call Efficien.00A0C9E4
00A235EF  |.  5B            pop ebx
没有什么判断,只是调用了子程序!可以放弃这里分析
第三处返回
00C2E788   . /EB 5B         jmp XEfficien.00C2E7E5               跳过返回处
00C2E78A   > |B2 01         mov dl,0x1                这里必然是上面跳转下来
00C2E78C   . |A1 48B2A100   mov eax,dword ptr ds:[0xA1B248]
00C2E791   . |E8 4657DFFF   call Efficien.00A23EDC
00C2E796   . |8D95 7CFFFFFF lea edx,dword ptr ss:[ebp-0x84]
00C2E79C   . |E8 2F4EDFFF   call Efficien.00A235D0
00C2E7A1   . |8B95 7CFFFFFF mov edx,dword ptr ss:[ebp-0x84]         返回处
5.jpg
好大的跳转!哈哈就是他
没什么好的方案
只好把00C2E537     0F8E 4D020000  
修改为00C2E537     0F8E 00000000
6.jpg
好了,现在貌似启动软件还是提醒试用!有注册提示框,继续搞掉注册
还是用上面方法,巩固下姿势!嘿嘿

7.jpg
8.jpg
第一处返回
9.jpg

00A23494  /$  53            push ebx
00A23495  |.  8BDA          mov ebx,edx
00A23497  |.  53            push ebx
00A23498  |.  B2 01         mov dl,0x1
00A2349A  |.  A1 DCBDA000   mov eax,dword ptr ds:[0xA0BDDC]
00A2349F  |.  E8 D095FEFF   call Efficien.00A0CA74
00A234A4  |.  B9 C034A200   mov ecx,Efficien.00A234C0                ;  ASCII 53,"orry, your registration code is not valid. Please enter the code again."
00A234A9  |.  BA 1435A200   mov edx,Efficien.00A23514
00A234AE  |.  E8 3195FEFF   call Efficien.00A0C9E4
00A234B3  |.  5B            pop ebx
00A234B4  \.  C3            retn
我们猜这里是错误的提示开始,因为没有分支,但是有2次调用,这2处调用很可疑,如果错误就跳到这里来提示错误信息!我们到两处调用下断时会发现其实第二处调用正是我们第二次返回的地方!
先去第二处观察一下!
10.jpg

11.jpg
看来callxxxxxx  00c30964很关键啊
进去后代码很短
00A2AFE0  /$  83C4 E8       add esp,-0x18
00A2AFE3  |.  8BCC          mov ecx,esp
00A2AFE5  |.  E8 F6FCFFFF   call Efficien.00A2ACE0
00A2AFEA  |.  83C4 18       add esp,0x18
00A2AFED  \.  C3            retn
看来关键是00A2AFE5  |.  E8 F6FCFFFF   call Efficien.00A2ACE0
再次进入
00A2ACE0   $  55            push ebp
00A2ACE1   .  8BEC          mov ebp,esp
00A2ACE3   .  51            push ecx
00A2ACE4   .  B9 0A000000   mov ecx,0xA
00A2ACE9   >  6A 00         push 0x0
00A2ACEB   .  6A 00         push 0x0
00A2ACED   .  49            dec ecx
00A2ACEE   .^ 75 F9         jnz XEfficien.00A2ACE9
00A2ACF0   .  874D FC       xchg dword ptr ss:[ebp-0x4],ecx
00A2ACF3   .  53            push ebx
00A2ACF4   .  56            push esi
00A2ACF5   .  57            push edi
00A2ACF6   .  8BD9          mov ebx,ecx
00A2ACF8   .  8955 FC       mov dword ptr ss:[ebp-0x4],edx
00A2ACFB   .  8BF0          mov esi,eax
00A2ACFD   .  33C0          xor eax,eax
………………………………
00A2AFA2   .  68 BCAFA200   push Efficien.00A2AFBC
00A2AFA7   >  8D45 AC       lea eax,dword ptr ss:[ebp-0x54]
00A2AFAA   .  BA 13000000   mov edx,0x13
00A2AFAF   .  E8 C0A59DFF   call Efficien.00405574
00A2AFB4   .  C3            retn
00A2AFB5   .^ E9 0E9E9DFF   jmp Efficien.00404DC8
00A2AFBA   .^ EB EB         jmp XEfficien.00A2AFA7
00A2AFBC   .  8A45 FB       mov al,byte ptr ss:[ebp-0x5]
00A2AFBF   .  5F            pop edi
00A2AFC0   .  5E            pop esi
00A2AFC1   .  5B            pop ebx
00A2AFC2   .  8BE5          mov esp,ebp
00A2AFC4   .  5D            pop ebp
00A2AFC5   .  C3            retn
很长的代码,这一看就知道是算法
关键在结尾处
00A2AFBC   .  8A45 FB       mov al,byte ptr ss:[ebp-0x5]
在结束前给al赋值
分析代码一会再说,这里先爆破!
00A2AFBC   .  8A45 FB       mov al,byte ptr ss:[ebp]
随便找个不是0的给al赋值
12.jpg
至此软件启动没有提示注册框!关于也是注册的,至于功能我没用也不知道有没验证!
13.jpg
注册码共35位:
3位固定为“EP-
4-15位为任意12 000000000000
19位和第20位为固定的“31
22-24位为“000
28-35位,这几位存储的是购买日期。
20150102转换16进制1337756在倒叙6577331然后将顺数第三位移到倒数第三位6573731
28位、6
29位、5
31位、7
32位、3
33位、7
34位、3
35位、1
16位、第17位、第18位、第21
100转换16进制0064  23换位变0604
依次放到注册码的
21位、0
16位、6
17位、0
18位、4
注册码的第25位、第26位、第27位、第30位,这几位存储的是免费升级截至日期
201712日是24个月
24转化16进制0018 23换位还是0108
依次放到注册码的
30位、0
25位、1
26位、0
27位、8
注册码:EP-00000000000060431000010865073731
14.jpg
15.jpg
算法是别人写的,我也忘记是那里找的了,反正不是我!我还是菜鸟一枚,
准备在下半年开始学习算法,最近段时间在巩固汇编

评分

参与人数 51威望 +1 HB +97 THX +40 收起 理由
lies + 1
Jawon + 2
24567 + 1
林先生 + 2 + 1 [吾爱汇编论坛52HB.COM]-感谢楼主热心分享,小小评分不成敬意!
一路走来不容易 + 1
Soul1999 + 1
美好映像 + 2 + 1 [吾爱汇编论坛52HB.COM]-软件反汇编逆向分析,软件安全必不可少!
sjtkxy + 1
极速菜 + 1
行行行行行行 + 1
boot + 1
yexing + 1
消逝的过去 + 1
zyyujq + 1 + 1
风里去 + 1 [吾爱汇编论坛52HB.COM]-软件反汇编逆向分析,软件安全必不可少!
zxjzzh + 2 [吾爱汇编论坛52HB.COM]-软件反汇编逆向分析,软件安全必不可少!
weiran324 + 1 [吾爱汇编论坛52HB.COM]-吃水不忘打井人,给个评分懂感恩!
清风而已 + 1 [吾爱汇编论坛52HB.COM]-学破解防破解,知进攻懂防守!
无极剑圣啊 + 1 [吾爱汇编论坛52HB.COM]-学破解防破解,知进攻懂防守!
hnymsh + 1
kingcloud + 1 + 1 评分=感恩!简单却充满爱!感谢您的作品!
wjm219 + 1 + 1 ★★★★★ 热心人,佛祖保佑你事事顺利 ,财源滚滚!!!
hktkzyz + 2 + 1 ★★★★★ 热心人,佛祖保佑你事事顺利 ,财源滚滚!!!
vigers + 1 + 1 好人有好报!你的热心我永远不忘!谢谢!
歪歪 + 5 + 1 2015,羊年快乐,恭喜发财,万事如意!
Bei_eec + 1 2015,羊年快乐,恭喜发财,万事如意!
DDK + 2 + 1 ★★★★★ 热心人,佛祖保佑你事事顺利 ,财源滚滚!!!
ferline8 + 1 + 1 好人有好报!你的热心我永远不忘!谢谢!
langzi + 1 + 1 评分=感恩!简单却充满爱!感谢您的作品!
lovehost + 1 + 1 好人有好报!你的热心我永远不忘!谢谢!
ningzhonghui + 2 + 1 评分=感恩!简单却充满爱!感谢您的作品!
十月 + 2 + 1 ★★★★★ 热心人,佛祖保佑你事事顺利 ,财源滚滚!!!
Scar-疤痕 + 6 + 1 评分=感恩!简单却充满爱!感谢您的作品!
亿联网络 + 2 + 1 ★★★★★ 热心人,佛祖保佑你事事顺利 ,财源滚滚!!!
念桃无酒 + 2 + 1 评分=感恩!简单却充满爱!感谢您的作品!
yAxI丶9y + 10 + 1 评分=感恩!简单却充满爱!感谢您的作品!
bigeorry + 3 + 1 教程非常易懂,对新人帮助极大!楼主大爱!
七彩.祝 + 1 + 1 评分=感恩!简单却充满爱!感谢您的作品!
逍遥枷锁 + 2 + 1 好人有好报!你的热心我永远不忘!谢谢!
彡墨鱼灬丶 + 3 + 1 评分=感恩!简单却充满爱!感谢您的作品!
Mrsin + 2 + 1 评分=感恩!简单却充满爱!感谢您的作品!
kasher + 2 + 1 评分=感恩!简单却充满爱!感谢您的作品!
sndncel + 3 + 1 分析的很好。支持一下呀。哈哈。
l0v3cr4ck + 1 + 1 论坛有你更精彩!感谢楼主!
Desire + 2 + 1 ★★★★★ 热心人,佛祖保佑你事事顺利 ,财源滚滚!!!
小者 + 1 评分=感恩!简单却充满爱!感谢您的作品!
haliyou001 + 2 + 1 ★★★★★ 热心人,佛祖保佑你事事顺利 ,财源滚滚!!!
520Kelly + 1 + 1 ★★★★★ 热心人,佛祖保佑你事事顺利 ,财源滚滚!!!
虚竹 + 5 + 1 ★★★★★ 热心人,佛祖保佑你事事顺利 ,财源滚滚!!!
Shark恒 + 1 ★★★★★ 热心人,佛祖保佑你事事顺利 ,财源滚滚!!!

查看全部评分

吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
虚竹 发表于 2015-1-3 00:36 | 显示全部楼层
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
520Kelly 发表于 2015-1-3 00:52 | 显示全部楼层

膜拜算法帝、膜拜大神
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
haliyou001 发表于 2015-1-3 01:44 | 显示全部楼层
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
小者 发表于 2015-1-3 01:55 | 显示全部楼层

又是一位大神
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
l0v3cr4ck 发表于 2015-1-3 03:21 | 显示全部楼层
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
神秘客 发表于 2015-1-3 07:10 | 显示全部楼层

膜拜大牛,学习了
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
kasher 发表于 2015-1-3 08:29 | 显示全部楼层

今天又学到一招 膜拜一下
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
如痴如梦如癫 发表于 2015-1-3 08:34 | 显示全部楼层

这个必须学习下!
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
逍遥绝尘 发表于 2015-1-3 09:47 | 显示全部楼层

不错啊!!!!
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

警告:本站严惩灌水回复,尊重自己从尊重他人开始!

1层
2层
3层
4层
5层
6层
7层
8层
9层
10层

免责声明

吾爱汇编(www.52hb.com)所讨论的技术及相关工具仅限用于研究学习,皆在提高软件产品的安全性,严禁用于不良动机。任何个人、团体、组织不得将其用于非法目的,否则,一切后果自行承担。吾爱汇编不承担任何因为技术滥用所产生的连带责任。吾爱汇编内容源于网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除。如有侵权请邮件或微信与我们联系处理。

站长邮箱:SharkHeng@sina.com
站长QQ:1140549900


QQ|RSS|手机版|小黑屋|帮助|吾爱汇编 ( 京公网安备11011502005403号 , 京ICP备20003498号-6 )|网站地图

Powered by Discuz!

吾爱汇编 www.52hb.com

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