Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • Home
  • SEARCH
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 6223465
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 24, 20262026-05-24T08:29:40+00:00 2026-05-24T08:29:40+00:00

My goal is to access the byte[] representing the bytecode of a class without

  • 0

My goal is to access the byte[] representing the bytecode of a class without specifically knowing the location of the class files at runtime.

I have looked into two solutions and was able to get mild success out of one of them, but I was wondering if there might be other ways to accomplish it (or how I went wrong in the second solution that I couldn’t get to work).

My first (mildly) successful solution was to use the java.lang.instrumentation ClassFileTransformer class to access the byte[] of the classes. Though this workek, I assumed that there must be a cleaner way to accomplish this.

My second solution was to use the -Xbootclasspath JVM argument to replace java.lang.ClassLoader with my own allowing it to have access to the byte[] of the classes loaded. I added a simple System.out.println debug message to confirm that the overriding of the ClassLoader was working, but it wasn’t. I got this idea from this paper on the same subject. My class was made similarly to how the Integer class was remade in the linked paper. I also used a similar directory setup for the JVM argument looking something like this:

java -Xbootclasspath/p:.\out\production\boot\java\lang TestLoader

My thought is that the ClassLoader class specifically cannot be overridden using the method in the paper I linked.

I would be interested seeing why my attempt at overriding the ClassLoader did not work and also in hearing what else I could do to access the byte[] of classes.

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-24T08:29:40+00:00Added an answer on May 24, 2026 at 8:29 am

    Could you just read the class bytes using getResourceAsStream()?

    InputStream is = String.class.getResourceAsStream("String.class");
    

    Edit adding alternative:

    (copied from comment)

    Given all the possibilities that need to be covered, ClassFileTransformer and instrumentation API might be the way to go. I don’t know what the requirements are for ‘clean’, but if the issue is having to specify command line arguments to the JVM you could try using the Attach API – you can attach to an already running Java process, push in your ClassFileTransformer, and look at all the classes already loaded in the JVM plus any that are loaded thereafter.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I have a project here the goal is to merge multiple Access DB's into
My goal is to have user-uploaded files (mostly PDF) available for download only via
I have a byte array which I would like to access by Int32 pointer
The Goal: Access / Write to the same temp files when using a common
Goal: User tries to access page without authentication. Site redirects to login page, when
My goal is to access a class that is passed in as a parameter
The goal is to access the nth element of a vector of strings instead
Goal: to programmatically determine the sizes (in bytes) of the fields of a class.
goal: I have the string 1234432144 I want to only replace the first 2
My Goal I would like to have a main processing thread (non GUI), and

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.