使用jd-gui+javassist修改已編譯好的class文件

1.原因:因為公司代碼管理不當導致源碼丟失,只好已編譯好的class文件進行修改

2.首先先在myeclipse中新建java項目并導入javassist

3.將需要修改的文件放到指定文件夾下

4..在項目中添加以下代碼

package dtj;import javassist.ClassPool;
import javassist.CtClass;
import javassist.CtMethod;
import javassist.NotFoundException;public class MyTest {///入口啟動函數public static void main(String[] args) throws Exception {//這個是得到反編譯的池
ClassPool pool = ClassPool.getDefault();pool.insertClassPath("E:/dtj") ;//取得需要反編譯修改的文件,注意是完整路徑
CtClass cc1 = pool.get("SmsSender");try {cc1.setName("CTCC_SmsSender");//取得需要修改的方法// CtMethod method = cc1.getDeclaredMethod("a");//插入修改項,我們讓他直接返回(注意:根據方法的具體返回值返回,因為這個方法返回值是void,所以直接return;)// method.insertBefore("{if(true) return ;}");//寫入保存
cc1.writeFile();} catch (NotFoundException e) {e.printStackTrace();}} 
}

?注:jd-gui和javassist的下載地址

http://download.csdn.net/detail/createnum/9454787

轉載于:https://www.cnblogs.com/dtj007/p/5251226.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/458245.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/458245.shtml
英文地址,請注明出處:http://en.pswp.cn/news/458245.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

機器視覺學習筆記(4)——單目攝像機標定參數說明

from:https://blog.csdn.net/xuelabizp/article/details/50314633機器視覺學習筆記(4)——單目攝像機標定參數說明 標簽: 機器視覺1.針孔攝像機模型 在介紹攝像機標定參數之前,需要先簡單說一下針孔攝像機的原理。投影…

mysql 5.6 binlog組提交

mysql 5.6 binlog組提交實現原理http://blog.itpub.net/15480802/viewspace-1411356 Redo組提交 Redo提交流程大致如下 lock log->mutex write redo log buffer to disk unlock log->mutex fsync Fsync寫磁盤耗時較長且不占用log->mutex,也就是其執行期間其…

python基礎(正則表達式)

http://www.cnblogs.com/huxi/archive/2010/07/04/1771073.html 轉載于:https://www.cnblogs.com/wanderingzj/p/5253325.html

LinuxShell腳本之利用rsync+ssh實現Linux文件系統遠程備份

功能介紹:該腳本用于定期(結合crontab一起使用)將本地目錄通過rsyncssh傳輸到遠程服務器,每次執行都生成一個帶有以時間命名的目錄,并且當前最新版本的數據鏈接到一個名字叫current的符號鏈接上,便于查找和…

張正友相機標定Opencv實現以及標定流程標定結果評價圖像矯正流程解析(附標定程序和棋盤圖)

from:https://blog.csdn.net/dcrmg/article/details/52939318使用Opencv實現張正友法相機標定之前,有幾個問題事先要確認一下,那就是相機為什么需要標定,標定需要的輸入和輸出分別是哪些?相機標定的目的:獲…

軟件測試技術 homework2

