易语言全花指令+文件MD5验证的破解
本教程由学逆向Thx赞助播出(“哎呀我摔倒了要你们评分Thx给我才能起来{:5_187:}”)逆向前言:键盘已收,青轴脆脆的,赶紧出篇教程压压惊
逆向正文:
这个花指令真的是特别特别的麻烦,,但是好在程序不难,所以叫大家一下怎么玩这种全花指令的程序
用到的插件叫 E junk code,我相信大家od都有的
先还是来说说怎么识别花指令和vm
花指令的大概是这样的
那么他用的比较多的就是jb这种跳转,而且大家可以看到这根灰色的跳转线是在中途断掉了,不完整的跳转线
那么vm以pushfd跟jmp居多,花指令跟vm的区别就在于,花指令是土匪,而vm是正规军
Vm的代码就让人感觉到被加密,但是就特别特别的整齐,似乎有排序一般
那么花指令就是这种,让人看起来就不舒服,感觉特别特别乱,特别特别的杂跟臃肿
具体的话大家可以去手动V一个程序,来看看区别,多遇到几次,大家应该可以区分的
那么花指令的去除姿势是怎样的呢?
首先是来到00401000,并打开插件
接着在size这里输入大小,可以输入9999,反正不能完全去除,等遇到没有去除的点的时候再一次运行这个插件
再去一次即可,要注意的是,他不能去除call内的花指令,要想去除call内的花指令得进去那个call,再去除即可
就跟消毒水,只能消除你身体表面的细菌,你身体内的细菌是消除不了的(不要想着喝消毒水,这个是举例子)
这个是去除以后的样子,一堆的nop,但是比之前的话让人看得更舒服些
其实不去除也可以调试的,但是就是看着没那么舒服,而且调试起来很麻烦的,很容易错过重要的点
先看程序吧
这个程序其实有验证两次,一次是重启的时候验证,一次是功能的时候验证,两者的判断点是在同一处
它旗下有两个比较重要的Dll
除了tz.dll我不知道是干嘛用的,最上面那个是验证程序是否被修改(MD5)的Dll,里面保存着中间那个Dll的MD5跟主程序exe的Md5
然后中间的那个dll是验证dll,功能是否可用就在这里,那么逆向的话我们自然也是从Dll下手,还是老规矩,动态调试,看exe怎么与Dll通信的
由于这个程序重启验证跟功能验证都是一个点,所以我们只需要搞功能按钮的事件即可
模块里面是有这两个dll的,说明是载入了
直接搞程序界面中的开始按钮,注册的话就不搞了,重启验证搞了也用处不大,搞功能更直接
下E的按钮事件,点击按钮等断下,如果断下以后F7跟进是没有去花的状态就用插件去一下花
上面的第一个箭头是检测调试函数,如果为真的话,下面这个箭头就是退出了,然后大家自己注意一下
这里就会生成一个bat文件,估计是结束进程或者是删除自身这种反调试措施,具体我没看里面的内容
因为我的od并没有被检测到,如果你们的od被检测了,那么说明你们的od很逊,趁早换了吧
**** Hidden Message *****
极速评论,Shy又出新作,前来顶贴! Shark恒 发表于 2016-12-17 00:01
极速评论,Shy又出新作,前来顶贴!
嗨呀,今天的审核效率有点高啊 Shy 发表于 2016-12-17 00:01
嗨呀,今天的审核效率有点高啊
一不留神,我就把你抓到了。{:5_122:} Shark恒 发表于 2016-12-17 00:03
一不留神,我就把你抓到了。
嗨呀大冷天不哄孩子老婆,还逛论坛你是有多不解风情 一直都在关注大神的 感谢大神的分享,支持 我看上了这个能PJ提取码的软件~ 我说怎么花指令去不掉,感情那叫VM啊 非常感谢楼主分享,分析得很详细,学习,学习。