好友
阅读权限10
听众
最后登录1970-1-1
|
45吾爱币
本帖最后由 13808796047 于 2020-9-18 15:39 编辑
参考大佬视频链接: https://pan.baidu.com/s/1N5r43xVzrxDCLhPs9tSO1g 提取码: 4j9h 一,登陆
暴力强制还原
8D 44 24 08 83 EC 0C 50 FF 74 24 14 33 C0 89 44 24 08 89 44 24 0C 89 44 24 10 8D 54 24 08 52 FF D3 8B 44 24 0C 8B 54 24 10 8B 4C 24 14 83 C4 18 C3
Ctrl+B 搜索 FF25
在核心库下段,输入假码登陆
注意右下角出现帐号密码中间堆栈返回
mov eax,0x1
mov esp,ebp
pop ebp
ret
nop
二,合法性
Ctrl+B 搜索 8B 44 24 0C 56 8B 30 56 一直搜索 倒数第二个ret 下断
然后 f9运行到断点,再单步f8 走到ret 进入
mov esp,ebp
pop ebp
ret
nop
三,算法
搜索特征:55 8B EC 8B C1 40 C1 E0 02 2B E0
断尾下断 f9 堆栈返回数据跟踪 左边内存中看到'登录成功运算'
返回 FF25 核心库里 ret 下断 f9 注意 eax 寄存器的值
出现 ASCII '-120724149' 值,接着f9 直到第二次出现类似的值
然后我们右下角找到第一次出现的值 右键编辑 出现F8 50 36 00
内存搜索 一直查找下一个 找到 00AE1030 F8 50 36 00 00 00 00 00
Ctrl+G 搜索 00AE1030 右键数据中跟随 长型 地址
在内存中右键 断点 内存写入 记得把之前的断点取消
f9 运行 f8 看到这两个变了 右键二进制用00填充
四,暗桩
取消标记2 断点,Ctrl+B搜索 8B 44 24 0C 56 8B 30 56
ret 一直搜索 倒数第二个ret 下断 f9 然后f8
mov esp,ebp
pop ebp
ret
这里就修好了
全部断点取消
搜索FF25
在标记2 下断 f9 运行一次 堆栈返回 下断 f9 此时还寄存区中的eax 值 为1就过了
搜索蓝屏代码
Ctrl+G 搜索 断首 ret
方法二:
1、拖入DO,运行起来。
2、先定义2个标记方便描述,后面所说的在标记1、标记2下断都是在所对应的FF25函数体下断,后面不在具体说明。要是没有下面2张图的话,那就是被VM了,自己对比确定,这里不详细说明。
标记1:
标记2:
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
这里根据视频里的教程做的,但是出现这种情况,小白不是很明白这里,希望有老师指点下
附上软件地址:链接: https://pan.baidu.com/s/1qULK1ss6dcfVwi3gEp3EUQ 提取码: uhe9
https://wws.lanzouj.com/iHf7pgkydmf |
|
发帖前要善用【论坛搜索】功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。 |
|
|
|
|