當前位置:首頁 » 編程軟體 » 谷歌反編譯

谷歌反編譯

發布時間: 2022-01-30 11:40:13

⑴ 把5.1的googledialer.APK反編譯了,不知道修改哪兒的代碼

一、Apk反編譯得到java源代碼 下載上述反編譯工具包,打開apk2java目錄下的dex2jar-0.0.9.9文件夾,內含apk反編譯成java源碼工具,以及源碼查看工具。 apk反編譯工具dex2jar,是將apk中的classes.dex轉化成jar文件 源碼查看工具jdgui

⑵ 怎麼反編譯D-Link路由器固件程序並發現它的後門

基於上面的字元信息可以看出,這個/bin/webs二進製程序是一個修改版的thttpd,提供路由器管理員界面操作功能。看起來是經過了台灣明泰科技(D-Link的一個子公司)的修改。他們甚至很有心計的將他們很多自定義的函數名都輔以「alpha」前綴:

明泰科技的自定義函數
這個alpha_auth_check函數看起來很有意思!
這個函數被很多地方調用,最明顯的一個是來自alpha_httpd_parse_request函數:

調用alpha_auth_check函數
我們可以看到alpha_auth_check函數接收一個參數(是存放在寄存器$s2里);如果alpha_auth_check返回-1(0xFFFFFFFF),程序將會跳到alpha_httpd_parse_request的結尾處,否則,它將繼續處理請求。
寄存器$s2在被alpha_auth_check函數使用前的一些操作代碼顯示,它是一個指向一個數據結構體的指針,裡面有一個char*指針,會指向從HTTP請求里接收到的各種數據;比如HTTP頭信息和請求地址URL:

$s2是一個指向一個數據結構體的指針
我們現在可以模擬出alpha_auth_check函數和數據結構體的大概樣子:
struct http_request_t
{
char unknown[0xB8];
char *url; // At offset 0xB8 into the data structure
};

int alpha_auth_check(struct http_request_t *request);

alpha_auth_check本身是一個非常簡單的函數。它會針對http_request_t結構體里的一些指針進行字元串strcmp比較操作,然後調用check_login函數,實際上就是身份驗證檢查。如果一旦有字元串比較成功或check_login成功,它會返回1;否者,它會重定向瀏覽器到登錄頁,返回-1;

alpha_auth_check函數代碼片段
這些字元串比較過程看起來非常有趣。它們提取請求的URL地址(在http_request_t數據結構體的偏移量0xB8處),檢查它們是否含有字元串「graphic/」 或 「public/」。這些都是位於路由器的Web目錄下的公開子目錄,如果請求地址包含這樣的字元串,這些請求就可以不經身份認證就能執行。
然而,這最後一個strcmp卻是相當的吸引眼球:

alpha_auth_check函數中一個非常有趣的字元串比較
這個操作是將http_request_t結構體中偏移量0xD0的字元串指針和字元串「xmlset_roodkcableoj28840ybtide」比較,如果字元匹配,就會跳過check_login函數,alpha_auth_check操作返回1(認證通過)。
我在谷歌上搜索了一下「xmlset_roodkcableoj28840ybtide」字元串,只發現在一個俄羅斯論壇里提到過它,說這是一個在/bin/webs里一個「非常有趣」的一行。我非常同意。
那麼,這個神秘的字元串究竟是和什麼東西進行比較?如果回顧一下調用路徑,我們會發現http_request_t結構體被傳進了好幾個函數:

事實證明,http_request_t結構體中處在偏移量 0xD0處的指針是由httpd_parse_request函數賦值的:

檢查HTTP頭信息中的User-Agent值

將http_request_t + 0xD0指針指向頭信息User-Agent字元串
這代碼實際上就是:
if(strstr(header, "User-Agent:") != NULL)
{
http_request_t->0xD0 = header + strlen("User-Agent:") + strspn(header, " \t");
}

知道了http_request_t偏移量0xD0處的指針指向User-Agent頭信息,我們可以推測出alpha_auth_check函數的結構:
#define AUTH_OK 1
#define AUTH_FAIL -1

int alpha_auth_check(struct http_request_t *request)
{
if(strstr(request->url, "graphic/") ||
strstr(request->url, "public/") ||
strcmp(request->user_agent, "xmlset_roodkcableoj28840ybtide") == 0)
{
return AUTH_OK;
}
else
{
// These arguments are probably user/pass or session info
if(check_login(request->0xC, request->0xE0) != 0)
{
return AUTH_OK;
}
}

return AUTH_FAIL;
}

換句話說,如果瀏覽器的User-Agent值是 「xmlset_roodkcableoj28840ybtide」(不帶引號),你就可以不經任何認證而能訪問web控制界面,能夠查看/修改路由器的 設置(下面是D-Link路由器(DI-524UP)的截圖,我沒有 DIR-100型號的,但DI-524UP型號使用的是相同的固件):

訪問型號DI-524UP路由器的主界面
基於HTML頁上的源代碼信息和Shodan搜索結果,差不多可以得出這樣的結論:下面的這些型號的D-Link路由器將會受到影響:
DIR-100
DI-524
DI-524UP
DI-604S
DI-604UP
DI-604+
TM-G5240
除此之外,幾款Planex路由器顯然也是用的同樣的固件程序:
BRL-04UR
BRL-04CW

⑶ 為什麼反編譯system.apk成功了(什麼也沒改)回譯卻用不了。java環境正常。

就是這樣的
有些apk文件在編寫的時候就考慮了反編譯的問題。。。
有的是根本無法反編譯
我以前查過 貌似有人說過 去谷歌下載最新的工具包可以嘗試...一下...

⑷ 豌豆莢apk反編譯,文件名亂碼,是怎麼做到的

