吾爱汇编

 找回密码
 立即注册

QQ登录

绑定QQ避免忘记帐号

查看: 12711|回复: 42

[经验资料] 不借用E盾任何特征码,从源头秒杀(貌似无视VMP)

  [复制链接]
sxdx1372 发表于 2018-4-25 15:56 | 显示全部楼层 |阅读模式

本帖最后由 sxdx1372 于 2018-4-25 18:12 编辑

1、拖入DO,运行起来。

2、先定义2个标记方便描述,后面所说的在标记1、标记2下断都是在所对应的FF25函数体下断,后面不在具体说明。要是没有下面2张图的话,那就是被VM了,自己对比确定,这里不详细说明。

标记1:
标记1.PNG
  标记2:
标记2.PNG
3、登录:标记2下断点击登录(有时钟检测的话自己用PCHunter移除),断下后F9运行,直到堆栈窗口顶第二行出现输入的卡号或密码停下来(返回地址是到VM区域的),堆栈顶返回地址下断F9。
修改方法如下:(修改完后F8单步返回)
mov eax,0x1
mov esp,ebp
pop ebp
retn

4、合法:取消标记2断点,在标记1下断F9运行1次(次数有的不同,保险期间可以在这里下个断点8B 44 24 0C 56 8B30 56(倒数第二个),经过这里的就是合法点),堆栈顶返回地址下断F9。
修改方法如下:(修改完后F8单步返回)
mov esp,ebp
pop ebp
retn
nop

5、算法:取消标记1断点,Ctrl+B搜索特征码55 8BEC 8B C1 40 C1 E0 02 2B E0,这个肯定是能找到的,段尾下断F9运行,直到堆栈窗口出现四个随机数信息后取消断点,F8单步返回,继续往下看。
0012F198   0041AA92  返回到 0041AA92 来自 0040142C
0012F19C   004E3F8B  ASCII "登录成功运算,"
0012F1A0   001CFFE8  ASCII "5150"
0012F1A4   004B2ED5  UNICODE ","
0012F1A8   001D2C30  ASCII "7877"
0012F1AC   004B2ED5  UNICODE ","
0012F1B0   001D29E8  ASCII "7080"
0012F1B4   004B2ED5  UNICODE ","
0012F1B8   001D1FE0  ASCII "5828"
在标记2下断F9运行11次,堆栈顶地址下断F9运行1次,可以发现寄存器中eax的值与[esp+4]指向的数值很相似但是不相等(更直观的说就是堆栈窗口里的一个数字字符串),此时把eax的值置0算法就这样过了。

6、暗桩:取消标记2断点,Ctrl+B搜索8B 44 24 0C 56 8B30 56(倒数第二个)段尾下断F9运行,断下后单步返回,一般2次,第1次前面已经修改过了,第2次需要修改,修改方法见下面(这2次都是合法性检测)

修改方法如下:(修改完后F8单步返回)
mov esp,ebp
pop ebp
retn
nop

2次合法检测后,取消上面的断点,在标记2下断F9运行1次,堆栈顶地址下断F9运行1次,此时把寄存器中eax的值置1就过掉了暗桩。

后面还有一次合法性检测,不用管,因为前面已经修改过了,取消所有断点,这里会有一个登录成功剩余时间的eax赋值,方法是在标记2下断F9运行1次,栈顶返回地址下断F9运行,修改eax 的值就是登录成功剩余时间,单位是秒,到这里基本上都解决了,取消所有断点F9运行应该会弹出登录成功窗体,要是后面还有暗桩的话,自己摸索了(比如到期时间判断、验证返回数据、再次调用远程计算、验证频率等等),教程到此结束,此方法基本可以通杀E盾个人版,无视各种壳、VMP,貌似牛B吹的有点大,此方法的核心就是程序运行都必须经过FF25函数体,以此为突破口。

最后说一个合法性检测的通杀的特征码8B 44 24 0C 56 8B30 56(倒数第二个),只要是经过这里的,F8单步返回后,如果寄存器前3个数字都是0的话,很大可能性就是合法检测,直接
mov esp,ebp
pop ebp
retn
nop

方法仅供学习和研究交流!!!有不对的地方请各位大神们指正.

点评

狐白小刺客”点评说:
所谓的标记是 易语言核心调用库 只有一个  发表于 2018-4-25 19:46

评分

