Programa Powerbuilder para prevenir métodos de craqueo [1]
En vista de que cualquier programa ejecuta instrucciones de la CPU y se puede descompilar en código ensamblador, es decir, en teoría, el programa se ejecuta desnudo, por lo que no hay ningún programa irrompible, por lo que se discute la prevención. Aquí es solo hasta cierto punto, como aumentar la dificultad de descifrar, retrasar el tiempo y aumentar la frustración de los crackers, etc.
1. La situación actual de pb
Desde el punto de vista de la versión, los formatos de archivo pbd y dll de pb son respectivamente (pb se desconoce actualmente, no se encontró ningún programa pb ). p> pb A juzgar por la versión del archivo pbd y el formato del archivo dll (pb es desconocido y el programa pb aún no se ha encontrado), la estructura es más o menos la misma, por lo que siempre que el autor de pbkiller tenga tiempo, puede hacer el última versión dentro de uno a tres meses Este software es más genocida que shudepb porque el autor es gratuito (inicialmente parecía que quería venderlo por dinero, pero la red que no usaba shudepb, el autor del software no era un buen elección) también es muy interesante, la razón por la cual shudepb fue descifrado, es porque el autor lo hizo gratuito (originalmente quería venderlo por dinero, pero no usó el mismo método de computación en red que shudepb, lo que lo hizo descifrado). ), lo que llevó a innumerables personas a aprender a descifrarlo, porque ahora muchos programas están escritos por personas interesadas en software comercialmente viable para ganarse la vida y principiantes que solo buscan un software para practicar. Un amigo mío tenía un software que un principiante utilizaba para colocar archivos nuevos que en realidad no estaban descifrados pero que afirmaban estarlo. Pero se dice que está descifrado, y la manera de descifrarlo es que puedes ingresar un código de registro aleatorio y obtener un error, y luego obtendrás el código de registro real... Si no recibes el error, Puedes intentarlo unas cuantas veces más y ¿cuál es el resultado? pbkiller es actualmente la versión más alta y solo admite el código que he visto. El código está bellamente descompilado, los errores están ahí, pero todos son perfectos.
Los errores sólo causan dolores de cabeza cuando descompilas tus propios proyectos. Los crackers solo quieren ver la parte de registro del algoritmo.
sudepb es una versión comercial que se vende por miles de dólares. El precio de miles de dólares juega de alguna manera a favor de la Sudepb. Después de todo, un principiante no compraría una herramienta inútil para aprender a crackear, y la versión de demostración limita la longitud del código, por lo que no poder ver todo el código en la versión no registrada es demasiado generoso. Entonces, si no va a lidiar con el descompilador, simplemente escriba el código después de la línea (si no está limitado a una línea, pruébelo usted mismo). p>
En cuanto al reductor pbd, su principio es utilizar el propio método de pb para obtener el código descompilado de dw. Esto no se llama craqueo. dw en pbd se puede usar directamente y pb tiene funciones para obtener la sintaxis, por lo que esto no es nada nuevo. La propia función de pb no proporciona funciones para descompilar y obtener código fuente, lo cual es absolutamente imposible.
Al buscar publicaciones en Internet sobre cómo descifrar programas pb, un dicho común es: el programa no es el compilador y el programa no es el descompilador. Como dice el refrán, los programas no se pueden ajustar con OD y pbvm no es fácil de seguir. Debes usar pbkiller, una herramienta poderosa que lucha contra los principiantes hasta cierto punto, lo que reduce aún más las posibilidades de una descompilación exitosa. puede proteger mejor el software en el que ha trabajado tan duro para desarrollar Software
Actualmente existen varios métodos de descifrado
1. Descifre el algoritmo directamente observando el algoritmo y las ideas del programa.
p>
1. Descifre el algoritmo directamente mirando el algoritmo y las ideas del programa. Publique el algoritmo o escriba una máquina de registro (si el código es claro, este método es en realidad el más simple, pero hay muchos novatos que no lo hacen). entiende el código pb, y también han preguntado sobre cosas ridículas en Internet)
b Algunas personas intentan buscar el código clave en pbd y usan ue para modificar los bytes en pbd (esto es muy difícil que hacer, muchas personas no pueden hacerlo, y la mayoría de los principiantes se limitan a usar pbkiller y no saben mucho sobre archivos pbd Según mi propia experiencia Vista de archivos pbd Según mi propia observación, si comprende pbd, podrá hacerlo. Puede usar ue directamente para cambiar muchos lugares.
Por ejemplo, si cambia un byte, puede cambiar + a = y = a <>, lo cual da un poco de miedo.
c Para llamadas de dll externas, algunos crackers han propuesto escribir archivos dll falsos para crackear de modo que puedan devolver la base del número de serie registrado, como el número de disco.
Esto es lo que supongo que funcionaría, pero depende de ti decidir si funciona.
Conozco a un amigo mío cuyo software lanza más de una docena de versiones al año, y cuando sale una nueva versión, salen dos versiones más. Conozco a un amigo que lanza una docena de versiones de su software al año, y cuando se lanza una nueva versión, será descifrada en dos o tres días. Está usando Delphi, qué patético. El software compilado en binario y el **** pueden ser más fáciles de descifrar más adelante, simplemente depurelo, como el programa pb. **** Ahora hay una gran cantidad de software. Generalmente, sus usuarios intentarán descifrarlo porque lo han usado bien y no quieren gastar dinero para comprarlo. El núcleo de pb es el software de administración, y los crackers no están interesados en software comercialmente viable, y es difícil de depurar, y las personas que lo conocen no están dispuestas a trabajar en él, y luego hay que agregar SQL y todas las demás cosas, lo cual Hacerlo muy laborioso, lo cual es mucho menos interesante que descifrar el ensamblaje binario de software de propósito general y de gran volumen.
Mis dos ideas (ambas destinadas a dificultar la descompilación de pbds estáticos y disuadir a los usuarios de pj)
Pruebe la codificación automática de un único archivo exe, pero utilizando pbkiller y shudepb, puede hacerlo. No veo el código. No puedo ver el código, sólo las variables, y pj no es una buena opción.
Tengo varios proyectos con código muy grande que no se compilaba en código máquina cuando comencé a usar pb. Ahora pb no se compila en código de máquina debido a errores de cadenas y blobs, y pb acaba de salir, aún no lo he probado, pero hay demasiado código para compilar en un solo archivo ejecutable de código de máquina.
Entonces, el segundo punto es hacer trampa. Coloque un archivo pbd falso con el mismo nombre que el exe debajo del programa. Por ejemplo, si el programa es el exe principal, coloque un pbd principal falso para que lo use el personal de pj. depurar. Por supuesto, no tiene que ser un pbd falso. Puedes encontrar un pbd y luego usar ue para eliminar algunos números binarios para que parezca real.
El pbd se puede colocar en un directorio debajo. el sistema de ventana, o se puede colocar debajo de ppd. El pbd se puede colocar en el directorio del sistema de Windows, o en cualquier lugar de la definición de ruta, o, como se mencionó en el artículo anterior, puede escribir docenas de funciones de registro y colocarlas en diferentes pbd, pero debe saber cuál eliminar. . Se puede utilizar una lista de bibliotecas para hacer lo mismo, ya que los objetos con el mismo nombre se encuentran en el orden de la biblioteca. Creo que puedes eliminar cualquier cosa destructiva en su computadora, así que no le des la oportunidad de depurar el programa. Como programador, creo que esto es necesario. Si quiere hacerte QJ, naturalmente te permitirá contraatacar. Esto es lo que hizo cierto software antivirus en ese entonces, y el resultado fue que la versión crackeada vomitó sangre.
Cuando ingresas el código de registro, no haces nada que indique que quieres hacer esto, simplemente escribes un cartel que dice "Cuando se inicie el programa, el título del programa se mostrará en el barra de título Cuando se inicia el programa, el título muestra la versión oficial o la versión registrada, pero de hecho, puedo retrasar la verificación o la verificación aleatoria Jaja, esto puede dejar al cracker sin opción, porque solo necesita ingresar al registro. código una vez, independientemente del código de registro. Cualquiera que sea el carácter que contenga será la versión oficial. En cuanto a la verificación de la hora, a menos que tenga paciencia, le resultará muy difícil descifrar, y para el cracker, es un caso pequeño. para aprovechar el valor característico, pero debe leerse línea por línea, probablemente morirá
Creo que ponerlo en una matriz o blob es una buena manera de complicar el proceso al comparar el código ini. al código real en la memoria, no cuando se inicia el programa, sino una y otra vez en múltiples momentos, múltiples puntos, múltiples lugares, y estoy pensando que si lo pones en un solo lugar, sería muy difícil descifrar. probablemente desalentaría las galletas saladas.
Además, vinculando el código de registro y el número de serie con variables o funciones del programa, o el número de retornos de datos, etc., y haciéndolo muy oculto, en lugar de reflejarlo en la comparación if. , la posibilidad de crackear se reducirá considerablemente, porque sabemos que el cracker no puede modificar pbd y no está familiarizado con el código pbd. Si es demasiado complicado, puede darse por vencido.
Cuando publico un programa, pongo un pbd o pbd debajo del programa. Si el cracker quiere descompilarlo, sigo adelante y descompilo cuando veo pbd, incluso si trabajo en pb. Durante algunos años, también me retiraba. Cuando veía pbd, inmediatamente caía al suelo y vomitaba sangre.
Si el programa principal no se puede compilar en un único archivo ejecutable de código de máquina, entonces ciertas funciones clave se pueden ejecutar mediante un programa externo que se ejecuta de forma independiente, y el programa externo puede ser un pequeño programa separado en pb, y el subprograma se compila perfectamente.
Corregir con algoritmos y métodos de escritura, como poner un número en una matriz, luego cambiarlo, copiarlo o moverlo intencionalmente o no a otro lugar en otros momentos, y luego realizar ciertas operaciones o activar ciertas operaciones en ciertos momentos. Hay algunas restricciones, descifralo y mira tu código, no creo que nadie esté dispuesto a continuar.
Si el agente descifra tu software, puedes hacer que los clientes no confíen en él y luego. compre su versión crackeada y será defraudado de dinero. ¡Tu dinero también será estafado! Ya es suficiente, tienes que matarlo a golpes con un palo
Enviar algunas de tus propias versiones descifradas es en realidad una versión de prueba, que permite a los usuarios buscar en Internet versiones reales descifradas que no se pueden descargar. Muchos sitios web nacionales los reimprimen. Es la llamada versión verde agrietada y la versión completa las que están causando revuelo, ¡pero en realidad es el contenido divertido de la versión beta!
Los intereses ocultos detectan que los usuarios superan el límite de registro sin moverse, o tienen restricciones en muchos lugares o detalles profundos, como iguales de agregación de datos u otros errores de ocultación de archivos
Comportamiento de ataque Generar virus firmas, lo que hace que el software antivirus intervenga, se elimine o se reinicie, porque el reinicio no se puede evitar y destruye el depurador
Después de ejecutar el programa, llame al exe externo y elimine todos los archivos, incluido el principal. exe y todos los pbd y dll (si creó un dll falso, que también se eliminará, se lanzará un nuevo archivo cuando se inicie el programa y siempre usará solo su propio archivo, por lo que será inútil que lo modifique). dll y pbd)
Debe aprender y utilizar las herramientas pbkiller y shudepb para estudiar sus errores y explotarlos.
Debes estudiar y utilizar pbkiller y shudepb para estudiar sus errores y explotarlos para escribir código crítico que pueda protegerse al menos hasta que se resuelvan sus errores. Por ejemplo, pbkiller no puede analizar dec{ } (*Consejo: si se asigna a un número con diferente precisión, perderá precisión o realizará operaciones matemáticas, etc. Después de perder precisión, se convertirá en una cadena o blob), y longlong... .....puede ser explotado por estas dos herramientas, y hay muchos errores lishixinzhi/Article/program/PB/201311/24595