導航:首頁 > 源碼編譯 > 反編譯pcode

反編譯pcode

發布時間:2022-09-10 12:07:47

『壹』 有一*.exe文件,看圖標判斷為vb生成,請問能反編譯而得到源代碼嗎非常感謝!

Create Project -> Application !
============
執行文件的建立
1、編譯格式的選擇

PowerBuilder 8.0對生成可執行文件提供了兩種編譯格式:偽代碼(Pcode,即pseudocode的縮寫)和機器代碼(Machinecode)。偽代碼是一種在所有PowerBuilder 平台上支持的解釋性語言,它的格式與PowerBuilder 運行庫(.pbl)一樣,在可執行狀態下保存單個對象,其優點是方便和可移植;機器代碼則是真正的完全脫離PowerBuilder 環境的可執行文件,其優點是速度快,但文件容量比較大。選擇編譯代碼格式一般基於以下三個方面:

①速度。若目標是優化運行速度和應用強化腳本處理,則選擇機器代碼。要是代碼中較多地使用了循環結構、浮點運算或整數演算法及函數調用,機器代碼將比偽代碼做得更好。但偽代碼的編譯速度比機器代碼快,特別是開發人員要快速地創建測試用的可執行文件時非常便利;

②大小。偽代碼生成的文件比機器代碼的小。如運行應用程序的終端機器容量緊張的話,就需要放棄較快的機器代碼而選擇偽代碼;

③移植。偽代碼對於跨平台的應用非常有用。它可以方便地跨平台(PowerBuilder 支持)使用,包括:Microsoft Windows (16位和32位)、AppleMacintosh和UNIX。機器代碼是依賴於平台的,也就是說要求生成和可執行應用平台一致,不過它可以獲得更好的性能。

2、動態庫的建立

發布PowerBuilder 8.0應用可以將一些對象不放到可執行文件中,而放到動態庫中在運行時裝入,這樣可以將應用程序分割成更小的模塊便於管理和維護。

選擇偽代碼(Pcode)編譯方式生成PowerBuilder動態庫(.pbd文件),選擇機器代碼(Machinecode)方式在Windows和UNIX平台上生成動態鏈接庫(.dll文件,如將test.pbl編譯成test.dll),在machine平台上生成平台支持的共享庫(如test.lib)。如果在Windows上有兩個應用,那麼編譯成的.pbd包含一個調用全局外部函數的用戶對象,為了保證正確調用函數必須為每個應用單獨編譯和發布.pbd文件。

當建立動態庫時,將源庫(.pbl文件)中所有對象的編譯版本拷貝到動態庫中。為了在某些庫中只使用所需的對象,可以將它們放到一個標準的PowerBuilder庫(.pbl)中。
在建立動態庫時,PowerBuilder並不檢查所有對象,只是簡單地去掉對象的源格式,因此,對於一些在畫筆或腳本中指定了使用資源(圖形、圖標或指針)的對象,若不想提供單獨的資源,則必須在資源文件(.pbr)中羅列出這些資源,這樣才能保證在建立動態庫時包含這些資源。

動態庫的建立有兩種途徑:一是在庫管理畫筆中建立;二是在工程畫筆中建立工程對象時一起建立。

3、資源文件的使用

可執行文件或動態庫中可以包含一些資源(圖形、圖標或指針),也可以將它們作為單獨的資源文件(.pbr文件)保存。

(1)單獨的分布資源

若某資源不包含在可執行文件或動態庫中,則在執行應用程序引用它時,PowerBuilder按查詢路徑查找該資源,因此,必須將它與應用程序一起放在查詢路徑下。

Windows的查詢路徑為:當前目錄,Windows目錄,Windows的System目錄和PATH環境變數中設置的所有目錄。

(2)資源文件

可以使用PowerBuilder資源文件(.pbr)替代單獨的資源,其中列出所有的動態分配的資源也可以包含動態分配的數據窗口對象。PowerBuilder將這些資源編譯後放入可執行文件或.pbd文件中,這些資源在執行時可直接使用。

若給數據窗口控制項動態分配數據窗口對象,則必須創建一個資源文件,且在可執行文件或動態庫文件中包含該對象,或在一個單獨的動態庫中包含它。

