2010-3-13 17:41:35

« 网站冒充“升级站”“补丁站”传播木马2010-3-13 ~可疑URL列表 »

懒人术:制作一个小程序快速调用upx.exe脱除upx

"编程相关"果不其然又成了文章最少的分类...以我目前的水平..实在是选不出来也写不出来什么有水准的代码,所以今天这个简易的shell程序就当是在充个数吧.

文章来自:www.sacour.cn

upx是一个非常简单的壳,脱壳方法也很简单,由于即使是手动脱壳,时间也不到2秒,而为了脱这个壳还得开调试器,dump来dump去的,倒不如调用它的主程序upx.exe,使用其-d开关来脱掉壳,脱除后文件排列比较整齐,至少比od之类dump出来的数据看着舒服,而且体积也小一点,但是由于upx.exe是console app,手动执行的话毕竟有点麻烦,于是我就偷懒做了个小程序来自动调用它.

以下使用devcpp 4.9(5.0),建立一个c语言console app,写入如下代码

#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[])
{
  char command[1000];   //定义变量,来存储最后的命令
  if(argc==1){exit(-1);}  //如果没有附加参数则退出
  sprintf(command,"c:\\upx.exe -d \"%s\"",argv[1]);  //组合参数,加粗部分换成你机子上upx.exe的地址即可
  system(command);  //执行组合后的参数
  sleep(2000);  //休眠2秒,用于显示最后结果
  return 0; //退出
}

代码非常简单,一点水准都没有....可谓是学了c语言不到1小时就能写出来的玩意,不过实际用起来(如果你经常调试病毒之类的)还是挺方便的,怎么个方便呢?

先编译这个exe,然后把exe复制到%userprofile%\sendto(直接在地址栏这么输入就可以了),这样,如果哪个文件你一时懒了,不想手脱了,直接右键点击,选"发送到 -- unpackupx.exe" (假设编译出的exe名叫unpackupx.exe),那个文件就可以脱掉upx这件外衣了.

  • 相关文章:

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

Copyright, 2004-2010 Blast Software, all rights reserved.
皖ICP备09016542号

View Stats