下载此文档

《黑客反汇编解密》 中文版.doc


文档分类:行业资料 | 页数:约13页 举报非法文档有奖
1/13
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/13 下载此文档
文档列表 文档介绍
《黑客反汇编解密》中文版注:这是我自己在学习过程中为了加深印象翻译的,翻译的不好,我也没有仔细检查,如果英文还可以就去看英文版吧(英文版) 第一部分第一部分:热身最简单的身份校验算法是由字符比较组成的,一个是用户输入的密码,一个是真正的密码,可能存储在程序中(不经常是这样的) ,或者程序体外, 例如,配置文件中或注册表中(这个也很少出现)。这样的保护的优势在于这个算法非常容易实现, 它的核心就是一行代码,在 C 语言中可能是下面的样子: if (strcmp (password entered, reference password)) {/* Password is incorrect */} else {/* Password is OK*/}. 让我实现一段代码, 用来提示输入密码并且比较密码, 并且检查程序可以破解的弱点。// Matching the password character by character #include <> #include <> #define PASSWORD_SIZE 100 #define PASSWORD "myGOODpassword\n" // The CR above is needed // so as not to cut off // the user-entered CR. int main () { // The counter for authentication failures int count=0; // The buffer for the user-entered password char buff [PASSWORD_SIZE]; // The main authentication loop for (;;) { // Prompting the user for a password // and reading it printf ("Enter password:"); fgets (&buff [0], PASSWORD_SIZE,stdin); // Matching the entered password against the reference value if (strcmp (&buff [0], PASSWORD)) // "Scolding" if the passwords don't match; printf ("Wrong password\n"); // otherwise (if the passwords are identical), // getting out of the authentication loop else break; // Incrementing the counter of authentication failures // and terminating the program if3 attempts have been used if (++count>3) return -1; } // Once we're here, the user has entered the right password. printf ("Password OK\n"); } 在流行的电影中, 酷酷的黑客轻松的突破强大的保护系统, 仅仅通过几次尝试就可以猜到密码,在真实的世界中我们能做到吗? 密码可能就是普通的单词,像"Ferrari", "QWERTY", 或者其他名字, 地理位置等等,然而猜密码就像在干草堆中找到一根针一样,并且, 没人能保证一定能够猜到密码, 我仅仅希望我们能够幸运, 是否有更加可靠的办法来破解这个代码呢? 让我们考虑一下, 假如引用的密码保存在程序中, 并且没有用狡猾的办法加密, 它能够通过简单的查看二进制代码找出来, 查看所有的文本字符串, 尤其是看起来有些像密码的字符串, 我们就会快速的找到密钥, 然后简单的打开程序。我们需要查找的区域可能会很小, 大多数情况, 编译器放置初始化变量在数据段中(在 PE 文件中, 节中), 较少的例外可能是早期的 borland 编译器, 他们放置文本在引用他们本身的代码段中, 因此所有的在其中分配的变量都是之读的。和这个不同的是, 处理器上存在独立的二级缓存系统, 这些字符串散落在代码段中, 在前面读取中被装载, 当他们第一次被调用的时候,从较慢的 RAM 中再次装载到 data 二级缓冲中,这样是较慢的操作,导致性能上的下降。因此, 让我们假设密码就在数据节中, 现在, 我们需要一个手头上的工具开查看二进制的文件,你可以按 F3 在你的喜好的 shell 中,并且通过 p

《黑客反汇编解密》 中文版 来自淘豆网m.daumloan.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数13
  • 收藏数0 收藏
  • 顶次数0
  • 上传人xgs758698
  • 文件大小0 KB
  • 时间2016-03-29
最近更新