论坛风格切换切换到宽版
  • 5456阅读
  • 8回复

能否具体一点告诉我Patch Maker和Install Maker Pro生成程序 [复制链接]

上一主题 下一主题
离线雷骏
 

发帖
1127
金钱
820
威望
82
只看楼主 倒序阅读 0 发表于: 2002-09-07
用户被禁言,该主题自动屏蔽!
离线炎之川
发帖
5195
金钱
0
威望
0
只看该作者 1 发表于: 2002-09-07
去看我写的那么讲createfonta的文章即可
离线炎之川
发帖
5195
金钱
0
威望
0
只看该作者 2 发表于: 2002-09-07
在这里: http://bbs.hanzify.org/bbs/cgi-bin/topic.c...ic=1529&show=40
同时希望梁利锋老师指点:)
离线雷骏

发帖
1127
金钱
820
威望
82
只看该作者 3 发表于: 2002-09-07
用户被禁言,该主题自动屏蔽!
离线梁利锋
发帖
291
金钱
0
威望
0
只看该作者 4 发表于: 2002-09-07
To 炎之川:
文章很好。
不过其中“我们可以终结出常规的”应该是“总结出”吧?另外“自动字体设置”是不会“很容易引起堆栈不平衡”的。
但是还是推荐大家都能懂一点字体修改的知识,毕竟“自动字体设置”并不会总是修正了所有的字体问题,即使它能,也还存在 DLL 中的字体问题无法使用“自动字体设置”的现实。
点睛工作室: http://llf.hanzify.org
离线炎之川
发帖
5195
金钱
0
威望
0
只看该作者 5 发表于: 2002-09-08
>不过其中“我们可以终结出常规的”应该是“总结出”吧?
汗...b
看到错别字忽略即可,拼音输入嘛

>另外“自动字体设置”是不会“很容易引起堆栈不平衡”的。

我是这样想的,不知道有没有错。
比如createfonta,它的一些参数可能不是压具体的数值进去,而是压了esi之类的寄存器,然后按自动字体设置工具的模式,在调用原createfonta的地方,强制转到我们加入的lohfont,然后再调回原调用处之后继续运行,那么这些原来应该压入堆栈的东西在下面总要被释放吧,我们跳过了原始的函数结构,下面释放的时候可能就会出错了。
其实有点想当然,我也是一知半解,
离线梁利锋
发帖
291
金钱
0
威望
0
只看该作者 6 发表于: 2002-09-08
To 炎之川:
堆栈确实是个问题,不过这是一个必须解决的问题,否则,任何经过“自动字体设置”调整的程序都必然会出错。换句话说,在“自动字体设置”中已经解决了你说的这个问题了。如果你所说的“压了esi之类的寄存器”是指程序在函数调用之后会使用这些值的话,“自动字体设置”不会对之产生任何影响。其实任何的堆栈不平衡都几乎都会导致程序出错,只要程序不出错,我们也就知道没问题。
“自动字体设置”第一版修改 CreateFontA 的时候可能会出错,不过正像我在“软件说明”中所说,这是因为没有恢复 ebx、ecx 寄存器造成的,与堆栈无关。(第二版已修正此问题)
正像你所说,“自动字体设置”并不能解决所有问题,不过我倒是希望你写一下结合使用“自动字体设置”和反汇编的方法修改字体的文章。比如你所说最后的那个 CreateFontA 调用,使用的是“call ebp”,如果向上找应该能找到类似 mov ebp, xxxxxxxx 之类的语句吧?只要把 xxxxxxxx 改成 400390 或 400394 就可以了。
BTW:你的这一篇文章想必进了(或要进)精华和世纪教学的吧?少一些错别字可是会显得更专业哦。
点睛工作室: http://llf.hanzify.org
离线炎之川
发帖
5195
金钱
0
威望
0
只看该作者 7 发表于: 2002-09-08
呵呵……看来我真是半瓶水啊^^
能否制作fontkey的for NT/2000/XP 版本?现在基本上不用98了。。。
离线梁利锋
发帖
291
金钱
0
威望
0
只看该作者 8 发表于: 2002-09-09
关于 FontKey 的问题,现在懒得去看原来的代码了,不过……
点睛工作室: http://llf.hanzify.org