以前的东西整理(4)

来源:互联网 发布:suse linux防火墙 编辑:程序博客网 时间:2024/05/04 19:38

APR 8, 2014
网络攻防第一次实验

虽然我不想坑爹,不过似乎又坑了一次……

以下是我的坑爹经历:

这次实验有两个部分,一个是破解软件序列号,一个是用shellcode实现一个功能。当然,破解序列号只是用老师给的一个demo程序练手,至于shellcode,希望这篇坑爹录写完之后我真的可以说出个一二三,就不枉我要死要活的搭个博客了。

实验用到的主要软件:OllyDbg,LordPE.exe

//嗯,刚刚又发现媒体总大小有限制……

//以后记得加上对PE文件格式的详细分析

首先用LordPE.exe查看PE格式结构,这次实验中是查看demo.exe这个可执行文件的文件格式:
LordPE看文件格式

可以看到镜像基址为0×00400000,说明后面在OllyDbg中看到的004开头的地址为用户代码空间。

可能在第一次打开OllyDbg时要修改一下路径,然后用OllyDbg打开目标程序DemoD.exe,我们的目的是破解这个程序的序列号,随便输入序列号之后点击验证,会弹出错误提示窗口,根据MFC编程经验可知,此时是调用了messagebox这个模块,于是搜索全部模块中的名称,找到messagebox,这个时候可能会看到几个和messagebox有关的名字,选择“.text”对应的,代表的是代码,而不要选“.data”对应的。

然后就是一个个试了,先随便挑一个,例如messageboxA,双击它之后会进入该模块对应的汇编代码,在进入的起始处按F2设置断点,如果怕断不下来也可以设置硬件断点(但是我实验时全都断下来了),然后重新加载运行该程序,验证序列号,看是否会在弹出错误提示窗口之前将程序断下,如果成功断下则证明选的地方正确,否则找另一个messagebox重新试,直到成功。

//需要加上对OllyDbg中各个区段的理解

假设找到的正确位置是messageboxA,此时继续执行程序直到弹出错误提示窗口。由于函数执行完成之后,会回到原来调用它的位置,所以此时应该在错误窗口点确定,然后继续单步执行,直到返回到用户代码空间,也就是用户判断完序列号是否正确之后,调用这个函数弹出窗口的地方。

而前面看PE文件格式的时候说过,用户代码空间的地址是004开头的,所以单步到004开头的地址时就停下,然后看该地址之前的代码是否是用来判断序列号的。实验中看到前面是很多先比较,然后根据比较结果跳转的代码,于是推测这段代码是用来检测序列号的,于是找到这段代码的开头,也就是push ebp这个指令处,设置断点验证我们的想法。重新运行程序之后,发现程序在该处停下来了,证明推测正确。

然后就可以将断点设置到开始进行比较的地方了,将程序继续运行到该断点处,观察寄存器中的值,可以看到前面的所有跳转都是跳转到同一个地址,可以推测该地址是显示错误窗口的分支,在匹配到有序列号不符合的时候就直接弹出错误窗口。而为了破解,可以从现在开始单步执行,然后根据汇编指令,修改寄存器中的值,使得程序不会跳转到错误分支中去,本来一步步修改寄存器中的值并且记录下来,最后找到对应这些ASCII码值的符号就算大功告成了,但老师当然不会让你好过,在其中一个确定是一定不会跳转之后,下面一个又是很坑爹的0x014F,而常用的ASCII码最大只有0x07F(http://www.xuebuyuan.com/776525.html不知道有没有汉字与其对应,这篇文章貌似给出了汉字和ASCII码的对应关系,这里还有一篇将的ASCII码和汉字码http://hi.baidu.com/ali_wh/item/e4f59ee00aa5cac1bbf37db7[又有很多东西要了解了……]),也就是说找不到符号与它对应,不可能有字符可以用来输入破解这位序列号,于是准备暴力破解,这就比较简单了,根据前面的分析,找到正确分支的地址,然后直接jmp无条件跳转,将该处的汇编代码直接改为JMP (正确分支地址),如果把第一次跳转的指令改为这个,就可以实现不论输入什么,都会显示序列号正确,相当于破解成功。

0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 手机被偷关机了怎么办 狗被眼镜蛇咬了怎么办 穿高跟鞋脚趾头长茧怎么办 穿皮鞋脚底板疼怎么办 鞋子穿了脚趾痛怎么办 脚被鞋子磨肿了怎么办 脚趾磨出茧子怎么办疼 脚掌长茧走路疼怎么办 脚底磨出茧子疼怎么办 手指上写字有茧怎么办 写字磨的茧子疼怎么办 脚上的大脚骨疼怎么办 脸特别烫 又红怎么办 6岁宝宝发音不准怎么办 3岁宝宝发音不准怎么办 5岁宝宝发音不准怎么办 4岁宝宝发音不准怎么办 被螃蟹夹出血了怎么办 苹果6主板坏了怎么办 键盘掉了一个键怎么办 汽车屏幕砸坏了怎么办 电视的屏幕坏了怎么办 高三孩子早恋该怎么办 高一早恋家长该怎么办 高二早恋家长该怎么办 200斤新娘抱不动怎么办 160斤新娘抱不动怎么办 科目二挂了5次怎么办 纹身纹完了肿了怎么办 在宿舍被孤立了怎么办 b站视频不见了哟怎么办 站立时间长了脚疼怎么办 坐的时间长腰疼怎么办 站久了膝盖疼怎么办 站久了膝盖疼是怎么办 平躺着睡觉腰疼怎么办 站久了脚疼怎么办缓解 站久了脚踝疼怎么办 走路走多了腿疼怎么办 站久了脚掌疼怎么办 上班站一天脚疼怎么办