【文章一的小小补充(仅供初学者)】
【文章一的小小补充(仅供初学者)】========================================================================================
软件 :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"开始,注意英文字母大小写,否则我将收不到喔!)
~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
全文结束(若有疏漏,还望大家多多包涵与指正!)
