home *** CD-ROM | disk | FTP | other *** search
/ Reverse Code Engineering RCE CD +sandman 2000 / ReverseCodeEngineeringRceCdsandman2000.iso / RCE / Library / +HCU / 161-170.TXT < prev    next >
Encoding:
Text File  |  2000-05-25  |  58.3 KB  |  1,659 lines

  1. ========================================================
  2. +HCU Maillist          Issue: 161             03/10/1998 
  3. --------------------------------------------------------
  4. Send Articles To:......................... *************
  5. Info, Help, Unsubscription, etc:....... ****************
  6. Web Repository.........................hcuml.home.ml.org
  7. ========================================================
  8.  
  9. CONTENTS:
  10.  
  11. #1  Subject: Handy Tool
  12.  
  13. #2  Subject: gthorne - regarding 2600 and hacking magazine infos
  14.  
  15. #3  Subject: re:frustration with PCBDEMO
  16.  
  17. #4  Subject: 2600 reply
  18.  
  19. ARTICLES:
  20.  
  21. -----#1-------------------------------------------------
  22. Subject: Handy Tool
  23.  
  24. Greetings Everyone,
  25.    First, I'd like to mention a nifty little tool I stumbled on while
  26. browsing around NoNags. It's called RegSnap. It will take 'snapshots' of
  27. the Win95 registry, then compare them and show you any differences. It's
  28. a very small program (37K zipped). You can find it at ******************
  29.    Second, I am looking to broaden my 'cracking horizon'. Lately I have
  30. been asking (in #cracking4newbies) about packed files, self-modifying
  31. codes, and other more advanced protections. Unfortunately, most of the
  32. texts I find concerning these are way over my head. Any suggestions on
  33. taking that 'next step'?
  34.    Thanks to all the 'seniors' for letting me eavesdrop on your
  35. discussions in this letter. It's a daily encouragement to leave the TV
  36. off and learn a little more. Take it easy,
  37.  
  38. newbcrack
  39. ***********************
  40.  
  41. -----#2-------------------------------------------------
  42. Subject: gthorne - regarding 2600 and hacking magazine infos
  43.  
  44. Message Body = 
  45. 2600 costs $4.50 per issue in usa dollars, and $5.50 in canadian dollars *************** is the only hacking mag i know of for free, which is worth its salt)
  46.  
  47. The back of the magazine lists locations for meetings, and the only one in australia listed is at Adelaide, outside cafe celsius near the academy cinema on the corner of Grenfell and Pulteney streets
  48.  
  49. if noone seems to have them at the newsstand, or barnes & noble which tend to carry them stateside...
  50. email: *************
  51.  
  52. there is also a address to mail snail mail:
  53.  
  54. 2600 Subscription Dept.
  55. P.O.Box 752
  56. Middle Island
  57. NY 11953-0752
  58.  
  59. i will have to warn you ahead of time, many 2600 meetings are basically people who want to hang out and look like hacker types, so only a couple of the several meetings i went to made much sense for me to even be there
  60. i tend to bring technical manuals and source code and often orc tutorials or whatever, and in a couple of the meetings basically i had to be the one to do anything that got anyone even thinking about topics that seemed computer related at all
  61.  
  62. in some areas this is not so, such as new york... from what i understand their meetings tend to have guest speakers and attendees such as security analists, NSA agents, you name it (and lots of other not-so-hidden federales in the crowd) all are welcome - the meetings are in full view so noone can claim subversion, and just like the bugtraq hacker mailing list, it is for sysadmins, hackers, analysts, people who are new, and feds alike
  63. that doesnt mean the people in the meetings arent careful, and often tend to watch who they talk to, but an open door policy keeps the 'man' off 'the back' and keeps the meetings legal to be held
  64.  
  65. i suppose its what you make of it - which is what upsets me when i see someone at a meeting who is looking sad (someone from the 'good ole days' who remembers when 'there was real hacking and cracking discussion, codebreaking and somesuch
  66.  
  67. there was a microsplotch employee at one - obviously not your average one, since he was quite interested in the opposite end.. but then: not everyone is brainwashed by being hired, as interests didnt start with microsoft, but long before that company ever had its greedy little hands on its people
  68.  
  69. blacklisted 411 is another mag that comes out - tends to also be at barnes & noble, though it seems to have less articles, some on phone related things, and a ton of classifieds of some kind, i havent been amazingly interested, but then it doesnt tend to have an occasional source code for pc or unix or other system like 2600 or phrack tend to
  70.  
  71. i am not a phone phreak by any means, and thats probably why it doesnt appeal to me as much, though i did build a real red box with a switch on a tone dialer from rat shack and a crystal once
  72.  
  73. nothing like looking back on the fun of the past and the mistakes one can make with a soldering iron and way too many gadgets to ruin in an afternoon
  74.  
  75. til next time...
  76.  
  77. +gthorne
  78.  
  79.  
  80. -----#3-------------------------------------------------
  81. Subject: re:frustration with PCBDEMO
  82.  
  83.  
  84. >I have tried millions of things from my limited >knowledge and It has come time to shout HELP!!!!!
  85. >I don't neccessarily want any1 to write a crack, >patch, tute etc - even a simple: "this program >can be registerd, and cracked" or "This is a >demo only you twit" would be fine!
  86.  
  87. I took a quick look and it isn't hard to crack. It
  88. doesn't look to me as though it can be registered,
  89. the .ini file details appear not to be accessed
  90. and were probably only placed there by the 
  91. install program. 
  92.  
  93. Try a different approach, investigate why it won't
  94. let you print a particular PCB, (did you notice if
  95. you copy sample1.pcb to some other name you can 
  96. still print/copy it?). 
  97.  
  98. Get a dead listing and find where and why the demo
  99. message box pops up, search for the demo message
  100. string resource identifier or locate the 
  101. interesting area with sice. 
  102.  
  103. Spyder...
  104.  
  105.  
  106. -----#4-------------------------------------------------
  107. Subject: 2600 reply
  108.  
  109. Due to my indolence is 2600 a FREE magazine or in my dreams? :-))
  110.  
  111. Are there any FREE hacking magazines you would recommend?
  112.  
  113. cheers Rundus
  114.  
  115.  
  116. Sorry Rundus, but no, 2600 is not free.  You can subscribe to the
  117. magazine for about $20, but there are also some free hacking zines. 
  118. One of the best, which i think rivals with 2600 is phrack, who provides
  119. you with all the technical info you could ever want. Go pick up a couple
  120. issues at ********************** 
  121. -Tin
  122.  
  123. =====End of Issue 161===================================
  124.  
  125.  
  126.  
  127.  
  128. ========================================================
  129. +HCU Maillist          Issue: 162             03/11/1998 
  130. --------------------------------------------------------
  131. Send Articles To:......................... *************
  132. Info, Help, Unsubscription, etc:....... ****************
  133. Web Repository.........................hcuml.home.ml.org
  134. ========================================================
  135.  
  136. CONTENTS:
  137.  
  138. #1  Subject: thanx all round...
  139.  
  140. ARTICLES:
  141.  
  142. -----#1-------------------------------------------------
  143. Subject: thanx all round...
  144.  
  145. Thanx to gthorne for the 2600 info...just happens to be about 10mins drive!
  146. :-) .
  147. Its a pity that the, dare I say, H/C/P/V scene has changed so much, I am
  148. very sorry I missed those good old days.  I chose a guitar instead of the
  149. C64 my brother got... I could never understand him sitting there for
  150. hours....Go figure!  Hopefully ppl like +gthorne and the like, #'s like C4N,
  151. and Groups like Mex can make a difference to the Status Quo.  I have decided
  152. to follow suit.  I feel it is time to make an effort. <end soapbox>
  153. BTW The tutorial on Siren Mail is simply a gold mine of info, it is a surely
  154. "Model Tute"
  155.  
  156. I found a crack for ultraedit50..cracked by "shareware Killer Team?" they
  157. seem to have a tute in their info as you can make out some mem locations,
  158. and BPX's  files called Ultra50c.zip, but the .nfo is in Japanese I
  159. think...anyway..its a great idea...
  160.  
  161. I just spent 1/2 a day cut&paste ASM - with REAL paper& sticky tape. I am
  162. going to go through the code and try to understand the whole protection
  163. scheme. The program is called Macro Magic, with a 45 day time limit.  I will
  164. write a tute for it later.
  165.  
  166. Thanx to Spyder for the ideas on PCBdemo.  I will give it another go
  167. tonight.
  168.  
  169. also, newbcrack...a very handy app as I was doing this MANUALLY last night!
  170. :-)
  171.  - BTW.. Whats T.V.?  ;-)
  172.  
  173. 1 little question...Why would I get an error when trying to load the exports
  174. of an .exe, when the .dll of the proggy will load ok? - is it to do with
  175. file protectors or "decompiler-busters", or is Softice limited to certain
  176. types of programs? I can see the functions by doing a HWND <prog> , but
  177. can't load the exports to BPX 'em...
  178.  
  179. Argghhh!!..dog just run off with the CALL to 00447db1... COME back
  180. here.....no!..bad ..boy!....
  181.  
  182. Bye,
  183. HaQue
  184.  
  185.  
  186. =====End of Issue 162===================================
  187.  
  188.  
  189.  
  190.  
  191. ========================================================
  192. +HCU Maillist          Issue: 163             03/12/1998
  193. --------------------------------------------------------
  194. Send Articles To:......................... *************
  195. Info, Help, Unsubscription, etc:....... ****************
  196. Web Repository.........................hcuml.home.ml.org
  197. ========================================================
  198.  
  199. CONTENTS:
  200.  
  201. #1  Subject: vb and smart check
  202.  
  203. #2  Subject: CCh in SICE?
  204.  
  205. #3  Subject: warez? oooooh, shame! horror!
  206.  
  207. ARTICLES:
  208.  
  209. -----#1-------------------------------------------------
  210. Subject: vb and smart check
  211.  
  212. Hi all,
  213.  
  214. has anyone experienced problems when using smart check on extreeeemly
  215. overbloated vb apps?
  216.  
  217. my experience is related to one app only, while the app continues and
  218. 'errors' (alias cracking info) are reported the display window lists x
  219. number of 'pages' and then simply does not display anymore info.
  220.  
  221. I have not had a similar problem with smaller vb apps.
  222.  
  223. Bye
  224.  
  225. base metal
  226.  
  227.  
  228.  
  229. -----#2-------------------------------------------------
  230. Subject: CCh in SICE?
  231.  
  232. A few issues ago someone stated that SICE embedded CCh into code to break.
  233. I thought that it didn't so wrote a small program to test it. The program
  234. is embedding in ghiric26.pdf
  235.  
  236. The question is, does SICE use CCh or not?
  237.  
  238. ~~
  239. Ghiribizzo
  240.  
  241.  
  242. -----#3-------------------------------------------------
  243. Subject: warez? oooooh, shame! horror!
  244.  
  245. On  7 Mar 98 at 7:29, +HCU ML wrote:
  246.  
  247. > -----#1-------------------------------------------------
  248. > Subject: Re: What every cracker should have
  249. >
  250. > Hi Wafna,
  251. > do you tell me the rest of your tricks if i send you the full german
  252. > version of Skat2010? :) It=A6s a 487 kb self-extracting exe.
  253. >
  254. > NiKai 5777852 (ICQ)
  255.  
  256. Hello Nikai,
  257.  
  258. I tell everyone my 'tricks', but why ask me in particular? I have
  259. been lurking on the list for months, with hardly any posting... or do
  260. you know me from somewhere else? I think stone, Malattia, gthorne,
  261. etc etc are much better at cracking than I am....
  262.  
  263. Anyway, as a hobby I collect proggies (hehe) and I have Skat 2010,
  264. I'm looking for skat 2095. Now, if you have that, it would be very
  265. nice, but I have absolutely no idea what tricks you can get from
  266. me in particular....
  267.  
  268. BTW we all crack, don't we? Some of us have been hacking once in a
  269. while, I'm sure. And any phreaking? Phreaking should be interesting,
  270. I tried for a short while. The only 'funny' thing I found out was
  271. that calling 155 in Suriname (597) got your call transferred to the
  272. USA, and somebody would pick up the phone and say 'thanks for
  273. calling. Your security code, please'....... I wonder what that could
  274. have been......
  275.  
  276. Wafna
  277.  
  278. =====End of Issue 163===================================
  279.  
  280.  
  281.  
  282.  
  283.  
  284. ========================================================
  285. +HCU Maillist          Issue: 164             03/14/1998 
  286. --------------------------------------------------------
  287. Send Articles To:......................... *************
  288. Info, Help, Unsubscription, etc:....... ****************
  289. Web Repository.........................hcuml.home.ml.org
  290. ========================================================
  291.  
  292. CONTENTS:
  293.  
  294. #1  Subject: Re: warez? oooooh, shame! horror!
  295.  
  296. ARTICLES:
  297.  
  298. -----#1-------------------------------------------------
  299. Subject: Re: warez? oooooh, shame! horror!
  300.  
  301. Hi Wafna,
  302. you wrote in +HCU Maillist, Issue: 11, 09/11/1997:
  303.  
  304. >I will tell you the rest of the tricks IF and only IF you contact me 
  305. >through psychic means and tell me where to download the German game 
  306. >SKAT2095 regged (before anyone faints at this lack of purity - why 
  307. >doesn't he register it HIMSELF - the shareware version is crippled).
  308. >
  309. >Wafna of FCA
  310.  
  311. that is where i know you from. Perhaps i forgot in my mail to you a
  312. :) or a <g>. That is all. BTW i search for Skat2095 for you....and me :)
  313.  
  314. See (read) you
  315.  
  316. NiKai 5777852 (ICQ)
  317.  
  318.  
  319. ______________________________________________________
  320. Get Your Private, Free Email at **********************
  321.  
  322. =====End of Issue 164===================================
  323.  
  324.  
  325.  
  326.  
  327. ========================================================
  328. +HCU Maillist          Issue: 165             03/15/1998 
  329. --------------------------------------------------------
  330. Send Articles To:......................... *************
  331. Info, Help, Unsubscription, etc:....... ****************
  332. Web Repository.........................hcuml.home.ml.org
  333. ========================================================
  334.  
  335. CONTENTS:
  336.  
  337. #1  Subject: Who cracked KeyText v1.0x and more......
  338.  
  339. #2  Subject: PCB Demo...all is not what it seems!!!
  340.  
  341. #3  Subject: NE - new executable
  342.  
  343. ARTICLES:
  344.  
  345. -----#1-------------------------------------------------
  346. Subject: Who cracked KeyText v1.0x and more......
  347.  
  348. 1. Who cracked KeyText ?
  349. Target:      KeyText 1.0x (current version is 1.03)
  350. Download URL:     ***************
  351.  
  352. I have read your discussions for 2 months and now I think it may be
  353. the right time to ask a question to you +HCU: who have cracked KeyText
  354. 1.0x? I have made a keymaker for it and I can register with it successfully,
  355. But everytime I run it after registrtion, it crashed. I analyzed the
  356. protection scheme for some time but didn't find anything special. Maybe
  357. I'm a lamer. So, anyone there can tell me what's wrong?
  358.  
  359. /*-----------------------------------------------------------------------------------------------------------*/
  360. /*                 KeyMaker for KeyText 1.0x  ( by +biGhEAd  1/98 )                   */
  361. /*                         Software URL: ***************                                     */
  362. /*-----------------------------------------------------------------------------------------------------------*/
  363.  
  364. #include <stdio.h>
  365. #include <stdlib.h>
  366. #include <ctype.h>
  367. #include <string.h>
  368.  
  369. int main()
  370. {
  371.     char sUserName[80];
  372.     char sRegNumber[9];
  373.     short nUserNameLength;
  374.     int nNameAsciiSum = 0;
  375.     int n7RegNumberCharSum = 0;
  376.     int temp;
  377.     short i;
  378.  
  379.     printf("User Name: ");
  380.     gets(sUserName);
  381.     if ((nUserNameLength = strlen(sUserName)) < 5) {
  382.         printf("ERROR: user name must be at Least 5 characters long !");
  383.         exit(1);
  384.     }
  385.  
  386.     nNameAsciiSum = tolower(sUserName[nUserNameLength-1]);
  387.     for (i=0; i<5; i++)
  388.         nNameAsciiSum += tolower(sUserName[i]);
  389.     sRegNumber[0] = (nNameAsciiSum%0x44+0x0A)/0x0A + 0X30;
  390.     sRegNumber[1] = (nNameAsciiSum%0x44+0x0A)%0x0A + 0X30;
  391.     sRegNumber[2] = (nNameAsciiSum%0x57+0x0A)/0x0A + 0X30;
  392.     sRegNumber[3] = (nNameAsciiSum%0x57+0x0A)%0x0A + 0X30;
  393.     sRegNumber[4] = '-';
  394.     sRegNumber[5] = (nNameAsciiSum%0x4D+0x0A)/0x0A + 0X30;
  395.     sRegNumber[6] = (nNameAsciiSum%0x4D+0x0A)%0x0A + 0X30;
  396.     for (i=0; i<7; i++)
  397.         n7RegNumberCharSum += sRegNumber[i];
  398.     temp = n7RegNumberCharSum%0xF0%0x18+0X42;
  399.     if (temp < 0x4A)
  400.         sRegNumber[7] = temp-1;
  401.     else if (temp > 0x50)
  402.         sRegNumber[7] = temp+1;
  403.     else
  404.         sRegNumber[7] = temp;
  405.     sRegNumber[8] = '\0';
  406.  
  407.     printf("Registration Nmuber: %s", sRegNumber);
  408.  
  409.     return 1;
  410. }
  411.  
  412. 2. I have some difficulties to crack those programs written with Borland's
  413. C++ Builder and Delphi? Anyone have any suggestions?
  414.  
  415. Thanks in advance. I hope those questions are not so easy to make you
  416. +HCU feel dull :-).
  417.  
  418. +biGhEAd (3/14/98)
  419.  
  420. -----#2-------------------------------------------------
  421. Subject: PCB Demo...all is not what it seems!!!
  422.  
  423. Hi all !!
  424. This program will only allow you to print "sample1.pcb"
  425. and I have included alot of details because some1 *MAY* be interested!!!
  426. forgive me if I seem ametuerish, as I am just an ametuer....
  427. I looked at this program again after some suggestions from Spyder.  I came
  428. up with a lot of interesting things.  ....with Quotes from Spyders
  429. email..Thanx spyder BTW
  430.  
  431. >>>I took a quick look and it isn't hard to crack.
  432. easy 4 U 2 Say  ;-)
  433.  
  434. I opened up W32DASM and loaded PCBDEMO.EXE. I decided to change offsets
  435. 00014FA3h and 00014FABh to 75[jne]  in HIEW (from 74[je]) .  Now I copied
  436. the file into the c:\pcb\ dir and run it.  I loaded up sample1.pcb and it
  437. gave the error "sorry, the demo version can only print sample1.pcb"  Great I
  438. thought!!! now I loaded up sample2.pcb and clicked print,  and the print box
  439. popped up !!! WOOOHOOO !!!
  440. now, being at work, with my laptop, and no printer - I couldnt try the
  441. print, but assumed it would work.  I gets home and NO BANANA!! dammit I am
  442. stroppy now.
  443.  
  444. >>>>It doesn't look to me as though it can be registered, the .ini file
  445. details appear not to be accessed and were probably only placed there by the
  446. install program.
  447.  
  448. Looking at the unzipped package afresh, I noticed a file called SETUP.DAT.
  449. hmmmmm... Wonder whats in there? .  look: a line DEMO=1, and alot of other
  450. settings.
  451. I changed it to read DEMO=0 and run the install.  What do you know, a
  452. registration pops up!!!
  453.  
  454. The package has files called:
  455.   setup.exe - for the setup
  456.   remove.exe - to remove the temp folder called c:\~niche it makes on setup
  457.   go.exe - I assume this has the reg routine in it
  458.   setup.dat  - to configure the setup
  459.   .dll's - for the usual reason
  460.  
  461. I renamed remove.exe and run the setup again and it didnt delet the temp
  462. folder.
  463. so now I could check out go.exe.  (computer gives GPF if you try to run this
  464. file BTW)
  465. Now because this file is "made" by the setup..I dont see how I could change
  466. it and then run the setup???
  467. I could not get the reg program to break on any usual password BPX's the
  468. only break being on messagebox. (I have a list of the win32API's now so I
  469. can learn some more)
  470.  
  471. also, could not find any of my dodgy strings I typed in in memory.
  472. any Ideas ppl?
  473. I am sure I can get the patching of pcbdemo.exe so it will print, but I
  474. thing finding a serial would be Ideal.
  475. any help would be appreciated.  open to full explanations now..This is
  476. getting to me!
  477.   L8r
  478. HaQue
  479.  
  480.  
  481. -----#3-------------------------------------------------
  482. Subject: NE - new executable
  483.  
  484.  
  485. Hi all crackers and +crackers
  486.  
  487. I wonder if anybody have any info about NE format?
  488. if do, please post it, or just a link to some info...
  489.  
  490. Thx in advance!
  491. Pero
  492.  
  493.  
  494. =====End of Issue 165===================================
  495.  
  496.  
  497.  
  498.  
  499. ========================================================
  500. +HCU Maillist          Issue: 166             03/16/1998 
  501. --------------------------------------------------------
  502. Send Articles To:......................... *************
  503. Info, Help, Unsubscription, etc:....... ****************
  504. Web Repository.........................hcuml.home.ml.org
  505. ========================================================
  506.  
  507. CONTENTS:
  508.  
  509. #1  Subject: PCB Demo...all is not what it seems!!!
  510.  
  511. #2  Subject: Editeur
  512.  
  513. #3  Subject: none
  514.  
  515. ARTICLES:
  516.  
  517. -----#1-------------------------------------------------
  518. Subject: PCB Demo...all is not what it seems!!!
  519.  
  520.  
  521. >I opened up W32DASM and loaded PCBDEMO.EXE. I
  522. >decided to change offsets 00014FA3h and
  523. >00014FABh to 75[jne]  in HIEW (from 74[je]).
  524. >Now I copied the file into the c:\pcb\ dir and
  525. >run it.  I loaded up sample1.pcb and it
  526. >gave the error "sorry, the demo version can only
  527. >print sample1.pcb"  Great I thought!!! now I
  528. >loaded up sample2.pcb and clicked print,  and
  529. >the print box popped up !!! WOOOHOOO !! now,
  530. >being at work, with my laptop, and no printer -
  531. >I couldnt try the print, but assumed it would
  532. >work.  I gets home and NO BANANA!! dammit I am
  533. >stroppy now.
  534.  
  535. Hey don't get stroppy - get working, the two
  536. patches you did were in the right area (not sure
  537. if they were the right patches) but there is a bit more to it that that - nothing really devious
  538. so just look at the code and try to follow what it
  539. is doing. There is some similar code elsewhere
  540. that needs sorting out as well. 
  541.  
  542. On the registering - you could be right but I 
  543. didn't notice any single flag or value which 
  544. would cause all this checking code to be bypassed
  545. which is why I still don't think the demo version
  546. is registerable. 
  547.  
  548. Spyder...
  549.  
  550.  
  551. -----#2-------------------------------------------------
  552. Subject: Editeur
  553.  
  554. I'm currently trying to crack Editeur V3.4, I've located the
  555. function that displays the "Incorrect Reg Key" message but both
  556. W32Dasm and IDA say that it isn't called by anything. I'm
  557. thinking self-modifying code? Would it also do this if called
  558. by an external file? Any ideas?
  559.  
  560.     Joe
  561.  
  562.  
  563. ----- [ REKLAMA / ADVERTISEMENT ] ------------------------
  564.  
  565. Zostan Autoryzowanym Partnerem Polbox On-Line Service!
  566. Szczegoly:  ***********************************
  567.  
  568. ----------------------------------------------------------
  569.  
  570.  
  571. -----#3-------------------------------------------------
  572. Subject: none
  573.  
  574. Hello +biGhEAd,
  575.  
  576. > 2. I have some difficulties to crack those programs written with
  577. > Borland's C++ Builder and Delphi? Anyone have any suggestions?
  578.  
  579.     Read +trurl's brilliant essay on cracking VCL applications, and 
  580. download the formspy program. Both of these are on +fravia's page, 
  581. browse through the academy database for all of +trurl's essays and 
  582. you'll find the one you need.
  583.  
  584. Cya,
  585. +ReZiDeNt
  586.  
  587. =====End of Issue 166===================================
  588.  
  589.  
  590.  
  591.  
  592. ========================================================
  593. +HCU Maillist          Issue: 167             03/17/1998 
  594. --------------------------------------------------------
  595. Send Articles To:......................... *************
  596. Info, Help, Unsubscription, etc:....... ****************
  597. Web Repository.........................hcuml.home.ml.org
  598. ========================================================
  599.  
  600. CONTENTS:
  601.  
  602. #1  Subject: +ReZiDeNt, one more help please
  603.  
  604. #2  Subject: Editeur, NE, Softice, TSR/W
  605.  
  606. #3  Subject: Timelock 3
  607.  
  608. #4  Subject: Re: NE-Files
  609.  
  610. #5  Subject: gthorne - virus stuff
  611.  
  612. ARTICLES:
  613.  
  614. -----#1-------------------------------------------------
  615. Subject: +ReZiDeNt, one more help please
  616.  
  617. +ReZiDeNt:
  618.  
  619. Thank you for your last help. I have found +trurl's brilliant essay on cracking
  620. VCL applications , but the link to the tool FORMSPY is not valid. So would
  621. you please email it to me?
  622.  
  623. +biGhEAd -- ******************
  624. (3/16/98)
  625.  
  626.  
  627. -----#2-------------------------------------------------
  628. Subject: Editeur, NE, Softice, TSR/W
  629.  
  630. ******
  631. Editeur
  632. I recall playing with a previous version of Editeur. It was  a fun
  633. program to play with though it did not have selfmodifying code. At the
  634. time the copyprotection scheme worked like this:
  635. Make a statistic over the typed username an 8 byte string
  636. Make a statistic over the typed serial, also an 8 byte string
  637. repz cmpsb the two strings.
  638.  
  639. Obviously such a scheme takes a while to unravel when it's well made and
  640. it was in Editeur. The byte patch was easy though - get the compare
  641. right after repz cmpsb.
  642. It should be noted that the serial was tested at the box and everytime
  643. the program was loaded.
  644.  
  645. If you think some code is self-modifying the disassembler becomes
  646. obsolete as an initial tool and the debugger becomes the real tool. IMHO
  647. the dead list approach is overrated. The debugger always does the job -
  648. except for the truely rare cases that something has to be reverse
  649. engineered properly.
  650. *******
  651. NE - this page has documentation on just about all file formats :)..
  652. ******************************
  653.  
  654. *******
  655. Winice, int 3 (cch) - the saga continiues.
  656.  
  657. It was probably I that sometime ago claimed that Winice used int 3's for
  658. purposes of breakpoints. Ghiribizzo challenged this hypothesis so I put
  659. it to the test using this procedure:
  660.  
  661. I made a call that checksummed  a piece of code.
  662. I called this code twice once inside, once outside the area being
  663. check-summed
  664.  
  665. First I put a bpx in the code being checksummed, and g'd beyound it.
  666. Then I removed
  667. the breakpoint and stepped the second CRC call. The sums did not match -
  668. in other
  669. words Winice and BPX did change the code. Thru a few calculations it was
  670. obvious that
  671. the change was due to a (cch) overwritten the original instruction at
  672. the breakpoint.
  673.  
  674. Now stepping (p) the code the two checksums matched. Then I made 4
  675. memory breakpoints - thus using all the memory breakpoints avaible thru
  676. hardware and performed the step test again. Indeed the two checksums no
  677. longer matched. Again calculating the
  678. difference was due to an inserted int 3. The obvious explanation is that
  679. when ever a debug register is avaible it is used for stepping instead of
  680. the int 3 (which btw. in many intel documentations is refered to as
  681. Single-step breakpoint)
  682.  
  683. The short commings of this simple test is:
  684. 1) I did it in v86 mode
  685. 2) I did it only on Winice 3.22 on WinNT
  686.  
  687. Though I read somewhere that WinIce 95 is a port of the NT version which
  688. would render this particular code exactly identical. I see no reason why
  689. a different method should be used out of v86 mode either.
  690.  
  691. ofcause if you wish to verify my results you can ask me for sourcecodes
  692. - if you wanna make sure that I'm right or wrong - you should
  693. disassemble winice..
  694. ******
  695. TSR
  696.  
  697. I promised a while back that I would consider writting a doc on Pseudo
  698. residency. As it turned out I only did a couple of sourcecodes an no
  699. dox. Now I did half a doc on the topic but I've become dreadfully scared
  700. that I've made it too theoretical for anyone to benefit from it. Anyways
  701. now ask help from this mailing list to say what is unclear and needs
  702. improvement (or possibly waht is wrong). I hope you'll all help me with
  703. a ton of suggestions.
  704.  
  705. Start DOC:
  706. ------------
  707. After reading MadMax's essay on kernel patching I decided that perhaps
  708. it
  709. was time for an essay on "in memory patching". Contrary to the general
  710. +HCU
  711. philosophy my approach will be purely theoretical - the sourcecode I
  712. provide
  713. will serve as an example for you to build on. 
  714.  
  715. Is something preventing a patch? Is your target encrypted, packed,
  716. CRC'ed or
  717. you need the program to run sometimes with the patch applied sometimes 
  718. without (A game-trainer for instance).Wouldn't you just love if you
  719. could 
  720. patch the program in memory after it loaded, unpacked, did the CRC
  721. checks 
  722. etc. ? You can. In the dos days we had TSR's to do this job. In the
  723. windows 
  724. world it's a bit more difficult as the programming interface (Win32 API)
  725. is 
  726. dynamic in contrast to dos's static interupt system. However new methods
  727. which
  728. in many ways are similar to TSR's are now avaible.
  729.  
  730. Kernel patching as MadMax pointed out is generally a bad idea. We need a
  731. more
  732. gentle approach. Which critereas would we like our solution to conform
  733. to?
  734. The critereas I'll use is:
  735. 1) The approach should perform ok in terms of compatability. That is
  736. work
  737. on both NT and 95 and hopefully on future versions as well.
  738.  
  739. 2) The operating system should not suffer any long term effects of the
  740. crack.
  741. That is after termination of the target the OS should be left unchanged.
  742.  
  743. 3) Only ring 3 meassures should be used. (Some of the API-functions I'll
  744. use
  745. from ring 3 will actually switch to ring 0, but atleast there will be no
  746. foreign code introduced at ring 0)
  747.  
  748.  
  749. Common ground
  750. Our immediate problem is that in a preemptive operating system like
  751. windows
  752. each process runs in it's own addressing space. Each time that the
  753. operating
  754. system switches to another process the virtual mapping is changed to fit
  755. that
  756. of the current process. The whole idea with memory patching is providing
  757. means of patching the target in it's addressing space at a certain time 
  758. (after unpacking, CRC'ing or whatever is done). However since a criterea
  759. of the memory patch is that we can't patch the operating system nor the
  760. program itself we need to find a way of gaining access to the target 
  761. addressing space from another processes.
  762.  
  763. The next problem we got is one of timing. Obviously the target needs to
  764. be
  765. patched after the CRC check has been performed or after it is unpacked
  766. in 
  767. memory. And possibly it needs to be unpatched again to pass later
  768. checks. In
  769. other words we need a reliable trigger mechanisms. It is in this respect
  770. that the three methods I'll present here differ.
  771.  
  772.  
  773. The loader approach
  774. The critical assumption I'll make here is that the USER of the program
  775. can
  776. tell us how to time the patch thru another program. This basically means
  777. we assume that the user can:
  778. 1) Identify when patching is appropriate.
  779. 2) Switch to another program to activate.
  780.  
  781. About the first assumption it can be said - if it's a trainer this will
  782. never
  783. be a problem. Obviously the user will know when he want's to have
  784. infinate
  785. lives. Often a messagebox or some other visable sign shows itself when a
  786. patch is needed. E.g. A messagebox saying "Insert correct CD in drive
  787. and 
  788. press OK" - It'd be easy to write a doc saying that when this occurs the
  789. dear user should press OK in another window first, and then in the
  790. target's
  791. obnoxious messagebox. However this is a serious shortcomming. Who said
  792. the
  793. program will actually let the user make a retry? Most 30-day trials tell
  794. the
  795. user the program has expired and the just exit or trial mode or
  796. whatever.
  797. Perhaps many different locations has to be patch at many different time
  798. making
  799. user-controlled patching a cumbersome solution.
  800.  
  801. On assumption 2 can it be said that many games doesn't like switching
  802. tasks
  803. and it's not likely that users will enjoy having to switch out of their
  804. game
  805. to get a new handful of bullets or whatever.
  806.  
  807. Let's get a bit more technical. Windows is so nice to provide us with an
  808. interface to write in other processes addressing space. The API needed
  809. is:
  810. kernel32!WriteProcessMemory
  811. If one take a closer look at this you'll find that what it actually does
  812. utillize Windows's int 2eh interface to switch to ring 0 meaning that it
  813. has
  814. ring 0 priveledges and thus is able to override page protection. However
  815. the interface has build in a security feature so you cannot override
  816. ring 0
  817. data/code. (The int 2eh interface is for NT - I figure Windows 95 does 
  818. something similar but I havn't checked it. Anyways the result is the
  819. same)
  820.  
  821. For WriteProcessMemory to work we need to identify by handle which
  822. process we
  823. want patched. IMHO the best to find such a handle is to create the
  824. target
  825. process yourself - that is do a good old fashioned EXEC from within your
  826. patch/trainer code. The API is 
  827. Kernel32!CreateProcessA
  828. Ofcause there is different means of finding process handles.
  829.  
  830. To summerize a in-memory-patcher of this kind:
  831. CreateProcessA (Target)
  832. Wait for the user to say apply patch - e.g. a
  833. messageboxWriteProcessMemory
  834.  
  835. Sourcecodes at:
  836. ******************************************** (or something)
  837. ------------------------------------------------------------------------
  838. -
  839.  
  840. The API-Hook/Debug Approach
  841.  
  842. Obviously the assumptions made for the Loader Approach can be too 
  843. restrictive. For instance 30-day trials often exit prior to offering the
  844. user any obvious point of introducing a patch. So does dongles. Players
  845. might not like to switch task out of their beloved game to get another
  846. 10
  847. bullets or whatever. What we really need is the target to trigger the
  848. patch
  849. and this section is a way of doing this.
  850.  
  851. The whole idea here is to hook an API-call, and make it perform to our
  852. desire. That can be return fake values under certain circumstances
  853. it could be to patch the main program or it's dll's in memory. In short
  854. what we wish to do is to let the api-call the program performs be
  855. surrounded
  856. by our code so that we can make it perform in every way we wish. Certain
  857. side benefits will come along as well. That is the code I present will
  858. show
  859. how it's possible to introduce breakpoints in an automated debugger
  860. which
  861. is indeed something very useful for the creation of for instance
  862. unpackers.
  863.  
  864. Again let's get down to it. A PE-file "imports" the functions it wishes
  865. to
  866. make use of. Because MS-developers decieded on a dynamic structure for
  867. API's
  868. it's obviously neasesary for each program to declare what functions it
  869. uses.
  870. This is done in a so called import table. Let's now take a deeper look
  871. into
  872. what takes place between the importtable in the PE-file and the
  873. execution of
  874. an API call by the target.
  875.  
  876.  
  877. 3 basic types of information is stored in the importtable. The first is
  878. DLL
  879. names, the second is function names and the third is a Thunk-RVA.
  880. The information is stored in a structure that looks something like this:
  881.  
  882.     DLL1-Name
  883.         Function1-from-dll1- name or ordinal
  884.             Thunk-RVA of Function 1 of DLL 1
  885.         Function2-from-1dll-name or ordinal
  886.             Thunk-RVA of Function 2 of DLL 1
  887.         ....
  888.  
  889.     DLL2-Name
  890.         Function1-from-dll2- name or ordinal
  891.             Thunk-RVA of Function 1 of DLL 2
  892.         Function2-from-1dl2-name or ordinal
  893.             Thunk-RVA of Function 2 of DLL 2
  894.         ....
  895.     ...
  896.  
  897. What windows does while loading the PE-file is traverse thru this table 
  898. following this "pseudo code":
  899.  
  900.   While more DLL's do
  901.      { Load DLL into process addressing space 
  902.          While More Functions imported from current DLL do 
  903.             { Find address of Function and write this to the Thunk-VA
  904. for
  905.               this Function 
  906.              } 
  907.       }
  908.     END Load Imports
  909.  
  910. The function may be listed by name or something called ordinal. In every
  911. DLL
  912. each function that it exports for use by other programs is listed in an 
  913. export directory (which is where windows find the address of the
  914. imported 
  915. function) in this list each DLL is assigned a number and usually a name
  916. too.
  917. The number is called ordinal. Importing can be done either by
  918. referencing
  919. this ordinal value or by using the name.
  920.              
  921. What the program then does when it's in need of the API-function it is
  922. this:
  923. CALL Dword ptr [Thunk VA of needed function]
  924.  
  925. Lets for a second imagine that we could stop execution of the target
  926. process
  927. right before it started and then inject our own code in to it's
  928. addressing
  929. space. Then we could simply replace the value at any Thunk-VA with a
  930. pointer
  931. to our own code and our code would be executed every time the program
  932. decieded
  933. to use this API. We could even save the old pointer and use this to
  934. chain
  935. the original intended API-code. Weeeeeee.. "Isn't this just great?" as
  936. Oprah
  937. Winfrey would say. "No, it is not", as I would reply.
  938.   
  939. We are left with a new problem. Or rather two. The first is stopping 
  940. Execution of the target process before the program runs the first 
  941. instruction so that we can be sure that our new pointers are in order.
  942. Second
  943. we're left the great problem of having code in the target's addressing
  944. space.
  945.  
  946. Solving a problem at the time we start by examining how we can stop our 
  947. target process. Many people always state that windows is overbloated and
  948. perhaps they are right - but in this case I'd say that it's damn
  949. convinient
  950. that MS-engeneers made a full-featured debug interface while designing
  951. API 
  952. calls so that we could with the greatest of ease program a debugger
  953. without
  954. having to do the low-level work ourselves. Infact they made it so that
  955. not
  956. one line of ring 0 code has to be written to make an application
  957. debugger.
  958. "Isn't this just great?" as Oprah would phrase it? "Yes it is, maam" as
  959. would reply. Because it get's even better. Windows engineers must've 
  960. actually been thinking the day they made windows. What good is a 
  961. full-featured debug interface if the poor programmer has to make a
  962. PE-loader
  963. before he can even start debugging. Hey after all they already made a 
  964. loader and they decieded to be helpful. CreateProcessA can open a
  965. process in
  966. Debug mode. This means that inside of most windows's procedures hides
  967. status
  968. breakpoints that'll turn over the control to our debugger thru that
  969. interface. One of these status breakpoints triggers just before windows
  970. is 
  971. about to turn over control to the just loaded PE-file. Convinient!
  972.  
  973. Obviously if a process is in debug mode execution is suspended everytime
  974. a
  975. debug event occurs. A debug event is any non-handled exception.
  976. Pagefaults,
  977. breakpoints, division overflows, etc. And there is 6 different types of
  978. status breakpoints inside windows that'll be triggering like Rambo in
  979. Iraq.
  980. So basically we need to send a message from our debugger process that
  981. it's 
  982. ok to continiue every time we have encountered such an event. Ofcause if
  983. it's
  984. the event we've been looking for we need to do whatever it is we wish to
  985. do
  986. before giving the green light to run on. This is the reason behind the
  987. loop
  988. of
  989. kernel32!WaitForDebugEvent
  990. and
  991. kernel32!ContiniueDebugEvent
  992. in my code.
  993.  
  994. So now we know how to stop the program before it actually started. If
  995. you 
  996. read the previous section you'll know how to exchange pointers. This
  997. leaves
  998. us with a grave problem. Injecting our code into the target's addressing
  999. space.
  1000. Now this can be done in many ways indeed. We'll just be looking the one
  1001. chose.
  1002.  
  1003. What I'll try to obtain is making the program load a DLL for me. This
  1004. ofcause
  1005. isn't something th program is willing to do without force. Fortunately
  1006. for
  1007. the moment I'm President Clinton and the security counsil has agreed to
  1008. bomb
  1009. the target until it conforms to my ideas. The scene is set at the status
  1010. breakpoint just before the target is about to start execution. It is
  1011. fully
  1012. loaded and ready to go. However we're sitting comfortably with it
  1013. suspended
  1014. far far away in our own addressing space. The first thing we got to
  1015. agree
  1016. on is how it is we actually want's the target to do. Load OUR dll, find
  1017. the
  1018. process address of OUR function, replace the one found at the THunk-VA
  1019. of
  1020. the original. We now constuct code that will do just that in deltaoffset
  1021. so
  1022. that it can be inserted anywhere. Prior to actually running the program
  1023. we
  1024. found a page within the target that allowed execution. Most pages in the
  1025. target allows execution but we just need one. We now read the page out
  1026. the
  1027. Process space of the target into our own and stores it safely. This is
  1028. done
  1029. thru another subfunction of INT 2eh which ofcause also overrides
  1030. pageprotection etc. The API is:
  1031. kernel32!ReadProcessMemory
  1032. See Natzguls essay for a more thourough breakdown of this function. Now
  1033. we
  1034. write our own code that loads a DLL, finds the address of our function
  1035. and
  1036. replaces the Thunk-VA entry of the function with ours. 
  1037.  
  1038. Now were ready to go? No. We're left with the problem that execution
  1039. should 
  1040. be left otherwise unchanged so that we've written a page somewhere is
  1041. bad 
  1042. news.  So in addition to the code we appended we add an INT 3 which will
  1043. when 
  1044. executed cause a debug event and once more suspend the target allowing
  1045. us 
  1046. to restore the page. Unfortunately EIP of the target does not
  1047. neassesarely 
  1048. point to our page, further we use all the registers and those needs to
  1049. be
  1050. restored too. So where do we turn? Windows internal knowledge. Upon
  1051. creation
  1052. that is prior to running any actual program code any one process has one
  1053. and
  1054. one thread only. Further windows allows debuggers to fetch the Context
  1055. of a 
  1056. thread. That is all relevant information about the threads current
  1057. status.
  1058. Such a context was originally intended for preemptive multitasking so
  1059. that 
  1060. when ever the OS suspended execution of the thread to do another the
  1061. context
  1062. was saved, the address space swapped and another threads context was
  1063. restored
  1064. it's process's address space swapped in place and it was allowed to
  1065. continiue.
  1066. One should be aware that while a thread indeed has full context it's
  1067. partly
  1068. shared with that of the other threads in the process. E.g. the FPU is
  1069. shared
  1070. between threads in a process. Since we only got one thread in our
  1071. process
  1072. the terms of thread and process is incidental.
  1073. We ofcause now reads the context of our target's single thread, saves it
  1074. then
  1075. changes the EIP in it an resets it to point to our page of code in the 
  1076. target processspace. Ofcause our code will now execute till the int 3 we
  1077. inserted is reached, then it's suspended and control is back with us. We
  1078. now reset the context of the thread and restore the page we abused for
  1079. our 
  1080. code. Then we simply let it run.
  1081.  
  1082. There is one last unfortunate thing about letting it run. If a process
  1083. was
  1084. created in Debug mode it stays in debug mode till it's terminated. That
  1085. means
  1086. that we need to stay in a loop of WaitForDebugEvent/COntiniueDebugEvent
  1087. until
  1088. that time where the process is actually terminated or the program will 
  1089. suspend itself and wait for our instructions. This wasn't too smart MS!
  1090.  
  1091. Practical notes on the debug approach
  1092. A last side note should be mentioned here. While I was doing this code I
  1093. encountered a bug in windows NT workstation 4.0 build 1381. It might
  1094. exist
  1095. on other versions too. Code inside windows looks like this:
  1096. mov eax, [offset of Context Storeing space in debugger code]
  1097.         ; this is obvioulsy a parameter
  1098. mov ebx, [Temporaly variable containing ring level of debugger]
  1099. test eax,ebx
  1100. jnz insuficient_security
  1101. everything Ok.
  1102. Obviously this is wrong. To overcome this bug make sure that the offset
  1103. where you store your context and'ed with 3 is 0.
  1104.  
  1105. Further finding the ChunkVA of an imported function can easily be done
  1106. by
  1107. dumping the PE-file with Matt Pietreks PE-dump or similar. He gives the
  1108. first
  1109. chunk for each DLL, if your function isn't the first you add 4 bytes
  1110. each 
  1111. time you need to move a line down to find our function.
  1112.  
  1113. The sourcecodes for this can be found at:
  1114. ********************************************
  1115.  
  1116. ------------------------------------------------------------------------
  1117. ---
  1118.  
  1119. The MessageHook Approach
  1120.  
  1121. Forth comming
  1122.  
  1123.  
  1124. source is forth comming 
  1125.  
  1126.  
  1127. ---------------
  1128.  
  1129. Litterature
  1130.  
  1131. MadMax (1998) - Cracking useing kernel32??, by MadMax Feb 1998.
  1132. ******************
  1133. Natzgul (1998) - Unknown tittle, by Natzgul Jan 1998.
  1134. ******************
  1135.  
  1136. Pietrek, Matt - Windows 95 System Programming Secrets, IDG books 1995.
  1137.  
  1138.  
  1139. Various sourcecodes by Me :).. all can be found on my page
  1140. ************************
  1141.  
  1142. Thanks must go to:
  1143. Patriarch / PWA, friend roomate and local expert.
  1144. Random / Xforce, God of the PE-format
  1145. Net Walker / Brazil
  1146. United Cracking Force, my personal benefactor.
  1147. All of which I had many enlightning discussions with.
  1148.  
  1149.  
  1150. email: ************
  1151. *****************
  1152. Stone/UCF'98
  1153. 2nd&mi!
  1154. -----
  1155. doc end
  1156.  
  1157. kind regards
  1158.  
  1159. Stone / United Cracking Force '98
  1160.  
  1161. btw - I just updated my page.. something interesting might be there.. 
  1162.  
  1163.  
  1164. -----#3-------------------------------------------------
  1165. Subject: Timelock 3
  1166.  
  1167. Greetings all!
  1168.  
  1169. Have you looked at Timelock 3?  This protection is use for Zurfrider, among
  1170. many other programs.  It uses this file as a part of its protetion scheme:
  1171. tl303inj.dll.  I just looked inside it and saw this:
  1172.  
  1173. ******************************************** ?PleaseTraceIntoMe_MrCracker
  1174.  
  1175. Is that a challenge or what?  These people must be very confident of their
  1176. protection or stupid or both.
  1177.  
  1178. In looking at the protection, I note that the unlock key uses dual key
  1179. encryption.  I also see CRC checking.
  1180.  
  1181. Zinger
  1182.  
  1183. -----#4-------------------------------------------------
  1184. Subject: Re: NE-Files
  1185.  
  1186.  
  1187.  
  1188. Someone asked for info on the NE header,
  1189. AFAIK there should be something in VLAD #4 or #5, where
  1190. they create the Win 3.1 infecting virus.
  1191. I never read it though, so I can't say anything about
  1192. the quality.
  1193.  
  1194. Cya, Halvar
  1195.  
  1196. ______________________________________________________
  1197. Get Your Private, Free Email at **********************
  1198.  
  1199. -----#5-------------------------------------------------
  1200. Subject: gthorne - virus stuff
  1201.  
  1202. Message Body = 
  1203.  
  1204. poking around the net i found one of the more interesting virus essay sites i have ever seen
  1205. quite informative as well as interesting to read
  1206.  
  1207. ************************************
  1208.  
  1209. on a similar note, i have a strange occurrance here lately - one which i am not finding any references to on the net, but has surprised me a but
  1210. it is clear that flash bios can be overwritten - hence the reason for flash bios
  1211.  
  1212. a friend of mine had a virus recently and it basically screwed things up for a friend of mine on his hard drive so he sent it to western digital to repair it...
  1213.  
  1214. the company sent it back to him and told them they will not fix it. they said it has on it a virus that blows bios, and that is not surprising since his drive was not detecting and such
  1215. the interesting thing is - they said it BLOWS bios... not erases flash bios, and since he does not have flash bios anyway, this really boggled me
  1216.  
  1217. i admit anything is possible, but without having seen anything remotely indicating this capability in a viral infection it is rather unlikely to me that it does what they said it does
  1218.  
  1219. the thing that bugs me is that western digital made that statement to him as their reason for not working on the drive
  1220. (could be a know-nothing-tech-wannabe of course)
  1221.  
  1222. anyway, i may end up calling WD tech support to see if i get the same story
  1223.  
  1224. +gthorne
  1225.  
  1226.  
  1227. =====End of Issue 167===================================
  1228.  
  1229.  
  1230.  
  1231.  
  1232. ========================================================
  1233. +HCU Maillist          Issue: 168             03/18/1998 
  1234. --------------------------------------------------------
  1235. Send Articles To:......................... *************
  1236. Info, Help, Unsubscription, etc:....... ****************
  1237. Web Repository.........................hcuml.home.ml.org
  1238. ========================================================
  1239.  
  1240. CONTENTS:
  1241.  
  1242. #1  Subject: Re: +HCU ML Issue 166
  1243.  
  1244. #2  Subject: Re: +HCU ML Issue 167
  1245.  
  1246. #3  Subject: CCh
  1247.  
  1248. ARTICLES:
  1249.  
  1250. -----#1-------------------------------------------------
  1251. Subject: Re: +HCU ML Issue 166
  1252.  
  1253. > Subject: Editeur
  1254.  
  1255. > I'm currently trying to crack Editeur V3.4, I've located the
  1256. > function that displays the "Incorrect Reg Key" message but both
  1257. > W32Dasm and IDA say that it isn't called by anything. I'm
  1258. > thinking self-modifying code? Would it also do this if called
  1259. > by an external file? Any ideas?
  1260.  
  1261. >     Joe
  1262.  
  1263. as i remember from some version of editeur i cracked, the fastest
  1264. way to crack it is to open the exe with a resource editor and
  1265. change the 'unregistered' string with something else.
  1266. (it'll read unregistered from the cfg file compares it with this,
  1267. and if this isn't the same, you must be registered...)
  1268. also, getting your own name in wasn't very hard, i dunno if they
  1269. changed this, but selfmodifying code? i dont think so. try to
  1270. locate the code before the 'incorrect key' message and look for
  1271. something like 'JMP EAX+00123456'.
  1272. or with softice
  1273. put a bpx on the first instruction that you don't see where it's 
  1274. called from and when it snaps, trace a few instructions back:
  1275. BPR code_address1 code_address2 T  (take a big chunk b4 & after)
  1276. then:
  1277. TRACE number_of_instuction_to_start_with
  1278. use XP, XT & XG to step, goto etc.
  1279.  
  1280.  +SNiKkEL
  1281.  
  1282. -----#2-------------------------------------------------
  1283. Subject: Re: +HCU ML Issue 167
  1284.  
  1285.  
  1286. Hello all, 
  1287.  
  1288. I am trying to write a trainer for a REALLY old DOS game (First
  1289. Samurai, 1992). I have found all the places where I want to patch, 
  1290. my problems arise when it comes to locating the keyboard routine.
  1291.  
  1292. The prog hooks interrupts 8h, 9h, ah, 23h, 24h
  1293.  
  1294. int 9h is in fact the one where the keyboard routine takes place.
  1295. Unfortunately, the program itself does not execute INT 9h once.
  1296. I thought perhabs it reads the address straight out of the interrupt
  1297. vector table and then ret's to it, but a BPMD on 0000:0024h did not
  1298. yield any result either. Which other ways are there this prog could
  1299. cal int 9 ? 
  1300.  
  1301.  
  1302. Halvar
  1303.  
  1304. ______________________________________________________
  1305. Get Your Private, Free Email at **********************
  1306.  
  1307. -----#3-------------------------------------------------
  1308. Subject: CCh
  1309.  
  1310. Here's my short test program I used to try to detect CCh insertion in
  1311. SICE:
  1312.  
  1313. begin 644 test.com
  1314. *************************************************************
  1315. ?="!T<F%C960N)%1H92!C86QL('=A<R!T<F%C960N)&0N
  1316. `
  1317. end
  1318.  
  1319. I tested this using Debug, TD and SICE/DOS 2.80.
  1320.  
  1321. The program reads the byte after the call instruction to see if a CCh
  1322. is placed there. The theory is that a debugger will place a CCh over
  1323. the byte following the call to step over the call. Tracing through the
  1324. entire call won't trip this.
  1325.  
  1326. Debug and TD both trip the program. SICE steps over it without problem.
  1327.  
  1328. Now, I'm not sure if SICE/WIN95 supports .com file debugging so I wrote
  1329. a similar exe:
  1330.  
  1331. begin 644 test2.exe
  1332. *************************************************************
  1333. M```````````````````````!````````````````````````````````````
  1334. M````````````````````````````````````````````````````````````
  1335. M````````````````````````````````````````````````````````````
  1336. M````````````````````````````````````````````````````````````
  1337. M````````````````````````````````````````````````````````````
  1338. M````````````````````````````````````````````````````````````
  1339. M````````````````````````````````````````````````````````````
  1340. M````````````````````````````````````````````````````````````
  1341. M````````````````````````````````````````````````````````````
  1342. M````````````````````````````````````````````````````````````
  1343. *************************************************************
  1344. *************************************************************
  1345. *********************************************
  1346. `
  1347. end
  1348.  
  1349. Now, for some reason SICE hangs when I use the dldr utility. This
  1350. is probably due to something going wrong when I upgraded to 3.22
  1351. from version 3.01 as I have used the dldr utility before.
  1352.  
  1353. Will someone tell me if the same results are found under SICE/WIN95
  1354. and if COM files are supported? I don't have time at the moment to
  1355. fix my copy of SICE. Thanks.
  1356.  
  1357. Stone, will you send your test files too so I can see if I get the
  1358. same results as you.
  1359.  
  1360. ~~
  1361. Ghiribizzo
  1362.  
  1363. =====End of Issue 168===================================
  1364.  
  1365.  
  1366.  
  1367.  
  1368. ========================================================
  1369. +HCU Maillist          Issue: 169             03/19/1998 
  1370. --------------------------------------------------------
  1371. Send Articles To:......................... *************
  1372. Info, Help, Unsubscription, etc:....... ****************
  1373. Web Repository.........................hcuml.home.ml.org
  1374. ========================================================
  1375.  
  1376. CONTENTS:
  1377.  
  1378. #1  Subject: Internet privacy
  1379.  
  1380. #2  Subject: IDA offsets
  1381.  
  1382. #3  Subject: Bighead+KeyText
  1383.  
  1384. #4  Subject: Internet privacy
  1385.  
  1386. ARTICLES:
  1387.  
  1388. -----#1-------------------------------------------------
  1389. Subject: Internet privacy
  1390.  
  1391. Just a quick note to ask if anyone on the list uses the Junkbuster proxy 
  1392. on their system? If so what do they think of the degree of 
  1393. privacy/anonymity it provides? I test it out by visiting Fravia's 
  1394. anonymity (does this word exist?)page. I can't see any information about 
  1395. myself, but, of course, who knows what goes on behind the scenes ;} I 
  1396. use it chaining through various other proxies without a great loss of 
  1397. speed. I still switch off javascript and java just in case.
  1398. Regards,
  1399. Zipper49
  1400.  
  1401. ______________________________________________________
  1402. Get Your Private, Free Email at **********************
  1403.  
  1404. -----#2-------------------------------------------------
  1405. Subject: IDA offsets
  1406.  
  1407. I just have a simple question.
  1408. [EBX+ESP+180h+var_148] in IDA
  1409. is the same as
  1410. [EBX+ESP+38] in SoftIce..
  1411.  
  1412. Why does IDA do it that way?
  1413.  
  1414.  
  1415.  
  1416. ----- [ REKLAMA / ADVERTISEMENT ] ------------------------
  1417.  
  1418. Zostan Autoryzowanym Partnerem Polbox On-Line Service!
  1419. Szczegoly:  ***********************************
  1420.  
  1421. ----------------------------------------------------------
  1422.  
  1423.  
  1424.  
  1425. -----#3-------------------------------------------------
  1426. Subject: Bighead+KeyText
  1427.  
  1428. Hi bighead,
  1429. i read your message in the ML and tried Keytext too. I don┤t know how 
  1430. important the keymaker is for you but i patched 8 bytes in keymaker.exe 
  1431. and the prog runs well except that i can use only 5 items (i had not 
  1432. much time to look further on).
  1433.  
  1434. NiKai 5777852 (ICQ)
  1435.  
  1436.  
  1437. ______________________________________________________
  1438. Get Your Private, Free Email at **********************
  1439.  
  1440. -----#4-------------------------------------------------
  1441. Subject: Internet privacy
  1442.  
  1443. Good evening.
  1444. This may not be exactly on-topic, but I wondered if anyone else on the 
  1445. list uses Junkbuster. If so what is the opinion on the amount of 
  1446. privacy/anonimity provided by it. I tried it out on Fravia's privacy 
  1447. pages and no information about myself showed up (that's you bozo) 
  1448. However, who knows what might be going on behind the scenes as Fravia so 
  1449. rightly tells us? Just to be on the safe side I still navigate with both 
  1450. java and javascript disabled (my main interest is information, not 
  1451. twiddley bits).
  1452. Regards,
  1453.      Zipper49
  1454.  
  1455. PS I tried to send a similar message earlier, but my connectiondied 
  1456. halfway through, so please accept my apologies if this is duplicate.
  1457.  
  1458. ______________________________________________________
  1459. Get Your Private, Free Email at **********************
  1460.  
  1461. =====End of Issue 169===================================
  1462.  
  1463.  
  1464.  
  1465.  
  1466. ========================================================
  1467. +HCU Maillist          Issue: 170             03/20/1998 
  1468. --------------------------------------------------------
  1469. Send Articles To:......................... *************
  1470. Info, Help, Unsubscription, etc:....... ****************
  1471. Web Repository.........................hcuml.home.ml.org
  1472. ========================================================
  1473.  
  1474. CONTENTS:
  1475.  
  1476. #1  Subject: Stone's Doc, hotmail probs
  1477.  
  1478. #2  Subject: BB
  1479.  
  1480. #3  Subject: Timelock v3
  1481.  
  1482. #4  Subject: none
  1483.  
  1484. #5  Subject: To pathch EXE file
  1485.  
  1486. ARTICLES:
  1487.  
  1488. -----#1-------------------------------------------------
  1489. Subject: Stone's Doc, hotmail probs
  1490.  
  1491.  
  1492.  
  1493. Stone, you asked a few days ago for comments on your doc on
  1494. run-time-patching, here are mine: 
  1495.  
  1496. I don't think the doc is too dry as you feared. It makes all
  1497. points clear, and has the lenght that's necessary to bring the
  1498. point across. Trying to "make it less dry" would lead to a too
  1499. long doc. Well, you'll have to read some sentences twice (at 
  1500. least I had to), but that's the same all over.
  1501.  
  1502. The content does a great job of making the source code on your
  1503. page totally clear to everybody.
  1504.  
  1505. All in all, I like that doc a lot, pulled a few things together
  1506. for me.
  1507.  
  1508.  
  1509. ----------
  1510. Concerning Hotmai: Well, I guess I'll finally have to get a new
  1511. (decent) pop account from somewhere, since Hotmail just deleted
  1512. ALL messages I received after Feb 1st, including my question I
  1513. asked yesterday :-(( Where was the Web-Repository of the mailing
  1514. list again ?
  1515.  
  1516. HalVar
  1517.  
  1518. ______________________________________________________
  1519. Get Your Private, Free Email at **********************
  1520.  
  1521. -----#2-------------------------------------------------
  1522. Subject: BB
  1523.  
  1524. >This may not be exactly on-topic, but I wondered if anyone else on the 
  1525. >list uses Junkbuster.
  1526.  
  1527. From what I remember, there was a page on Fravia which showed a list of
  1528. people accessing it (using the watches) however, the list wasn't generated
  1529. 'in real time'. That is, it was just a page from a log on a specific date
  1530. at a specific time, so even if you were logged, you wouldn't be on there
  1531. (unless by some fluke you were captured at that time as well).
  1532.  
  1533. Anonymity is quite hard to achieve, the main nuisance being the delay when
  1534. using services like 'anonymizer'. You could always use other services such
  1535. as the one at w3mail at gmd.de which responds fairly quickly.
  1536.  
  1537. You must also be careful when you post to the 'Reverse Engineering Forum'
  1538. as the server stamps a time onto your messages so that, for example, Fravia
  1539. would only have to watch a few of your posts to the forum and compare times
  1540. to quickly discover your originating IP (unless of course you were
  1541. careful). This is why you should never post to the forum and surf unguarded.
  1542.  
  1543. Blocking java and javascript can also help and in any case, I find
  1544. javascript to be more of a nuisance than anything else.
  1545.  
  1546. ~~
  1547. Ghiribizzo
  1548.  
  1549. -----#3-------------------------------------------------
  1550. Subject: Timelock v3
  1551.  
  1552. Hello Everyone
  1553.  
  1554. Hello Zinger
  1555.  
  1556. ********************************************** 
  1557. >>?PleaseTraceIntoMe_MrCracker
  1558.  
  1559. >>Is that a challenge or what?  These people must be very confident >>of 
  1560. their protection or stupid or both.
  1561.  
  1562. The information is at Fravia's website, an essay or a snippet. If you 
  1563. are aware of this, then disregard this message.
  1564.  
  1565. cheers Rundus
  1566.  
  1567.  
  1568. ______________________________________________________
  1569. Get Your Private, Free Email at **********************
  1570.  
  1571. -----#4-------------------------------------------------
  1572. Subject: none
  1573.  
  1574.  
  1575. hi halvar,
  1576. > int 9h is in fact the one where the keyboard routine takes place.
  1577. > Unfortunately, the program itself does not execute INT 9h once.
  1578. > I thought perhabs it reads the address straight out of the interrupt
  1579. > vector table and then ret's to it, but a BPMD on 0000:0024h did not
  1580. > yield any result either. Which other ways are there this prog could
  1581. > cal int 9 ? 
  1582.  
  1583. Hmmm, int 9 ? it does not read keyboard through int x16 or
  1584. reading/writing directly to the hardware port ?
  1585.  
  1586. anyway, about the brpt. above i think you better set an execution
  1587. breakpoint on the contents of vector 9, i mean *(24h).
  1588.  
  1589. cu
  1590. SiuL+Hacky
  1591.  
  1592.  
  1593.  
  1594. -----#5-------------------------------------------------
  1595. Subject: To pathch EXE file
  1596.  
  1597. This is a multi-part message in MIME format.
  1598.  
  1599. ------=_NextPart_000_001C_01BD53EF.8CC43540
  1600. Content-Type: text/plain;
  1601.     charset="iso-2022-jp"
  1602. Content-Transfer-Encoding: quoted-printable
  1603.  
  1604. Hello all,=20
  1605.  
  1606.     I am trying to patch a exe file. The program report a device error =
  1607. when I try to run it.
  1608. Alse SoftIce can not load it anymore.(It seems that the loader checked =
  1609. the file before run it) This never happened to me before. It is really =
  1610. strange.=20
  1611.     It's a 16bit porgram named HTML2EXE comes from =
  1612. ***********************************************  (Only useful for =
  1613. learning crack :o)
  1614.  
  1615.  
  1616. Regards
  1617.  
  1618. +OldP!G
  1619.  
  1620. ------=_NextPart_000_001C_01BD53EF.8CC43540
  1621. Content-Type: text/html;
  1622.     charset="iso-2022-jp"
  1623. Content-Transfer-Encoding: quoted-printable
  1624.  
  1625. <!DOCTYPE HTML PUBLIC "-//W3C//DTD W3 HTML//EN">
  1626. <HTML>
  1627. <HEAD>
  1628.  
  1629. <META content=3Dtext/html;charset=3Diso-2022-jp =
  1630. http-equiv=3DContent-Type>
  1631. <META content=3D'"MSHTML 4.72.2106.6"' name=3DGENERATOR>
  1632. </HEAD>
  1633. <BODY bgColor=3D#ffffff>
  1634. <DIV>Hello all, <BR><BR>    I am trying to patch a exe =
  1635. file. The=20
  1636. program report a device error when I try to run it.</DIV>
  1637. <DIV>Alse SoftIce can not load it anymore.(It seems that the loader =
  1638. checked the=20
  1639. file before run it) This never happened to me before. It is really =
  1640. strange.=20
  1641. </DIV>
  1642. <DIV>    It's a 16bit porgram named HTML2EXE comes from =
  1643. <A=20
  1644. **************************************************************************
  1645. leinet.co.uk/ucs/products.htm.</A> =20
  1646. (Only useful for learning crack :o)<BR></DIV>
  1647. <DIV> </DIV>
  1648. <DIV>Regards</DIV>
  1649. <DIV> </DIV>
  1650. <DIV>+OldP!G</DIV></BODY></HTML>
  1651.  
  1652. ------=_NextPart_000_001C_01BD53EF.8CC43540--
  1653.  
  1654.  
  1655. =====End of Issue 170===================================
  1656.  
  1657.