自动识别库函数局部变量.PPTVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
自动识别库函数局部变量

* * chenkm@ * * chenkm@ * * chenkm@ * * chenkm@ * * chenkm@ 黑客反向工程-熟练使用反汇编器 ■修改二进制代码的工具:hiew(动机) ■反汇编工具: ida ■大家推荐工具:softice, …… ■汇编: 将汇编程序转换为机器语言程序。 ■反汇编: 将机器语言程序转换为汇编指令。 * chenkm@ 0551-3602824 * 分析过程: .rdata 00 00 00 00 24 79 F0 46 00 00 00 00 02 00 00 00 ....$y餏....... rdata 35 00 00 00 00 00 00 00 00 60 02 00 50 61 73 73 5........`.Pass rdata 77 6F 72 64 20 4F 4B 0A 00 00 00 00 57 72 6F 6E word OK....Wron rdata 67 20 70 61 73 73 77 6F 72 64 0A 00 00 00 00 00 g password..... rdata 6D 79 47 4F 4F 44 70 61 73 73 77 6F 72 64 0A 00 myGOODpassword. rdata 00 00 00 00 45 6E 74 65 72 20 70 61 73 73 77 6F ....Enter passwo rdata 72 64 3A 20 20 20 00 00 00 00 00 00 73 74 72 20 rd: ......str rdata 21 3D 20 4E 55 4C 4C 00 66 67 65 74 73 2E 63 00 != NULL.fgets.c 黑客反向工程---Ida ---list1_7.exe * chenkm@ 0551-3602824 * 使用密码串进行比较的程序块 .text:0040104D .text add esp, 0Ch .text push offset s_Mygoodpasswor )myGOODpassword\n .text:0040105A lea ecx, [ebp+var_68] .text:0040105D push ecx .text:0040105E call strcmp .text:0040105E .text add esp, 8 .text test eax, eax .text jz short loc_401079 * chenkm@ 0551-3602824 * ■ strcmp传递两个参数 : push offset s_Mygoodpasswor ;参考密码 lea ecx, [ebp+var_68]; 用户输入密码区 push ecx call strcmp ■ C 规范:从右到左的顺序将参数压入堆栈。 ■恢复的结果为: strcmp(var_68, myGOODpassword\n) 黑客反向工程---C规范的知识 * chenkm@ 0551-3602824 * 黑客反向工程--C规范的知识 ■ 1 从堆栈中删除参数不由函数自身完成,而是由调用程序完成,这样能创建数目可变的参数。 调用程序 被调用程序 call strcmp ret 8 add esp, +08 ■ 2 常用清除堆栈指令 add esp, XXX 32位: n_args = XXX/4 16位:n_args = XXX/2 pop reg sub esp, -XXX ■ 3 由call后的add esp, 8 指令知该函数

文档评论(0)

2105194781 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档