参与人数 24HB +42 THX +19 收起 理由
虚心学习 + 1
zxjzzh + 1 [吾爱汇编论坛52HB.COM]-学破解防破解,知进攻懂防守!
一路走来不容易 + 2
消逝的过去 + 1
zyyujq + 1
三月十六 + 1
落雪玉 + 1
liugu0hai + 1 + 1 [吾爱汇编论坛52HB.COM]-感谢楼主热心分享,小小评分不成敬意!
lies + 1
裸奔也是一种美 + 1 [吾爱汇编论坛52HB.COM]-软件反汇编逆向分析,软件安全必不可少!
白云点缀的蓝 + 6 + 1 [快捷评语]--评分=感恩!简单却充满爱!感谢您的作品!
我是墨白!! + 2 + 1 [快捷评语]--你将受到所有人的崇拜!
Cloud + 1 + 1 [快捷评语] - 评分=感恩!简单却充满爱!感谢您的作品!
Anonymous. + 1 + 1 [快捷评语] - 吃水不忘打井人,给个评分懂感恩!
zzzxc123 + 2 + 1 [快捷评语] - 评分=感恩!简单却充满爱!感谢您的作品!
海天一色001 + 2 + 1 [快捷评语] - 评分=感恩!简单却充满爱!感谢您的作品!
售野生奥特曼 + 3 + 1 [快捷评语] - 评分=感恩!简单却充满爱!感谢您的作品!
野. + 1 + 1 [快捷评语] - 吃水不忘打井人,给个评分懂感恩!
cctvalo + 1 + 1 无敌的干货啊
影风 + 1 + 1 [快捷评语] - 2018,狗年发发发,狗年旺旺旺!
xiaosi + 2 + 1 [快捷评语] - 2018,狗年发发发,狗年旺旺旺!
梦辰 + 2 + 1 [快捷评语] - 2018,狗年发发发,狗年旺旺旺!
hardchao + 1 + 1 [快捷评语] - 评分=感恩!简单却充满爱!感谢您的作品!
Shark恒 + 10 + 1 [快捷评语] - 评分=感恩!简单却充满爱!感谢您的作品!

查看全部评分

吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
 楼主| sxdx1372 发表于 2018-4-25 18:24 | 显示全部楼层

本帖最后由 sxdx1372 于 2018-4-25 22:42 编辑

断下后F9运行次数不是绝对的,重点是看堆栈窗口的数据,自己可以编译一个源码看看,对比堆栈数据,确定正确返回点
如果时钟移除不掉的话,可以在这里下个断点8B 44 24 0C 56 8B30 56(倒数第二个)F9,查看堆栈。
从按钮事件到登录call里面有4层堆栈,我们只需要3层就可以了,也可以在第4层堆栈找返回地址修改,第4层自己可以编译源码查看。
堆栈:相同颜色内的是同一层堆栈,每层栈顶下的地址就是该CALL的返回地址
0012F414   0012F43C
0012F418   014D90A0  E盾个人014D90A0   第三层CALL返回地址 (就是登录特征码CALL)
0012F41C   011E9BF8  E盾个人011E9BF8
0012F420   00000001
0012F424   0012F468
0012F428   00000001
0012F42C   00000000
0012F430   00000000
0012F434   006BA1D4  E盾个人006BA1D4
0012F438   00000000
0012F43C   0012F470
0012F440   01370D7A  E盾个人01370D7A     第二层CALL返回地址源码里面-验证_登录()CALL
0012F444   011E9BF8  E盾个人011E9BF8
0012F448   00000001
0012F44C   0012F468
0012F450   00000001
0012F454   01ECFC10
0012F458   FFFFFFFF
0012F45C   00000006
0012F460   02D99198  ASCII "111111"     这里输入的卡号或密码
0012F464   00000000                             这里是输入的账号                                 
0012F468   00000000
0012F46C   00000000
0012F470   0012F4A4
0012F474   012E5B84  E盾个人012E5B84       第一层CALL返回地址(按钮事件CALL的返回地址)
0012F478   01ECFC10
0012F47C   011F63F8  E盾个人011F63F8
0012F480   01ECFC10
0012F484   011F63F8  E盾个人011F63F8
0012F488   00000001
0012F48C   011F63F8  E盾个人011F63F8
0012F490   FFFFFFFF
0012F494   0012F71C
0012F498   77D2BC90  返回到 user32.77D2BC90 来自 gdi32.TextOutW
0012F49C   6B01015E
0012F4A0   005244EB  E盾个人005244EB      这个地址是进按钮事件CALL的地址
0012F4A4   000007D8   这里貌似都是这个值,反正E盾是的
我们在第3层堆栈返回地址下断修改就可以了
mov eax,0x1
mov esp,ebp
pop ebp
retn

吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
zy675527723 发表于 2018-4-25 19:43 | 显示全部楼层

不尊重楼主不懂感谢的人,不配来这里!!!
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
 楼主| sxdx1372 发表于 2018-4-25 20:03 | 显示全部楼层

是标记1吗,我遇到过标记2被VM了,但没有看到标记1被VM的。
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
狐白小刺客 发表于 2018-4-25 20:24 | 显示全部楼层

本帖最后由 狐白小刺客 于 2018-4-25 20:31 编辑
sxdx1372 发表于 2018-4-25 20:03
是标记1吗,我遇到过标记2被VM了,但没有看到标记1被VM的。

核心库是不能被VM的  vm只能vmJMP []的
一旦VM 易语言调用时间会延迟 直接出错的
我插件的基本原理也是这样的  重写来分析逆向
可以通过易语言核心命令来重写程序
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
狐白小刺客 发表于 2018-4-25 20:33 | 显示全部楼层

sxdx1372 发表于 2018-4-25 20:03
是标记1吗,我遇到过标记2被VM了,但没有看到标记1被VM的。

当然 也可以自己手动来加密这段代码
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
hardchao 发表于 2018-4-25 21:17 | 显示全部楼层

感谢楼主的分析,有收获,但还是不能全吸收,没有基础真的很难,知其然不知其所以然.
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
 楼主| sxdx1372 发表于 2018-4-25 21:37 | 显示全部楼层

狐白小刺客 发表于 2018-4-25 20:33
当然 也可以自己手动来加密这段代码

受教了,我刚才手动把FF25和这2个标记VM了以下,OD里看了下,确实可以被VM掉了,小白一枚刚学没多少久,多谢指正。
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
 楼主| sxdx1372 发表于 2018-4-25 21:46 | 显示全部楼层

hardchao 发表于 2018-4-25 21:17
感谢楼主的分析,有收获,但还是不能全吸收,没有基础真的很难,知其然不知其所以然.

可以编译一个源码研究,关键CALL进去走一遍,多走几遍就会领悟其中的奥秘
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
 楼主| sxdx1372 发表于 2018-4-25 22:17

如果时钟移除不掉的话,可以在这里下个断点8B 44 24 0C 56 8B30 56(倒数第二个)F9,查看堆栈。
从按钮事件到登录call里面有4层堆栈,我们只需要3层就可以了,也可以在第4层堆栈找返回地址修改,第4层自己可以编译源码查看。
堆栈:相同颜色内的是同一堆栈,每层栈顶下的地址就是该CALL的返回地址
0012F414   0012F43C
0012F418   014D90A0  E盾个人?014D90A0   第三层CALL返回地址 (就是登录特征码CALL)
0012F41C   011E9BF8  E盾个人?011E9BF8
0012F420   00000001
0012F424   0012F468
0012F428   00000001
0012F42C   00000000
0012F430   00000000
0012F434   006BA1D4  E盾个人?006BA1D4
0012F438   00000000
0012F43C   0012F470
0012F440   01370D7A  E盾个人?01370D7A     第二层CALL返回地址源码里面-验证_用户登录()CALL
0012F444   011E9BF8  E盾个人?011E9BF8
0012F448   00000001
0012F44C   0012F468
0012F450   00000001
0012F454   01ECFC10
0012F458   FFFFFFFF
0012F45C   00000006
0012F460   02D99198  ASCII "111111"←←←←这里输入的卡号或密码
0012F464   00000000   ←←←←←←←←←←←这里是输入的账号                                 
0012F468   00000000
0012F46C   00000000
0012F470   0012F4A4
0012F474   012E5B84  E盾个人?012E5B84       第一层CALL返回地址(按钮事件CALL的返回地址)
0012F478   01ECFC10
0012F47C   011F63F8  E盾个人?011F63F8
0012F480   01ECFC10
0012F484   011F63F8  E盾个人?011F63F8
0012F488   00000001
0012F48C   011F63F8  E盾个人?011F63F8
0012F490   FFFFFFFF
0012F494   0012F71C
0012F498   77D2BC90  返回到 user32.77D2BC90 来自 gdi32.TextOutW
0012F49C   6B01015E
0012F4A0   005244EB  E盾个人?005244EB      这个地址是进按钮事件CALL的地址
0012F4A4   000007D8  ←←←←←←←←←    这里貌似都是这个值,反正E盾是的
我们在第3层堆栈返回地址下断修改就可以了
mov eax,0x1
mov esp,ebp
pop ebp
retn
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!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

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