home *** CD-ROM | disk | FTP | other *** search
/ Reverse Code Engineering RCE CD +sandman 2000 / ReverseCodeEngineeringRceCdsandman2000.iso / RCE / E_bliss / cm_id11.txt < prev    next >
Text File  |  2000-05-25  |  3KB  |  68 lines

  1. Mini Tutorial: 
  2.  
  3. Needed Tools:   Softice, Hex editor (HView, HexWorkShop, ....) 
  4.  
  5. First Part: SEEK, SEEK AN SEEK AGAIN 
  6.  
  7. Start sofice Symbol loader, and load CM_ID11.exe, 
  8. Softice popup and we are in the code, all we have to do is to perform some Step Over (F10) and we can see rapidly the NAG screen splashing by a call Like This:
  9.  
  10. 001B:00447D90   CALL    0043EA00 ----> It's call the NAG 
  11.  
  12. So, Press F5 to let the prog end and reload it into softice. 
  13.  
  14. We just have to put a BPX instruction at the call instruction (to go more faster) like this : BPX   001B:00447D90 and press F5 again to let sofice break at the BPX.
  15.  
  16. Now let's go for a Step Into (F8) to go into the call instruction. After this let's go for some more Step Over and you should see the splash screen once again.
  17.  
  18. 001B:0043EA31           CALL    [EDI+2C] ---> Call NAG Screen again 
  19.  
  20. This Time the BPX will Not work but put one on it for later use(not time to know why) so you've got to press F5 and reload the prog into softice. 
  21.  
  22. Trace the prog to the call instruction and perform a Step Into, and let's go for Step Over after.... You should see again the splash screen at:
  23.  
  24. 001B:004478DB   CALL    0040300C ---> Splash, splash, splash 
  25.  
  26. Same as usual, put a break point and reload into softice (This Time It will work!!!) so press F5 untill the adress we interested in.
  27.  
  28. Step Into the instruction, light a smoke and do some more step over untill you see a gey rectangle window at adress: 
  29.  
  30. 001B:004478DB   CALL    0043BB14 ---> Grey Rectangle 
  31.  
  32. Yeah, we have it!!!! It's the fist instruction for drawning this @#º! Nag Screen. 
  33.  
  34. So carefully, Step over few instruction and you should have this: 
  35.  
  36. 001B:004478EF   CALL    004151A4 ---> Update the Window with Color and Text. 
  37.  
  38. 001B:0044792B           CALL    00402CD0 ---> Destroy Window 
  39. 001B:00447930           RET                 ---> Return to 001B:00447938 (MOV  AL,01) 
  40.  
  41. At this point we have to write down the CPU Registers, You Should have (after the RET instruction) Something like this: 
  42.  
  43. EAX,ECX,EDX,EDI = 00000000 
  44. EBX     = 00C33A0C 
  45. EBP     = 0012FE24 
  46. ESP     = 0012FE00 
  47. ESI     = 00C31038 
  48.  
  49. Now we just have to bypass those instructions so, put a breakpoint at 001B:004478EF ( the first call) and reload the prog, press F5 untill the last breakpoint.
  50.  
  51. What to do now?? Easy way.... Look at the CPU Registers there're some differences so we'll change this. 
  52. We just have to assemble some code here like this: 
  53.  
  54. A 001B:004478EF (press return) 
  55.  
  56. XOR EAX,EAX                     ------> EAX = 00000000 
  57. XOR ECX,ECX                     ------> Like eax 
  58. XOR EDX,EDX                     ------> No need to explain 
  59. MOV ESP, 0012FE00               ------> Move the value 12FE00 into ESP 
  60. JMP 00447938                    ------> Jump after the RET instruction 
  61. Press Return, and that's all, try it again and you should not see THE NAG SCREEN anymore!!!!! 
  62.  
  63. If you want to do a physical patch you can use HVIEW, and search the call instruction, change and save... Or you can also enable the code in Softice by doing CODE ON, Write done the hex code of the call instruction (E83442FFFF) maybe some more could help you to seek it into an hex editor. Change the ASM Code as shown above, write down again the change in hex, open an hex editor, seek for the first code and replace it (Simple?)
  64.  
  65. Hope this mini tutorial could help someone 
  66.  
  67. Any comment: crackzteambeta@hotmail.com 
  68.