Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

249
Views
Reemplazar buffer en Frida usando JS

Con Frida imprimo el SSL_write

 Interceptor.attach(Module.findExportByName("libssl.so", "SSL_write"), { onEnter: function (args) { console.log(args[1].readByteArray(args[2].toInt32())); } });

Quiero reemplazar el búfer para escribir en SSL, si el búfer contiene Ascii de AAAAAA , reemplácelo con BBBBBB

Cómo puedo hacer eso ?

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

Pasos:

  1. Asigne un Uint8Array con el mismo tamaño que recibe la función (puede verificar el argumento size_t)
  2. Copie el búfer original en nuestro recién asignado.
  3. Realice las operaciones requeridas (directamente en ArrayBuffer o conviértalo como una cadena de ida y vuelta).
  4. Obtenga un puntero al primer elemento de nuestro búfer recién asignado llamando a .unwrap() .
 const sslWritePtr = Module.getExportByName(null, "ssl_write"); function str2ab(str) { let buf = new ArrayBuffer(str.length); let bufView = new Uint8Array(buf); for (var i=0, strLen=str.length; i < strLen; i++) { bufView[i] = str.charCodeAt(i); } return buf; } Interceptor.attach(sslWritePtr, { onEnter: function (args) { // Get the buffer size by checking the third argument. const buffer_size = args[2].toInt32() + 1; // Read the contents of the buffer and get an ArrayBuffer. let buffer = args[1].readByteArray(buffer_size); // Convert it to a string object. let buffer_string = String.fromCharCode.apply(null, new Uint8Array(buffer)); // Replace the contents. buffer_string = buffer_string.replace("AAAAAA", "BBBBBB"); // Convert `buffer_string` back to an ArrayBuffer. // .unwrap() returns a pointer to the first element of the Uint8Array args[1] = str2ab(str).unwrap(); // Assign the pointer of our new Uint8Array. }, });

Este enlace puede ser útil para comprender mejor cómo operar en esta situación: https://learnfrida.info/intermediate_usage/#operating-with-arraybuffers

about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!