大家好,我是破天无名, 今天给大家放一全面的e4a教程哦,方法是死的,希望大家能活学活用,如果感觉逆向有意思啊就看看某出的入门吧是几位大神出的,当然我是不时间看.... 这个软件比较特别,不管你没运行他,他是找不到字符串的,或者你到他的401000处,我是不认这个地址的,我是点od的E,然后双击一个路径和 我们逆向一样的,到40100处,这个地址不是绝对的,有的不是这个,用我说的也能到那里,可还是不能找字符串,那怕运行了也是一样,那么我们初步的想他,是全部武装了,可他再武装也有开枪打人的时候对吧,我们就利用回调的方法,把他给逆出来 好了,下面进入主题 第一步:打开od----把软件拖入,直接f9运行起来,如图 这里是刚载入的,先提前给大家说下,标题上模块右边有一个e4a说明我们载入的是软件,可以在这里修改,如果不是这个,修改是没用的哦,这个是提醒 第二步,直接找软件要注册那里做突破口,随便注册下,会提醒对不起什么的,我们回到od给暂停下,如图 上图大家看看吧,这个就是系统领空和我刚开始说的,模块右边是ntdll,这个不是我们的软件,这里第二次强调, 第三步,调试-----执行到用户代码,如图 这时od上有返回到用户,如图 第四步,回到软件再点刚才提示说对不起什么的,那个确定,如图 第五步,这里软件是会被暂停下来的,回到od后发现这时还是系统领空,我们那怕改了也没用,改的不是软件本身,所以要一直f8的单步向下走...这里第三次强调下,要看标题上那里必须要处在逆向软件的名字才行,如图 Retn这个东东是事件调用结束的意思,通常这个就是返回,也就是出口,如图 经过无数次的单步,(手都单步抽筋了)如图,这是最后一个retn,再单步下就出来了 再来张我们回到软件上的图片吧 注意到没,标题上的模块右边已经是软件的名字了 第五步,接着我们可以搜索字符串了, 这个可不止是这个软件可以用哦,其他软件也是一样的,不管他加了多强的壳,vm了多少代码,或者加了多少花指令,都能多多少少能把其他字符串上的信息给我们报出来,(这废话也太多了!) 直接看我们搜索字符串的美图吧 经过我们强大的od漫长的分析与扫盲,终于出来了,看图 这也太多了吧,两万多个呀,......看到紫色的条条没,这个就是我们软件暂停下来的地址,我们是从注册错误那里进来的对吧,那么前面一定有注册成功的东东,这不在上面有个已注册的了,我们双击进入 我们要向上找,凡是有个j开头的都是个跳转我们就点一下他,看他是不是有跳过我们的已注册的,如图 经过无数次向上点击去查看,终于在写个程序不容易这里的上面有个大跳转,如图 在这条白线上双击下,下个断.....或者f2,前面会变红的了,如图 这时我们运行下软件,f9,如图 再点下注册 发现软件又停下来了,而且这个跳转变红了,就是实现跳过我们已注册,到了我们刚才那个对不起那里去了,所以我们不能让他跳啦,如图 我们就右键-----二进制----用nop填充
再运行下,发现已经注册成功了,如图 这里我们已经算是半完美的PJ了,正版是能编译发布版的,可我们是注册的了,还是不能编译的,如图 下到了编译就又变成未注册了的,说明我们逆向只是表明,没有逆向对地方如图 那么我们找他提示出来的,正在等待用户验证,如图 Ctrl+f 搜索 正在等待用户进行验证,,,,,,,,,如图 果断双击在这里下断,按f2,,如图 这里刚好是入口.....下好断后,再去点编译如图 又暂停下来了,我们单步的向下走,这里要看j开头的那些能跳转的,就是他的线变红了,如图 像上面的就是现实跳转的了哦,这个不管他,因为他不是关键跳转 这个已经跳转了哦,可是这个是加密狗校验成功了,可他跳过了,我们把他给干掉,如图 再运行,发现已经能正常编译了,如图 可是,当我们用比如编辑框后会闪退,,可我们能编译,也是注册版的了呀,这时我们猜测在验证成功下面还有一个跳转没有实现,或者实现,让这个软件没能正常使用,这个叫暗装.
我们回到查找字符串那里找下编辑框,如图 可这个不是,我们在英文输入法的状态下,按下b,找下一个 到了编辑框的属性那里如图,在图片我们看到在他的属性下面有个路径呀,其他的工具是没有的呀从这里的路径下个断,再编译下
这个是路径,我们看看别的是没有的呀,所以我们猜下是不是这出问题了, 下面来看看按钮的下面,发现没有这个路径呀,所以我们可以大胆的正确他有问题 那我们在双击进入后在上面看有没有大跳转,跳过这个的,没有就到最上一点下个断,好下一步确定下是不是我们猜的那样 看到没,有一个大跳,我们再编译一下,看会不会停下来 最后还是停下来了 这个没有跳 我们试一下让他跳吧 然后编译出来的软件看会不会闪退,记得这个是加了编辑框后编译生成出来的软件会闪退的地方,
我们双击下je,改为jmp如图 发现使用编辑框生成出来的软件居然不会闪退了, 好了,我们逆向调试的教程结束了,下面是制作补丁 用到的软件是pyg内存补丁 飘零的东西,使用比较方便 如图 先配置一下 在目标上选择我们要逆向的软件 接下来把我们改的复制下来生成补丁 按键盘上的减号,回退到我们之前修改的地方,或者在改的时候记下来,如图
第一处 先恢复下 然后按ctrl+c 复制下 00A170AD /0F84 B9020000 je 00A1736C 把第一排的地址复制到补丁地址上 后面的这个给删除了 回到软件再nop掉第一处的跳转 发现有6对90 把他打到补丁上,如图 最后选择下软件,再点增加,如图 后面两人跳转补丁也是一样添加,如图,把原来的改成修改的就成了 最后点下生成,如图 补丁就这样被我们给做好了,这个补丁是放在这个补丁软件的根目录下的哦,到那里就能看到, 好了教程结束了,不懂的就留言
|