破解和混合编程实例HackerReverseEngineering.ppt
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《破解和混合编程实例HackerReverseEngineering.ppt》由会员分享,可在线阅读,更多相关《破解和混合编程实例HackerReverseEngineering.ppt(30页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、破解和混合编程实例破解和混合编程实例 Hacker Reverse Engineering Hacker Reverse Engineering 创建一个最简单的保护机制并破解它;选一个实例,在此基础上学习十六进制编辑器,API窥测器 与 反汇编器(IDA Pro)破解一个实际的例子 0551-36028242023/3/15自定义保护机制自定义保护机制自定义保护机制,并尝试破解并尝试破解并尝试破解最简单的密码保护算法:密码存放位置:程序中/配置文件/注册表密码保护措施:无 if(strcmp(password entered,reference password)/*密码不正确*/else
2、/*密码正确*/ 0551-36028242023/3/15自定义保护机制自定义保护机制自定义保护机制,并尝试破解并尝试破解并尝试破解Protect_password#define legal_pswmy.good.passwordint main()char user_psw666;cout user_psw;if(strcmp(legal_psw,user_psw)cout“wrong passwordn”;/“标记密码不匹配 0551-36028242023/3/15黑客反向工程热身黑客反向工程热身黑客反向工程热身黑客反向工程热身else cout“password oknhello,l
3、egal user|n“;/“标记”密码匹配 return 0;2023/3/ 0551-36028245/申斥密码不匹配/申斥密码不匹配/申斥密码不匹配2023/3/ 0551-36028246自动过滤上述程序二进制内容结果自动过滤上述程序二进制内容结果00007d11:LCMapStringW00007d1f:kernel32.dll0000805c:crackme 00h0000806a:enter passwd:0000807d:my.good.password0000808f:wrong password0000809c:password ok000080af:hello,legal
4、 user!000080c2:.?Avios000080de:.?Avistream 结果分析2023/3/ 0551-36028247 黑客反向工程热身编译后的程序执行 猜测密码-凭运气,难度大 分析程序的组成代码 数据(密码字符串)2023/3/ 0551-36028248 黑客反向工程热身 data:数据段 rdata:只读数据,字符串文字和常量.如本程序中的 myGOODpasswordn“。bss:未初始化数据,比如函数和静态变量。idata:包括导入库和导入地址名称表。edata:包含了应用程序或DLL的导出数据。text(code):代码段。 0551-36028242023/3
5、/15黑客反向工程热身c中中,内存数据分为如下几个区内存数据分为如下几个区 1.栈-由编译器自动分配释放bp+xx,bp-xx。2.堆-一般由程序员分配释放new(),delete()函数。3.全局区(静态区)共享存储区。初始化的全局变量和静态变量在一块区域(data)。未初始化全局和静态变量放在相邻区域(bss)。4.另外还有一个专门放常量的地方(rdata)。C+中中,内存分成内存分成5个区,分别为:个区,分别为:1.栈栈,里面的变量通常是局部变量、函数参数等。 0551-36028242023/3/15黑客反向工程热身2.堆堆,由new分配的内存块,由delete回收。3.自由存储区自由
6、存储区,由malloc等分配的内存块,和堆相似,由free回收。4.全局全局/静态存储区静态存储区,全局和静态变量均被分配到同一块内存中,由该语言编译器自行确定(与C语言有差别)。5.常量存储区常量存储区,存放常量,不允许修改。静态变量/全局变量:全局/静态存储区。常量存放在常量区。程序放在代码区。 0551-36028242023/3/15黑客反向工程热身查看二进制文件.根据:编译器将初始变量放在如下数据段中.data rdata 自定义段 0551-36028242023/3/15黑客反向工程热身改写动机:隐藏密码字符串,增加一点分析难度。int count=0/从现在开始从现在开始,所有
7、初始化变量都放置在所有初始化变量都放置在.kpnc中中.#pragma data_seg(“kpnc”)char passwd=PASSWORD;#pragma data_seg()/现在所有初始变量又将放到默认段现在所有初始变量又将放到默认段rdata中了中了.char buffPASSWORD_SIZE=“; 0551-36028242023/3/15黑客反向工程热身改写后的源代码清单-list1_p9.cppidag list1_p9.exe目标代码中出现了如下段落:textrdatadataidatakpnc只有在kpnc 段中才能看到密码字符串信息 myGOODpasswordn“
8、0551-36028242023/3/15黑客反向工程-熟练使用反汇编器修改二进制代码的工具:hiew(动机)反汇编工具:ida大家推荐工具:softice,汇编:将汇编程序转换为机器语言程序。反汇编:将机器语言程序转换为汇编指令。 0551-36028242023/3/15分析过程:.rdata:00420000 00 00 00 00 24 79 F0 46 00 00 00 00 02 00 00 00 .$y餏.rdata:00420010 35 00 00 00 00 00 00 00 00 60 02 00 50 61 73 735.Passrdata:00420020 77 6F
9、 72 64 20 4F 4B 0A 00 00 00 00 57 72 6F 6E word OK.Wronrdata:00420030 67 20 70 61 73 73 77 6F 72 64 0A 00 00 00 00 00 g password.rdata:00420040 6D 79 47 4F 4F 44 70 61 73 73 77 6F 72 64 0A 00 myGOODpassword.rdata:00420050 00 00 00 00 45 6E 74 65 72 20 70 61 73 73 77 6F .Enter passwordata:00420060 72
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 破解 混合 编程 实例 HackerReverseEngineering
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内