資源文件(.pbr)是一個ASCII碼文件,在其中列出了應用程序要有到的各種資源(如.bmp、.cur、.ico、.rle和.wmf文件)和數據窗口對象。使用文本編輯器(如Windows的記事本)創建一個文本文件,其中列出在應用中動態引用的資源文件,一行列出一個資源,格式如:

appico.ico
appbmp1.bmp
appbmp2.bmp
……

以上文件和對象都假設是在當前目錄中,如果存在於另一個目錄中,則必須包含所在路徑,格式如:

e:\myapp\test.jpg。

『貳』 反編譯出來的代碼是什麼語言

呵呵,我回答你吧。反編譯的代碼是什麼要看你用的是什麼語言寫的源程序了。如果是java寫的,它被編譯成位元組碼,但不是真正的機器語言,如果反編譯的話,就可以把java源代碼反編譯出來,c#跟java如出一轍,原理上是很相近的,所以它的程序也可以反編譯出源代碼。但是像c語言等其它語言,一般都是直接編譯成機器碼的,這樣你反編譯是不可能反編譯出源代碼的,只能反編譯成匯編語言,當然,像什麼網頁方面的語言,呵呵,你就不用反編譯了,直接看源代碼就行了,呵呵(說笑了)。

『叄』 有沒有辦法反編譯matlab 的p-code

生成p文件的方法很簡單,在command wondow裡面用 mcc -B pcode file.m命令轉化為pcode文件,據說是不會被反編譯的。他的缺點是不能夠脫離Matlab單獨運行,必須還在command window裡面調用,可移植性不強。如果生成.exe文件就可以解決這個問題。

『肆』 vb反編譯出來還是看不到txt密碼是多少

這很正常吧.拋開編譯機制不說,密碼你確定是以明文方式保存的嗎?
比如
Function CreatePassWord as String
dim I as integer, str as string

str=""

for I = 0 to 9

str=str + cstr(i)

next

CreatePassWord = str
End Function
通過個函數生成一個"0123456789"的密碼
但是在明文里是不存在的.而是通過演算法生成出來的.

『伍』 怎樣將exe程序反編成VB代碼

VB 可以編譯為兩種格式:

Native /本地代碼:可以用通用的反匯編工具反匯編,或部分反編譯至 C 代碼;
P-code /偽代碼:目前尚沒有 P-code 格式 EXE 的反匯編工具。

『陸』 VB反編譯器怎麼用

VB 是偽代碼,是種解釋性語言,
反編譯沒用的,不能得到編寫的代碼,只能看看有哪寫控制項.

『柒』 vb編譯時本機代碼和P代碼有什麼不同

P代碼是VB程序生成的偽代碼,可講是一種解釋型的代碼,如果你用VB的反編譯程序,則有可能把那個VB程序反編譯出代碼,不過P代碼在資料庫的方面上效率並不比本機代碼的低,而用本機代碼方式生成的EXE則可算是真正的EXE吧.....代碼執行的效率比較高......一般來說用的都是本機代碼.

『捌』 有什麼好用的VB反編譯軟體,給幾個

網上能找到,但反編譯後得不到代碼. 我有。但想花錢賣。:490692918可不可以用。然後再說你花錢不花錢買。好的。而且直觀。只能改VB

閱讀全文

與反編譯pcode相關的資料

熱點內容
卡爾曼濾波演算法書籍 瀏覽:768
安卓手機怎麼用愛思助手傳文件進蘋果手機上 瀏覽:843
安卓怎麼下載60秒生存 瀏覽:802
外向式文件夾 瀏覽:235
dospdf 瀏覽:430
怎麼修改騰訊雲伺服器ip 瀏覽:387
pdftoeps 瀏覽:492
為什麼鴻蒙那麼像安卓 瀏覽:735
安卓手機怎麼拍自媒體視頻 瀏覽:185
單片機各個中斷的初始化 瀏覽:723
python怎麼集合元素 瀏覽:480
python逐條解讀 瀏覽:832
基於單片機的濕度控制 瀏覽:498
ios如何使用安卓的帳號 瀏覽:882
程序員公園采訪 瀏覽:811
程序員實戰教程要多長時間 瀏覽:974
企業數據加密技巧 瀏覽:134
租雲伺服器開發 瀏覽:813
程序員告白媽媽不同意 瀏覽:335
攻城掠地怎麼查看伺服器 瀏覽:600