欢迎来到 嗅灵易学

零基础也能上手的脚本技术课,一对一答疑带你入门

【文章一的小小补充(仅供初学者)】

【文章一的小小补充(仅供初学者)】

【文章一的小小补充(仅供初学者)】
========================================================================================
软件      :Tag&Rename 1.7
软件简介  :一个可以修改MP3 和 VQF 音乐文件中的TAG说明的程序。最新的1.8beta3版开始支持MP3
            最新的ID3v2,是一个很好用的编辑工具。
下载处    :软件主页: http://www.softpointer.com/tr.htm
          :由于该主页更新很快,1.7 与 1.7(buid3)版本请在我这里
            http://www.freedrive.com/ASP/PostFolderShortcut.asp?fsc=15913190
            (找share\TagRename ,需有freedrive的免费帐号)
----------------------------------------------------------------------------------------
Tag&Rename v.1.7 build 3 (11/22/00):
  * fixed  sharing violation error under Win 2000 with 'Rename folder'
    function
  * added Portuguese translation
 
Tag&Rename v.1.7 build 2 (11/04/00):
  * minor bug in 'Rename files test' window fixed
  * added Slovene and Swiss-German translations
Tag&Rename v.1.7 (11/02/00):
  * improved scroll mouse support
  * supported languages: Brazilian Portuguese, Bulgarian, Czech, Dutch
    French, German, Greek, Hungarian, Italian, Russian
  * minor bugs fixed
========================================================================================
  【正文】
========================================================================================
由于在贴文章一的时候,TagRename1.7已经悄悄的发布了1.7(build2)。所以大家从该主页下载
的版本与我的不同。故,造成与该文章有所出入的地方。

这里以1.7(build3)为例子作一个小小的修正。其实,除了使用各个版本的Aspack、Asprotect加壳之外。
自1.4版以来它在保护上并没什么长进(虽然注册码是无望了)! 用十几个 F12 即可搞定,找到如下代码.
( 而版本1.7(11/02/00)是一个例外,一路F10 即可。) 所以TagRename是一个很好的入门级程序。

A)1.7(build3)中 添入注册码,按OK后。被TRW2000中断,按下14个F12 ,再F10就可见到如下特征代码:
    ... 
    MOV EAX,[EBP-08]    //某一个ret会返回到此。
    LEA EDX,[EBP-04]
    MOV EAX,[EBP-04]
    CALL XXXXXXXX      //处理、计算、比较注册码!!!注册码正确时,返回AL=1。 【<==我们进入此!!!】
    CMP AL,01        
    JZ ZZZZZZZZ        //若AL=1,则可以避开error对话框!
           

B)按F8进入 CALL XXXXXXXX 后的下面四十行以内,即可看到如下特征代码:
  ...
  ...
  ...
  CALL NEAR [ECX+50]  //比较"注册码生成串'和两百余个"正确的串"。若全部不匹配返回EAX=FFFFFFFF
                        //(内部会调用 Kernel32!CompareStringA + 0D)
  INC EAX            
  JZ 0456598          //EAX=0 时跳转。                                  【 <==我们改这里!!!】
  MOV BL,01            //若上一行不跳转,则注册码正确。
  CALL YYYYYYYY
  ..
  ..
  ..
  RET                  //去下面两个jmp的下一行
  ..
  ..
  RET                  // 真正的返回。返回 A) CALL XXXXXXXX 处的下一行

C)所以Loader要做以下调整
    目标程序名:TAGRENAME.EXE
    修改的地址:004556a4h         (h 代表十六进制数)
    所作修改  :7402 ==> 9090        (nop的代码是90)
    修改字节数:2             
    从004556a4h起的10个字节为:74,02,B3,01,8B,45,F8,E8,3C,D8
        [Loader.asm]
        CSiR_AppName  db 'TAGRENAME.EXE',0
        mcny          dd 004556a4h      ; address to read data from for version checking
        sizeof        dd 10            ; in the new process
        checkbytes    db 074h,002h,0b3h,001h,08bh  ; the bytes to check for
                      db 045h,0f8h,0e8h,03ch,0d8h  ; if there not there, we have the wrong version??
        patch_data_1  db 90h,90h
        patch_size_1  dd 2
        patch_addr_1  dd 004556a4h
       
附:很有趣的是,TagRename 多个Asprotect的壳,皆无法用目前流行的CASPR0.952 与 RAD0.6 完全脱壳。
    有些版本脱壳后手工修正即可。另一些则只能手工脱壳了 8(
    真是怪哉!怪哉!
~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
笔者      :McNy@Work
网址      :http://mcny.yeah.net  或  http://mcny.iscool.net  (施工缓慢,请见谅。。。)
日期      :2000年12月01日
Email      :mcny_work@yahoo.com
            (邮件主题请以"WANTED:McNycn"开始,注意英文字母大小写,否则我将收不到喔!)
~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
全文结束(若有疏漏,还望大家多多包涵与指正!)

注意:上传附件及图片大小不得大于30M。

⚠️ 版权声明:
本博客所有内容(含教程、源码、工具)仅供个人技术学习与研究交流使用,严禁商用、倒卖、二次分发及非法用途
未经作者书面授权,任何组织或个人不得转载、复制或用于其他平台,违者将追究相关责任。

0 0 0 举报
复制成功