- 軟件(jiàn)大小:3.58M
- 軟件語(yǔ)言:中文
- 軟件(jiàn)類型:國產軟件
- 軟(ruǎn)件類別:免費(fèi)軟(ruǎn)件 / 編程工具
- 更新時間:2018-08-27 11:46
- 運行(háng)環境:WinAll, WinXP
- 軟件等級:
- 軟件廠商:
- 官方網站:http://www.chithemodel.com/
5.46M/中文/0.0
1.83M/中文/0.0
489KB/中文/10.0
31.91M/中文/10.0
1.90M/中文/7.7
swf反編譯(yì)yogda是針對flash打造的反編譯調試程序,主要是(shì)為開發(fā)人(rén)員提供反編譯(yì)修改功能,超強的的使用功能(néng)為程序(xù)員們軟件開發(fā)提供更多的幫助,需要的用戶快來綠(lǜ)色(sè)資源(yuán)網下載吧!
反編譯調試flash的程序,有了Yogda,開發人員可以修改(gǎi)/優化的adobe flash應用程序(xù)編譯後(hòu)的字(zì)節碼。
說起來修改flash遊戲,理論上應該可以找到更好的解決辦法——直接去修(xiū)改(gǎi)二次(cì)編譯後的代碼,那樣就可以為所(suǒ)欲為了(le),咕~~(╯﹏╰)b。有位(wèi)老大(dà)爺(yé)說得好,工欲善其事必先利其器!這東東嘎哈的不(bú)用(yòng)說了,這丫的可(kě)以直接修改代碼(mǎ)……咕~~(╯﹏╰)b挺(tǐng)好挺強大。
Yogda是一個(gè)AVM2 bytecode級的swf編輯器。
由著(zhe)名(míng)flash開源3D引擎Yogurt3d的開發(fā)者開發,但(dàn)Yogda是(shì)一個商業軟件(jiàn)。
使(shǐ)用Yogda可更改/替換swf的tag,並可以(yǐ)直(zhí)接對swf的doabc做匯編級(jí)別的修改(AVM2時代的flasm?),
可以把它看成一(yī)個高級一點的"閃(shǎn)客之(zhī)錘"。
這意味著swf加解(jiě)密又(yòu)多了一個方便可(kě)靠的工(gōng)具。
用你選擇的(de)反編譯器打開導出的SWF,Yogda則依次展(zhǎn)開左邊的樹,來到這(zhè)裏:
Public function _fla:frame1();
看右麵(miàn)(我隻是(shì)右鍵複製的):
function 0000 *():
{
// Max stack : 5
// Local count : 1
// Scope depth : 10
// Max Scope depth : 11
// Exception Count : 0
// Trait Count : 0
// Code Length : 65 bytes.
0 getlocal0
1 pushscope
2 getlocal0
4 pushbyte 60
6 initproperty _w
7 getlocal0
9 pushbyte 60
11 initproperty _h
12 getlocal0
14 getlex graphics
16 initproperty gr
17 getlocal0
19 getproperty gr
22 callpropvoid clear,0
23 getlocal0
25 getproperty gr
27 pushbyte 1
29 pushint 1
32 callpropvoid LINEStyle,2
33 getlocal0
35 getproperty gr
37 pushint 2
39 pushdouble 1
42 callpropvoid beginFill,2
43 getlocal0
45 getproperty gr
47 pushbyte 20
48 dup
49 getlocal0
51 getproperty _w
52 getlocal0
54 getproperty _h
57 callpropvoid drawRect,4
58 getlocal0
60 getproperty gr
63 callpropvoid endFill,0
64 returnvoid
}
看見紅(hóng)的那幾行了吧(當然你編輯器上(shàng)不是紅的,看行號,要是沒紅的,看下麵),就是(shì)gr.lineStyle(1, 0x999999);反編譯的結果了,0x999999呢?除了byte,bool類(lèi)型,其他的(de)一般(bān)都被(bèi)索(suǒ)引代替了,可以翻看左麵的Integers,裏麵依次有編號,但是編(biān)號和這裏的(de)編號不對應,應該+1。 不扯遠了(le),再次對比:
gr.lineStyle(1, 0x999999);
就是:
23 getlocal0
25 getproperty gr
27 pushbyte 1
29 pushint 1
32 callpropvoid lineStyle,2
注:前麵的數字不是行號,是字節(jiē)號。
翻譯一下,注(zhù)意(yì)對照看ABC:
23,其語義應理解(jiě)為This.
25,Gr.
27,咱就(jiù)不說堆棧(zhàn),參數1
29,咱還不說堆(duī)棧,參(cān)數2
32,調用(yòng)
前麵的倆(liǎng)參數,是給後(hòu)麵調用用的。很明白(bái)了吧。所以,我們想把(bǎ)這鬼(guǐ)子丫的改成清晰(xī)的黑框子(zǐ),很易:
雙擊29那行,修改為pushbyte 1,點OK保存。然後小鼠標輕(qīng)點工(gōng)具欄上(shàng)內保存按鈕,重(chóng)新(xīn)運行那個new.swf,丫的(de)黑(hēi)了吧!
很易(yì)是不,不過還得(dé)說,我們還得用winhex,因為(wéi)我習慣於WINHEX,直接CTRL+ALT+X查找一串標誌性的16進製,然後去編輯——2D 01改為24 01……暈了(le)吧,開個(gè)玩笑(xiào)。
請描述您所遇到的錯誤,我們將盡快(kuài)予以修正,謝(xiè)謝(xiè)!
*必填項,請輸入(rù)內容(róng)