zoukankan      html  css  js  c++  java
  • 利用CodeBlocks修改PUTTY以文件形式保存配置信息

      这两天PUTTY汉化版有后门的事闹得沸沸扬扬,给网络安全再次敲响警钟。本人也常用PUTTY,这玩意儿好用也够用,不过却有一个不大不小的缺点,那就是配置信息是保存到注册表而不是文件中,不利于安全也不利于便携应用。网上虽然也有修改版,但说实话不敢用。于是还是自己动手改吧。

      首先,在PUTTY官网下载源码http://the.earth.li/~sgtatham/putty/latest/putty-src.zip,解压后看了一下代码,一个字“晕”,只能怪自己不够牛X。不过好在这个世上从来不缺少牛X人,用GOOGLE搜了一下(不信度娘),果然发现有位老外哥儿们jakub从2005年开始就一直在做这块工作,不仅给出了修改过的程序,连源码都一并送上,真是活雷峰http://jakub.kotrla.net/putty/。只是修改仅支持到6.1,而官方最新版是6.2。看来这步工作还是自己做比较靠谱。

      一、导入PUTTY工程

      由于本人电脑里装的是CodeBlocks,所以导入和编译都是基于此IDE。在CodeBlocks导入PUTTY的MSVC工程文件,路径在putty-src\WINDOWS\MSVC\PUTTY.DSW。导入最后会报个错,不用理会。成功的话,一共会导入7个项目,每个对应一个PUTTY的应用程序。

      二、修改源码

      在http://jakub.kotrla.net/putty/下载两个修改文件源代码,http://jakub.kotrla.net/putty/winstore.c和http://jakub.kotrla.net/putty/winpgnt.c,前者涉及到存取配置信息,后者涉及到密钥缓存的存取。在CodeBlocks中找到对应的两个文件(随便哪个项目里都行,相同文件指向都是一样的),将下载的源码文件中凡是有JK开头注释的代码段都替换添加到项目对应文件的相应位置,要改的地方还挺多,纯体力活。注意不要改错,确认无误后保存。

      三、编译代码

      1、依次设置每个项目的Build options,在PAGEANT中选择编译器为“Microsoft Visual C++ 2005/2008”,在Win32 Release 的"Compiler Settings" ->"Other Options"中删除-W。

      2、分别在PLINK、PSCP、PSFTP这三个项目的项目属性里,将"Build targets"->"Win32 Release"->"Selected build target options"->"Type"设成“Console application”。

      3、编译生成整个工程,期间会有一些警告,但编译不受影响。生成的可执行文件在各自项目的Release文件夹中。

      至此,修改工作完成。这时再使用PUTTY时配置文件均以文件形式存取,相当方便。

    最后有两点要提一下:

    1、通过CodeBlocks编译生成的可执行文件要比jakub提供的大100K左右。

    2、存取配置文件时,偶尔会报错,关掉PUTTY再开就好,不影响大局。

    lykyl原创,转载请注明出处)
  • 相关阅读:
    angularjs的$filter使用
    ngResource提交json数据如何带参数
    angularjs可交互的directive
    AngularJS $http配置为form data 提交
    让AngularJS的$http 服务像jQuery.ajax()一样工作
    mysql修改密码
    四种常见的 POST 提交数据方式
    跨域API
    cmd复制文件
    git查看日志
  • 原文地址:https://www.cnblogs.com/lykyl/p/2334087.html
Copyright © 2011-2022 走看看