誰能幫我把這兩個簡單的程序反編譯成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