我在网上找到一关于AutoGraphicsHTML的东东,但只能破3.6版,而我的是5.5版,
好像不行,能帮下我吗?先谢个了。
AutoGraphicsHTML5.5下载地址:
http://www.newhua.com/autographicshtml.htm
破AutoGraphicsHTML
工具: softice , 16进制编辑器,如 ultraedit
前言: AutoGraphicsHTML可以把一整个资料夹中的图档通通转换
成GIF、JPEG格式,并且制作小图示一一连结到原来的影像档,
很快的就能制作一个可以展示各种图档的网站来喔! (节录自 todo)
他的保护不是用注册码,也不是用日期限制,而是加上浮水印
让你的小图示出现 Demo version 之类的字, 所以只有修改一途了
这个软体的程度, 比较简单一点.
ok, go!!
(1) 启动AutoGraphicsHTML, 一直往下执行, 等到成品完成之後
会启动浏览器, 打开刚刚做好的 htm 档案, 看一下小图式,
会看到一些很讨厌的字,Demo version 之类的,
我就开始猜了,他会帮你将影像作成小图示,是很不错
但他是如何将自写到小图示里的 ?
是用哪一个 API 呢 ?
我想了一下, drawtexta 或是 drawtextexa 呢 ?
不管,都下好了, 所以进入 softice, 下 bpx drawtexta, bpx drawtextexa
(2) 再启动 AutoGraphicsHTML 一次, 可能有时会被拦下来, 不过不要管他
按 F5, 直到最後一个步骤, 也就是将图形转换时,会有一个 bar 出现
显示目前的进度,对不对 , 在这个地方若被拦住了, 就按F12 回到上一层
你会发现你现在正在 picobj31 里面, 看下方那一条绿色的线的中央有写
会发现 call drawtextexa ,机械码是 FF15D8620110
(3) 所以啦, 用 ULTRAEDIT 开启 picobj31.dll
找 FF15D8620110, 通通改成 909090909090
90 就是 nop, 也就是什麽都不要执行
这样就破了
标 题:新版本用DrawTextA还是可以,不过有更方便的方法 (1千字)
发信人:blowfish
时 间:2001-2-15 11:38:51
详细信息:
反汇编picobj41.dll,看到下面几个含义明显的输出函数。这几个都是C++的类成员函数,函数名均为AddDemoLabel( ),前两个是CImageInterface类的重载函数,后两个是CImageProcessor类的重载函数):
Addr:10003AA0 Ord: 42 (002Ah) Name: ?AddDemoLabel@CImageInterface@@QAEHH@Z
Addr:10003AC0 Ord: 43 (002Bh) Name: ?AddDemoLabel@CImageInterface@@SAHPAUHDC__@@H@Z
Addr:10006D20 Ord: 44 (002Ch) Name: ?AddDemoLabel@CImageProcessor@@SAHPAPAXH@Z
Addr:100068E0 Ord: 45 (002Dh) Name: ?AddDemoLabel@CImageProcessor@@SAHPAUHDC__@@HJJ@Z
再反汇编AutoGraphicsHTML.exe,看它在哪里引用了这些函数,结果在import table里没找到上述函数,说明该exe不是直接调用这些函数的。
在该dll中查找文本串“AddDemoLabel”,发现只有一处是在上述几个函数的函数体之外调用它们的(在CImageSaver类的BeforeSave( )函数中):
Exported fn(): ?BeforeSave@CImageSaver@@QAEHPAPAXHHHHHHHMJUtagRECT@@H@Z - Ord:0030h
:10007B69 8B442410 mov eax, dword ptr [esp+10]
:10007B6D 85C0 test eax, eax
:10007B6F 740B je 10007B7C
:10007B71 6A01 push 00000001
:10007B73 56 push esi
* Reference To: PicObj41.?AddDemoLabel@CImageProcessor@@SAHPAPAXH@Z
|
:10007B74 E8A7F1FFFF call 10006D20
:10007B79 83C408 add esp, 00000008
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:10007B6F(C)
|
:10007B7C 8B442444 mov eax, dword ptr [esp+44]
显然只要把CS:10007B6F处的je改为jmp即可(74改为EB)。
总结:不要使用含义明显的串;程序的保护部分越符合结构化的特点越容易被破掉。