winddyj 发表于 2021-3-21 22:30

外研英语点读软件脱壳破解

本帖最后由 winddyj 于 2021-3-22 11:39 编辑

今天坛友问我,他有个软件,应该是加了花指令,搞不定,让我帮忙看看。并附上了软件链接。
http://106.12.154.199/wyb6b.exe 打开链接的那个瞬间,我的内心其实是拒绝的,无它,太大了,百十M。


下载完试着运行了下,才发现这并不是安装程序,人家就是单文件,原来是外研英语电脑点读软件。
可怜天下父母心,要不是家里有外研社自己出版的点读软件,我可能也早对它下手了{:1_909:}
试用了下,发现不注册只能看前两课的内容,下方的各种功能及趣味小游戏都不能使用。


exeinfope上场,一无所获


PEID出场,这回能查出来了,显示yoda's Protector v1.02,根据H大的提醒,这还是误报
应该是使用了E语言自带的壳


行吧,反正我也没有脱壳机,OD直接上,选择否,不分析。


果然挺花的,ESP定律,模拟跟踪均告失败,继续继续,方法不是还剩下很多


试到一步直达法时,就是直接查找POPAD,有成果了


F4运行到这行,然后F8单步


两步过后,来到了这儿,真的只有两步,JB那行跳来的


这就是我们的OEP了,直接用OD脱壳,记得选方法二,方法一脱出来的运行不了
这儿要说一下,我是WIN10 64位,方法二OD会直接无响应,等它一会直接终止进程就行了


脱出来的再查一下壳,E语言,再瞧瞧软件体积,百十M的软件只大了1M,好嘛,果然只是加个密


剩下的就简单了,继续OD载入,运行程序,随便选后几课,就会弹出未注册的对话框


对话框不要关,返回OD按暂停键,再按ALT+K,打开调用堆栈窗口
我们能看到下面包含了弹出窗口内容的MessageboxA这行,右键点它,选显示调用


直接就回到了程序领空调用MessageboxA处,我们在它下一行下断,因为CALL返回后,就在它下一行了
这个时候我们按F9跑起来,把刚才暂停的程序复原,再回到程序界面,点弹出未注册窗口的确定,OD就直接断下来了


OD断下来后,连接F8单步,向上返回两个CALL,就能看到调用出错的CALL了
再往上看看,还有个关键跳转,判断是否注册,跳了就是已注册状态。


直接将它改成JMP,然后保存修改。


现在关了OD,重新运行保存好的程序,每一课都可以正常使用了


下面的各种其它功能也可以使用了,包括些趣味小游戏。

写在最后:
不是不想追码追算法,实在是代码无法看懂,可能是脱壳没有脱干净
很多奇形怪状的代码,OD也分析不出来,看着那些熟悉又陌生的代码,按着F8遛了半个小时
感觉转了好几圈,代码都快背下来了{:1_896:}放弃了放弃了,这样也挺好。
最后:有能力的同学可以支持下正版
@zhshdaan168

solly 发表于 2021-3-23 10:42

本帖最后由 solly 于 2021-3-23 10:44 编辑

只有4种花指令:

0044DDCC    E8 00000000          call    0044DDD1
0044DDD1    830424 06            add   dword ptr , 6
0044DDD5    C3                   retn
0044DDD6    ??

0044DD41    F9                   stc
0044DD42    72 01                jb      short 0044DD45
0044DD44    ??

0044DD19    F8                   clc
0044DD1A    73 01                jnb   short 0044DD1D
0044DD1C    ??

0044DD09    EB 01                jmp   short 0044DD0C
0044DD0B    ??

修改一下dejunk.ini模板就可以解决:

修改这一行:
ActivePatList1      = _jmp01,_jmp02,_jmp03,_jmp04,_stc_jb,_clc_jnb,_e8_plus6_ret

后面的 _stc_jb,_clc_jnb,_e8_plus6_ret 是新加的。

再加上以下几行:


S = F97201??
R = 90909090



S = F87301??
R = 90909090



S = E80000000083042406C3??
R = 9090909090909090909090


就可以执行去除花指令中的 “1 ObSiDiUm”这一项去除花指令了。

solly 发表于 2021-3-22 12:08

注册费才10多块,这也下得了手呀,这家长也真是无语,就是培训机构几分钟的收费!

lyl610abc 发表于 2021-3-21 23:55

本帖最后由 lyl610abc 于 2021-3-21 23:56 编辑

winddyj 发表于 2021-3-21 23:30
PEID太老了,所以只能做为备用
它不识别我大天朝的E语言,一律认为C++
稍微看了一下,确实发现反汇编中采用了不少花指令进行分析的干扰,楼主就是苦于花指令的干扰吧,不过我暂时没时间搞这个,溜了溜了{:301_1007:}

xdbmode 发表于 2021-3-21 22:31

膜拜大佬

干杯 发表于 2021-3-21 22:42

厉害了大佬!

winddyj 发表于 2021-3-21 22:43

xdbmode 发表于 2021-3-21 22:31
膜拜大佬

嗨,啥大佬呀,我也是初学,咱们互相学习,共同进步吧

lyl610abc 发表于 2021-3-21 22:55

winddyj 发表于 2021-3-21 22:43
嗨,啥大佬呀,我也是初学,咱们互相学习,共同进步吧

同为萌新的初学者悄悄路过{:301_998:}

lyl610abc 发表于 2021-3-21 23:13

楼主脱壳是不是出现了些问题,我脱壳完显示为C语言

fdk0305 发表于 2021-3-21 23:20

前排膜拜大佬~

jssytjj 发表于 2021-3-21 23:22

真是非常牛的东西啊。

winddyj 发表于 2021-3-21 23:30

lyl610abc 发表于 2021-3-21 23:13
楼主脱壳是不是出现了些问题,我脱壳完显示为C语言

PEID太老了,所以只能做为备用
它不识别我大天朝的E语言,一律认为C++

sghzlx 发表于 2021-3-21 23:33

很好,学习了
页: [1] 2 3 4 5 6 7 8 9 10
查看完整版本: 外研英语点读软件脱壳破解