谁能帮我把这两个简单的程序反编译成C++/C或其他高级语言


我这里有两个命令行程序,好像是用C++编写的,我了解到C++反编译很难,不过这几个程序好像比较简单,仅仅是字符的转换,请求各位大侠尽力帮我把它反编译成C++/C或其他的高级语言,能反编译出来多少就多少,不强求,请各位把自己可以反编译出来的部分写出来,万分感谢!
这两个程序的下载地址:
http://tete1030.googlepages.com/fanbianyi.rar

14 个解决方案

#1


- -b 你还如说函数什么功能,帮你写个

#2


如果好的话我还会追加分数,谢谢大家帮忙

#3


。。。。功能。。。。。我说多了怕你们混淆,这两个程序本身就是一个简单的编译程序,但编译出来的东西不是电脑上运行的,我想做一个模仿它们俩的功能的程序
。。弄不明白的话就当这句没说

#4


这里面的两个文件BBasic.exe生成汇编代码,Blink.exe生成bin文件

#5


你还是说出具体的转换方法吧
转换汇编到C的代价要比写高很多.

#6


我不知道,这不是我写的程序

#7


用Ollydbg看一下你们就知道是什么了

#8


“不过这几个程序好像比较简单,仅仅是字符的转换“
“这两个程序本身就是一个简单的编译程序”

--------------------
原来编译程序是这样的呀,呵呵...

#9


看名字是basic的编译程序

#10


人工逆向工程明码标价:
1.VB类程序按照大小100/k
2.C/C++类按照大小1000/k
时间不能有限制,接不接单随性,尤其复杂的另外收取复杂费

“我了解到C++反编译很难”
我了解VB部分反编译很难,C++是几乎没有可能~

#11


jfjf
这个。。。

#12


你这个是16位的程序吧

#13


看了下, 反编译还不如反汇编好看, 花了20分钟看了看 BLink , main 函数大概是酱紫 :
BLink 一共有10K左右的代码要处理, 不过代码看起来很简单的样子, 花2天时间差不多...


char szTempFileName[ 260 ];
FILE* err_fh = NULL;

int main( int argc , char* argv[] )
{
  int r = -1;
GetTempPath( szTempFileName , sizeof( szTempFileName ) );
strcat( szTempFileName , "linker.err" );
DeleteFile( szTempFileName );

err_fh = fopen( szTempFileName , "w" );
if( argc == 3 )
{
 r = do_main_work( "" , argv[1] , argv[2] );
}
else if( argc == 4 )
{
   r = do_main_work( argv[1] , argv[2] , argv[3] );
}
else
{
   printf( "Useage: BBasic [+options] + objfile + binfile\n" );
}
if( err_fh )
fclose( err_fh );

if( r )
{
  pritnf( "Fail!!!\n" );
}
else
{
DeleteFile( szTempFileName );
printf( "\nBBK Basic Linker Ver%-7.1f\n" , 2.0 );
printf( "Author: 通宵虫\n" );
printf( "Copyright (c)2006 东莞步步高教育电子有限公司\n" );
printf( "All rights reserved.\n\n" );
}
return r;
}

#14


基本上C/C++程序经过优化后进行反编译是不可能的。如果有符号文件的话,用windbg跟踪到时能看出个来龙去脉。

如果程序简单,还是去吧功能研究清楚自己写一个算了

注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
粤ICP备14056181号  © 2014-2020 ITdaan.com