<td valign="top" nowrap="nowrap"><a href="posting.php?mode=quote&p=1118"><img src="templates/subSilver/images/lang_french/icon_quote.gif" alt="RΘpondre en citant" title="RΘpondre en citant" border="0" /></a> </td>
</tr>
<tr>
<td colspan="2"><hr /></td>
</tr>
<tr>
<td colspan="2"><span class="postbody">Hi All,
<br />
<br />
That is the message I posted on comp.sys.apple2 a few days ago for the crack of RSVP, a questions&answers software which help people enhance their communication skills. Funny but repetitive.
<br />
<br />
BLOAD DDMOVER
<br />
8CE2 : 87
<br />
8CE5 : 3F
<br />
UNLOCK DDMOVER
<br />
BSAVE DDMOVER,A$8700,L1577
<br />
LOCK DDMOVER
<br />
<br />
<br />
But I prefer the Track/Sector/Offset manner:
<br />
TE/S9/E6:87 (was 8C)
<br />
TE/S9/E9:3F (was 99)
<br />
<br />
<br />
<span style="font-weight: bold">And, now, the boot trace... </span>
<br />
C600 -> DOS 3.3 loads then launches HELLO which BRUNs DDMOVER
<br />
<br />
<br />
<span style="font-style: italic">DDMOVER (loads at $8700, length is 1577 bytes)</span>
<br />
8700 -> 870C -> 8CE1
<br />
<br />
<br />
<span style="font-style: italic">8CE1 (the decryption routine) </span>
<br />
- pushes 8C99 onto the stack
<br />
- decodes $8AFA..$8CFB
<br />
- and jumps (thanks to the stack) to $8C9A
<br />
<br />
<br />
<span style="font-style: italic">8C9A (the protection routine)</span>
<br />
- pushes 873F onto the stack
<br />
- performs the following calls: $8C14 then $8C3E
<br />
- updates somes values (especially the read error jump to the reboot routine) then
<br />
- performs the following calls: $8C14 then $8C3E
<br />
<br />
<br />
<span style="font-style: italic">8C14 (a RWTS read call) </span>
<br />
- just sets the right parameters for our beloved IOB table
<br />
<br />
<br />
<span style="font-style: italic">8C3E (a low-level $C0EC read routine) - FIRST CALL </span>
<br />
- synchronizes (three $FF nibbles read)
<br />
- checks for the following parameters on the disk: D5 AA 96 FF FE AA AA
<br />
- and the following ones also: AB AF
<br />
<br />
<br />
<span style="font-style: italic">8C3E (a low-level $C0EC read routine) - SECOND CALL </span>
<br />
- synchronizes (three $FF nibbles read)
<br />
- checks for the following parameters on the disk: D5 AA 96 FF FE AA AB
<br />
- and the following ones also: AB AB
<br />
<br />
<br />
Oooooohhhh, it is a synchro protection. I read on track zero (AA AA) a specific sector (AB AF) then I move to the next track (AA AB) and I must get the AB AB sector (please forgive me, I do not have my 4*4 table with me, therefore find the decimal sector value yourself) If I read the right value, then I have the original disk. If not, I have a copy...
<br />
<br />
<br />
<span style="font-weight: bold">And now, what should I do? </span>
<br />
On the original disk, the values returned are: X: unknown, A: $FBB3 value, Y: $00
<br />
<br />
What we could do is tell the software to jump to the pre-protection routine but to avoid the jump to the real protection routine. That is what my 2 bytes change is about: I force the jump to $873F in the decypher routine at $8CE1.
<br />
<br />
<br />
There are plenty of other methods to bypass the protection routine, Nick's post was one of those and I am pretty sure a 1 byte change could be done. No other protection or check routines found on the disk. The program seems to be compiled.
<br />
<br />
<br />
Thank you John, that was a funny one. And I do not encounter any issues just like Nick.
<br />
<br />
<br />
Antoine "LoGo" Vignau
<br />
6/2009</span><span class="gensmall"></span></td>
</tr>
</table></td>
</tr>
<tr>
<td class="row1" width="150" align="left" valign="middle"><span class="nav"><a href="#top" class="nav">Revenir en haut de page</a></span></td>
<td valign="middle" nowrap="nowrap"><a href="profile.php?mode=viewprofile&u=4"><img src="templates/subSilver/images/lang_french/icon_profile.gif" alt="Voir le profil de l'utilisateur" title="Voir le profil de l'utilisateur" border="0" /></a> <a href="privmsg.php?mode=post&u=4"><img src="templates/subSilver/images/lang_french/icon_pm.gif" alt="Envoyer un message privΘ" title="Envoyer un message privΘ" border="0" /></a> <a href="http://www.oss117.org/" target="_userwww"><img src="templates/subSilver/images/lang_french/icon_www.gif" alt="Visiter le site web de l'utilisateur" title="Visiter le site web de l'utilisateur" border="0" /></a> <script language="JavaScript" type="text/javascript"><!--
<td align="right" valign="top" nowrap="nowrap"><span class="gensmall">Toutes les heures sont au format GMT + 1 Heure</span><br /><span class="nav"></span>
</td>
</tr>
<tr>
<td align="left" colspan="3"><span class="nav">Page <b>1</b> sur <b>1</b></span></td>
<td nowrap="nowrap"><span class="gensmall">Sauter vers: <select name="f" onchange="if(this.options[this.selectedIndex].value != -1){ forms['jumpbox'].submit() }"><option value="-1">SΘlectionner un forum</option><option value="-1"> </option><option value="-1">GENERALITES</option><option value="-1">----------------</option><option value="1">REGLES DE BASE DU FORUM</option><option value="2">PRESENTATION DES MEMBRES</option><option value="3">FAQ</option><option value="24">LES VENDEURS DE Q et assimilΘs...</option><option value="-1"> </option><option value="-1">La ligne des APPLE II</option><option value="-1">----------------</option><option value="4">APPLE II et II+</option><option value="5">APPLE IIe</option><option value="6">APPLE IIc et IIc Plus</option><option value="7">APPLE IIGS</option><option value="8">ITT2020</option><option value="9">BELL & HOWELL</option><option value="-1"> </option><option value="-1">ON AIME AUSSI...</option><option value="-1">----------------</option><option value="25">APPLE I</option><option value="10">APPLE /// et ///Plus</option><option value="11">LISA 1, 2, 2/5, 2/10 et ... XL</option><option value="-1"> </option><option value="-1">LOGICIELS</option><option value="-1">----------------</option><option value="12">PROBLEMES DIVERS</option><option value="13"selected="selected">PROTECTION MALEFIQUE</option><option value="23">EMULATION</option><option value="-1"> </option><option value="-1">LES CARTES ET PERIPHERIQUES</option><option value="-1">----------------</option><option value="14">CARTES COPROCESSEUR</option><option value="15">CARTES MEMOIRE</option><option value="16">CARTES POUR DISQUES</option><option value="17">AUTRES CARTES</option><option value="18">PERIPHERIQUES</option><option value="-1"> </option><option value="-1">EN VRAC ET DIVERS</option><option value="-1">----------------</option><option value="19">Recherches techniques (hard ou soft)</option><option value="20">ACHATS,VENTES ET/OU ECHANGES</option><option value="21">DIVERS...MAIS TOUJOURS EN RELATION AVEC APPLE!</option><option value="22">LES PETITS MAUDITS A EVITER</option></select><input type="hidden" name="sid" value="88dc291636b558c274916ca04b217a32" /> <input type="submit" value="Aller" class="liteoption" /></span></td>
</tr>
</table></form>
<span class="gensmall">Vous <b>ne pouvez pas</b> poster de nouveaux sujets dans ce forum<br />Vous <b>ne pouvez pas</b> rΘpondre aux sujets dans ce forum<br />Vous <b>ne pouvez pas</b> Θditer vos messages dans ce forum<br />Vous <b>ne pouvez pas</b> supprimer vos messages dans ce forum<br />Vous <b>ne pouvez pas</b> voter dans les sondages de ce forum<br /></span></td>