fork(1) download
  1. currect = 0xeaaeb43e477b8487 # = 16910651830403040391, -1536092243306511225
  2. mul = 26729
  3.  
  4. guess = ''
  5.  
  6. 1.upto(16) do |pos|
  7. 0.upto(15) do |hex|
  8. if ((sprintf("%x", hex) << guess).to_i(16) * mul) & ((16**pos)-1) == (currect & (16**pos)-1)
  9. guess = sprintf("%x", hex) << guess
  10. break
  11. end
  12. end
  13. end
  14.  
  15. answer = guess.to_i(16)
  16.  
  17. puts sprintf("%x", answer)
  18. puts sprintf("%d", answer)
  19. puts sprintf("%d", answer -1 - (16**16-1))
  20.  
  21. # answer = 0x83676f67696c676f, 9468659231510783855, -8978084842198767761
  22.  
  23.  
  24. # java class source
  25. __END__
  26.  
  27. // Decompiled by DJ v3.6.6.79 Copyright 2004 Atanas Neshkov Date: 2013-05-06 오후 7:17:08
  28. // Home Page : http://m...content-available-to-author-only...y.com/neshkov/dj.html - Check often for new version!
  29. // Decompiler options: packimports(3)
  30. // Source File Name: JavaCrackMe.java
  31.  
  32. import java.io.PrintStream;
  33.  
  34. public class JavaCrackMe
  35. {
  36.  
  37. public JavaCrackMe()
  38. {
  39. }
  40.  
  41. public static final synchronized volatile transient void main(String args[])
  42. {
  43. try
  44. {
  45. System.out.println("Reversing.Kr CrackMe!!");
  46. System.out.println("-----------------------------");
  47. System.out.println("The idea came out of the warsaw's crackme");
  48. System.out.println("-----------------------------\n");
  49. long l = Long.decode(args[0]).longValue();
  50. l *= 26729L;
  51. if(l == 0xeaaeb43e477b8487L)
  52. System.out.println("Correct!");
  53. else
  54. System.out.println("Wrong");
  55. }
  56. catch(Exception exception)
  57. {
  58. System.out.println("Please enter a 64bit signed int");
  59. }
  60. }
  61. }
Success #stdin #stdout 0.03s 7460KB
stdin
Standard input is empty
stdout
83676f67696c676f
9468659231510783855
-8978084842198767761