¿Cómo puedo crear un FAKE OEP?

Iniciado por josue9243, 29 Enero 2018, 20:06 PM

0 Miembros y 1 Visitante están viendo este tema.

josue9243

La pregunta es como puedo crear un fake oep, en si puedo redireccionar el oep a varias partes pero es en vano, también puedo crear un oep y ponerlo con un call que se repare y evitar ida etc.

¿Hay algun tutorial que enseñe a dividir el PE Header, para empaquetar etc?.



El UPX esta dividido en 8.000 partes y no da para revisarlo.

fary

No soy un experto en la materia pero creo que no hay ningún tutorial sobre ello... la única manera de saber como funcionan es mediante reversing o mirando el código fuente de alguno que sea open source como el upx, de igual forma te va a llevar tiempo ya que es una ardua tarea, te recomiendo que te armes de valor y paciencia y sigas adelante con la idea de aprender a hacer algo similar.


saludos!!
Un byte a la izquierda.

josue9243

jajajajaj me da la re pereza leer todo el upx, pero si no queda otra...


apuromafo CLS

#3
primero hablemos conceptos:
1) un oep es original entrypoint, basta llegar ahi
2) un fake oep, es en teoria falsear el oep original, pero aun asi aunque parezca otro oep, deberia funcionar el programa, por lo cual, no protegerá en nada el codigo sensible del programa

Saludos Apuromafo

por otro lado te invito a conocer el faq, quizas puedas crear tu propio packer/compresor/crypter o lo que necesites

josue9243

#4
Si hago que no llege al entrypoint original, en si no vera desde donde comienza, porque aparte destruyo todos los jmp push ebp calls etc, y los reconstruyo en el oep

entonces si pongo un entrypoint que diga return 1 o cualquier cosa que no llame seria gg.

themida o asprotect hacen lo que yo quiero xD, el upx simplemente lo vi y lo que hace es obtener todos los importes en el principio y luego llamar al oep. (o algo asi, lo vi por encima en el depurador xd)

EDIT: Igual ya descubri como proteger y hacer que todo el programa use la api sin usar imports xD, etc etc es hermoso proteger los programas (?.

ThunderCls

No soy un experto en temas de empaquetadores/protectores, solo queria puntualizar algo.
No se refiere necesariamente a lo mismo un compresor de ejecutables (UPX, ASPack) a un protector de ejecutables (Themida, Execryptor, etc). Ambos pudieran combinar ciertos aspectos de cada uno en algun punto pero su fin es totalmente diferente. Un ejemplo de esto es el tamaño del ejecutable obtenido al usar un compresor al tamaño usando un protector, el cual es mucho mayor que el tamaño del ejecutable inicial. Luego los protectores se especializan en proteger el codigo contra el reversing por esto le meten tantas cosas al ejecutable que se protege, en cambio los compresores solo desean minimizar el tamaño. Esto no quiere decir que, como dije antes, en algun punto ambos inlcuyan algunas caracteristicas del otro y visceversa. El punto al que quiero llegar es que lo que estas buscando son mas tecnicas de proteccion de ejecutables que de compresion, asi que mirando el codigo del UPX o cualquier otro "simple compresor" no vas a encontrar mucho. Podrias buscar sources de crypters o quizas de algun protector si lo encuentras y pudieras agarrar las tecnicas que estos usan o simplemente pudieras leer de las tecnicas que usan los protectores que mencionas e implementarlas por tu cuenta. En la web encuentras infinidad de tutoriales de reversing de themida, armadillo, asprotect, execryptor, enigma, etc, etc, etc...
Buena suerte!
-[ "...I can only show you the door. You're the one that has to walk through it." – Morpheus (The Matrix) ]-
http://reversec0de.wordpress.com
https://github.com/ThunderCls/