Code 1 1.fault是迭代的條件應該是 i > 0 而不是 i > 0 2.當測試用例是 [3,2,1],1 時。 3.當測試用例是 [2,3,4],1 。 4.當測試用例是 [2],1 。 Code 2 1.fault是應該逆序迭代,正確為for(int i x.length-1;i>0;i--) 2.當測試用例是[0,1&#x…

header的安全配置指南

0x00 背景 在統計了Alexa top 100萬網站的header安全分析之后(2012年11月 - 2013年3月 - 2013年11月),我們發現其實如何正確的設置一個header并不是一件容易的事情。盡管有數不勝數的網站會使用大量有關安全方面的header,但 并沒有…

opencv雙目視覺標定、匹配和測量 (附代碼)

from:https://blog.csdn.net/bcj296050240/article/details/52778741雙目視覺原理方面參照《學習Opencv》和大牛博客 http://blog.csdn.net/chenyusiyuan/article/details/5970799中16-19系列博客。本文主要記錄我自己在雙目視覺標定,立體匹配&#xff0…

dom內容區域的滾動overflow,scroll

去掉手機上點擊點中的默認高亮效果 -webkit-tap-highlight-color: rgba(0,0,0,0); ios手動啟動一下監聽touch事件以響應css偽類: document.addEventListener("touchstart", function(){}, true) 傳統 pc 端中,子容器高度超出父容器高度,通常使…

工業相機的選擇方法

信號  工業相機的信號類型有模擬信號和數字信號兩種。模擬相機必須有圖像采集卡,標準的模擬相機分辨率很低,采集到的是模擬信號,經數字采集卡轉換為數字信號進行傳輸存儲。工業數字相機采集到的是數字信號,數字信號不受電噪聲影…

atitit.短信?驗證碼??破解??v3?p34??識別?繞過?系統方案規劃----業務相關方案?手機驗證碼??.doc...

atitit.短信 驗證碼 破解 v3 p34 識別 繞過 系統方案規劃----業務相關方案 手機驗證碼 .doc 1. 手機短信驗證碼 vs 圖片驗證碼 安全性(破解成本)確實要高一些1 1.1. 破解基本原則有兩種,一種是繞過驗證碼。一種是攔截1 2. 手機 短信 驗證…

SpringMvc整合Quartz實現定時任務項目源碼

項目中一直使用Quartz做定時任務,但是一直沒有去仔細閱讀詳細參數配置說明以及它源碼,最近花了一點時間做了一個整理。系統的看了一下源碼實現并順手做了一個簡單的Demo。 一、說明 spring版本4.0.5、Quartz版本2.2.2 注意定時任務的配置需要spring-cont…

工業相機基本參數以及選型

from: https://blog.csdn.net/dcrmg/article/details/52851913工業相機基礎知識(一) CCD與CMOS 工業相機按照圖像的傳感器元件的不同分為CCD(Charge Coupled Device,電荷耦合元件)和CMOS(金屬氧化物半導體元件&#xf…

讀《我是一只IT小小鳥》有感

學期剛開始老師就在課堂上給我們這些未來的IT行業工作者推薦了這本《我是一只IT小小鳥》。其實在這之前我對這本書是早有耳聞的,許多人的推薦足以證明它是一本好書,然而那時的我并未能料到自己會成為軟件工程專業的學生,也對這個專業一無所知…

socket編程初級

什么是socket定義socket通常也稱作套接字,用于描述IP地址和端口,是一個通信鏈的句柄,應用程序通常通過套接字向網絡發出請求或者應答網絡請求。socket起源于Unix,而Unix/Linux基本哲學之一就是“一切皆文件”,對于文件…

OpenCV—基本數據結構與示例

OpenCV的基本數據結構及示例OpenCV中強大的Mat類型大家已經比較熟悉了。這里梳理一些在工程中其他經常用到的幾種基本數據類型。包括:VecScalarPointSizeRectRotatedRect1. Vec類1.1 基本概念Vec是一個模板類,主要用于存儲數值向量。1.2 用法&#xff08…

使用var聲明的變量 和 直接賦值并未聲明的變量的區別

在看JS高級程序設計時忽然想到這個問題,眾所周知,直接賦值一個變量而為聲明,會產生一個全局變量(或者說是全局對象的屬性),但用var聲明的變量 和 直接賦值而并未聲明的變量 都有哪些區別呢,這是…

轉載-程序員編程技術迅速提高的終極攻略

2019獨角獸企業重金招聘Python工程師標準>>> 前言 你是否覺得自己從學校畢業的時候只做過小玩具一樣的程序?走入職場后哪怕沒有什么經驗也可以把以下這些課外練習走一遍(朋友的抱怨:學校課程總是從理論出發,作業項目都…

工作記錄二-Docker+Dockerfile

1. 安裝虛擬機 Oracle VM VirtualBox, 安裝centos 7.2版本2. 需要在命令行中先設置代理: export http_proxyproxy.xxxxx.com:8080 3. 運行 yum install docker安裝docker 安裝 docker-compose curl -L https://github.com/docker/compose/releases/down…

SVM

from:https://blog.csdn.net/liugan528/article/details/79448379 SVM 1. 基本概念 支持向量機(Support Vector Machine, SVM)的基本模型是在特征空間上找到最佳的分離超平面使得訓練集上正負樣本間隔最大。SVM是用來解決二分類問題的有監督學…