1.下載反編譯工具
需要下載四個工具:dex2jar、JD-GUI、apktool、apktool-install-windows-r05-ibot
dex2jar:將apk中的classes.dex轉化成Jar文件。
JD-GUI:反編譯工具,可以直接查看Jar包的源代碼。
apktool:反編譯工具,通過反編譯APK中XML文件,直接可以查看。
apktool-install-windows-r05-ibot:輔助windows批處理工具。
下載地址:
dex2jar:http://code.google.com/p/dex2jar/downloads/list
JD-GUI:http://code.google.com/p/innlab/downloads/lis
apktool:http://code.google.com/p/android-apktool/downloads/list
工具截圖:

2.解壓縮APK包
apk文件也是一種常見的zip,常用的壓縮軟體就可輕松地解壓apk文件。用壓縮軟體將apk文件中的文件解壓到一個文件夾中,得到APK中的資源包括XML文件和classes.dex文件,classes.dex就是java文件編譯再通過dx工具打包而成的。
解壓截圖:

3.反編譯dex文件
解壓apk文件後,你會發現res目錄的圖片沒有加密,但java源碼編譯成了一個classes.dex文件,無法用普通的反編譯class文件的方法來處理,dex2jar可以將dex文件轉換成普通的jar包。
解壓下載的dex2jar,把解壓後的文件夾放到系統盤跟目錄中並把這個目錄加到系統path變數中,就可以直接用:dex2jar.bat或dex2jar.sh轉換dex文件了。
DOS行命令如下:dex2jar.bat xx\classes.dex(xx是classes.dex文件所在的路徑)。
將在同目錄得到普通jar包:classes_dex2jar.jar,就可以用處理普通jar包的方法來反編譯這個jar包得到原文件。

⑸ 下載了google sky map 但是是APK格式的 我應該如何解碼使用這個軟體

apk,解碼的話,要反編譯啊,不過好像不太簡單,你在eclipse下生成的android軟體安裝文件就是apk格式,所以你想用的話,可以配一個android虛擬機環境,具體上網搜下如何搭建即可,搭建好-->運行-->安裝apk文件,就可以用了

⑹ android 代碼混淆、壓縮文件破解真能防反編譯

很早以前安卓是很容易被破解的,後來谷歌意識到了這個問題,就多了一個proguard.cfg文件,就是用來混淆代碼的,這在一定程度上阻止了apk被反編譯。不過現在的反編譯越來越厲害了,普通的代碼混淆對於APK反編譯沒有效果了。現在要真正做到做apk反編譯,要保護dex文件、so庫文件、以及防止內存數據被靜態、動態抓取等等,一般都是通過密碼演算法給dex加殼隱藏、對源碼使用高級混淆、簽名效驗、使用花指令、對so文件使用演算法加密等。這些單獨一項可能還達不到較安全的保護,但是綜合起來就會達到一個相對很高的安全層次。如果覺得麻煩,可以嘗試用一下第三方APP加密如愛加密,今天上傳,第二天就能拿到加固後的apk,很方便的。

⑺ android名詞解釋 破解和反編譯一樣嗎

android:是谷歌公司旗下的一種專注於移動端的系統
(手機、平板、智能手錶、智能電視之類的)

反編譯是一種破解手段
反編譯屬於破解,而破解的辦法不止反編譯

望採納

⑻ 怎樣去掉網站源代碼里的google廣告代碼

一般廣告只要是通過代碼形式或.js文件內嵌在源碼里,首先您必須在IIS下運行測試下這些廣告最終的連接位置,後逐條通過DW或FP查找相關的代碼位置將其刪除即可,涉及到.JS文件,需要您耐心尋找,很多免費代碼都是通過多層連接指向某廣告代碼URL,這時候就需要您細心判斷,還有一些是經過加密的代碼,對於這些您可以到SOSO上尋找逆解的工具,反編譯後將代碼刪除即可,個人至今尚未遇見無法刪除的廣告代碼,細心和對於html理解能力有關系。

⑼ 怎樣防止編譯後的C語言文件被反編譯

app反編譯後防止介面泄露的方法,就是使用谷歌提供的混淆工具,將不要反編譯的文件保留,其他的都進行混淆,這樣之後反編譯看到的都是一些亂碼,例如abc之類的。

⑽ VS怎樣給項目加強名稱,怎樣防止反編譯

.net 生成的dll 反編譯很簡單的
一般.net的dll防止反編譯 採用 加殼和混淆 兩種方案
加殼我沒怎麼研究過,一般加殼工具使用後會造成dll不能使用
最常用的就是混淆了,工具也很多 我一般使用Xenocode進行混淆
可以對 類名,變數名,屬性 等命名進行混淆 減小其反編譯後的可讀性
你可以自己嘗試一下 基本混淆後的程序 反編譯後 很難自己解讀出來

熱點內容
linuxusbgadget 發布:2024-04-26 02:52:54 瀏覽:303
我的世界空島世界伺服器地址 發布:2024-04-26 01:39:08 瀏覽:248
尼爾機械紀元加密 發布:2024-04-26 01:37:11 瀏覽:867
在控制台輸出sql語句 發布:2024-04-26 01:08:12 瀏覽:432
動畫java 發布:2024-04-26 01:02:40 瀏覽:12
得力文件夾5302 發布:2024-04-26 00:21:32 瀏覽:91
您的個人文件夾 發布:2024-04-26 00:03:12 瀏覽:68
睿雲伺服器功能介紹 發布:2024-04-25 23:59:51 瀏覽:571
標致5008怎麼連接安卓 發布:2024-04-25 23:25:08 瀏覽:794
安卓下載管理器哪個好 發布:2024-04-25 23:22:48 瀏覽:442