zainv673799 发表于 2017-11-13 00:27:31

E盾网络验证之高度VM逆向分析教程

有基础的童鞋可以跳着看 但是存在即是道理 也希望大家能抽空全部看完

我不会没事录制一先无关紧要的东西

读取函数 bp readfile
直接附加得了字符串 除了他的功能公告提示 没什么卵用的东西
不管E盾个人版也好 企业版也好 其实作者都是同一个人既然都是同一个人
逆向分析原来也不会相差太大
不管个人版的还是企业版的我只有能用逆向分析特征码去逆向分析
都不会太难除非软件作者自己又在验证源码里面加了什么不得了的暗装或者算法等
E盾OD检测点 SUB,ESP,44
      SUB,ESP,68
这两个检测点 之前出古琴逆向分析教程的时候就已经说过了
个人版E盾 登陆14C 15C 150
      合法校验84
个人版的 逆向分析无数次E盾  也就总结出这三个命令
SUB,EBP,15C
SUB,EBP,150
SUB,EBP,14C
0040275A    C745 FC 0000000>mov dword ptr ss:,0x0
00402761    C745 F8 0000000>mov dword ptr ss:,0x0
00402768    C745 F4 0000000>mov dword ptr ss:,0x0
0040276F    C745 F0 0000000>mov dword ptr ss:,0x0
00402776    C745 EC 0000000>mov dword ptr ss:,0x0
0040277D    C745 E8 0000000>mov dword ptr ss:,0x0
00402784    C745 E4 0000000>mov dword ptr ss:,0x0
0040278B    C745 E0 0000000>mov dword ptr ss:,0x0
00402792    C745 DC 0000000>mov dword ptr ss:,0x0
这里可以算是一个特征把
push 0x20 也可以算是一个特征
看见有这两处地方 就是了
00402751    B8 01000000   mov eax,0x1
00402756    C2 1800         retn 0x18
00402759    90            nop
这个是E盾的取错误文本
进源码看一下  
错误指令这里 我们需要改平衡就可以
= =  易语言也跟我玩傲娇了
验证结果文本  这里的特征就是他取的错误信息
然后通常 错误信息改平衡之后 就是逆向分析成功了
验证_合法性检测 () 但是一般都有合法性检测
SUB,EBP,84 
合法性检测会导致当程序运行到这里的时候  如果不是正版用户
将会摧毁进程任务  今天的易语言真傲娇
SUB ESP,84
00412F45    B8 00000000   mov eax,0x0
00412F4A    8BEC            mov ebp,esp
00412F4C    5D            pop ebp
00412F4D    C3            retn
平衡特征的话
00412F4E    C745 FC 0000000>mov dword ptr ss:,0x0
00412F55    C745 F8 0000000>mov dword ptr ss:,0x0
00412F5C    C745 F4 0000000>mov dword ptr ss:,0x0
00412F63    C745 F0 0000000>mov dword ptr ss:,0x0
00412F6A    C745 EC 0000000>mov dword ptr ss:,0x0
00412F71    C745 E8 0000000>mov dword ptr ss:,0x0
这里算一个
push 0x8 也是一个 如果同时有这两处地方 就是毫无疑问了
修改指令mov eax,0x0   mov ebp,esp  pop ebp  retn
平衡的话 估计不少朋友已经会了  
不过一般常见的平衡修改是 mov esb,ebp 
             pop ebp
             retn
我加了一个mov eax,0
也没啥影响 主要有次逆向分析一个E盾 一改合法检测就会崩溃 我改成这样就成功了
让我着实郁闷很久 打开软件 直接就退出了  如果没有E盾验证的条用 直接改平衡也无法运行软件
所以我说 我还是很机智的 想到了这么一个办法去平衡 我们就是太过拘泥于前人的思路里面无法自拔
修改稍稍一修改 就可以了
那么到这里  就逆向分析成功了 但是经过本大人无数次被蓝屏的经验总结得出 还有一个暗装
那就是判断验证时间到期时间是否小于0的暗装
如果小于了 那么就是逆向分析的  就会触发蓝屏
就算搜索特征把蓝屏去了 程序也就结束  所以 我也抓了一个特征码
先打开 把这天命令调用一下  找到特征码也就可以逆向分析成功了
.版本 2
.如果真 (到整数 (验证_读验证返回数据 (#验证返回_剩余时间)) < 1)' 这里检测 剩余时间如果小于1 那么肯定是逆向分析了过来了。
    惩罚_立即蓝屏 ()
    惩罚_结束当前进程 ()
    延时 (55555555)
    置入代码 ({ 51, 192, 51, 201, 51, 210, 51, 219, 51, 228, 51, 237, 51, 246, 51, 255 })' 这句让程序崩溃
判断到期时间暗装
83 C4 04 83 7D ?? 01 0F 8D
83 C4 04 83 7D ?? FF FF FF 01 0F 8D
方便查看字符串
就是这个跳转

这个就是特征码 但是04这里是变动的 每个程序的都不一样 对比过许多E盾
这里打个随机特征码就可以83 C4 ?? 83 7D F8 01 0F 8D

00427B99   /EB 31         jmp X车神.00427BCC
00427B9B   |90            nop
00427B9C   |90            nop
00427B9D   |90            nop
00427B9E   |90            nop
就是这个jge跳转了 0F 8D 特征的意思的jge
凡是触及到打补丁的地方 软件就会自动先结束 信息框都没有 昨天换了系统后就这样
估计是系统问题 明天还得换个系统 晕 好了教程就到这里把
尴了个尬装逼感太强 一不注意说错了
83 C4 04 83 7D ?? 01 0F 8D 正确的特征码是这个不过好在搜出来的貌似都是同一个地方
对于其他软件可能就不一定了
好了 打个补丁把
这易语言有毒 凡是涉及到打补丁的地方都给我玩崩溃
卡了靠 我记得03版本是无壳的 总之方法就是这样 我去下载一个无壳的保存把
剩下的大家可以跳过 只是本人不把这个逼装完 心中不安

jiushigan 发表于 2017-11-13 04:10:57

不觉明历。。。

Zhizi 发表于 2017-11-13 20:41:54

好深奥的啊

ltt19910204 发表于 2017-11-14 10:27:27

可读性太差…………
页: [1]
查看完整版本: E盾网络验证之高度VM逆向分析教程