首页
社区
课程
招聘
[原创]巧改Foxit Phantom初始界面为 中文
发表于: 2015-5-13 15:57 17406

[原创]巧改Foxit Phantom初始界面为 中文

2015-5-13 15:57
17406
这款软件能修改PDF源文件,并且用着顺手,于是这个软件就存活下来了
本人使用Shadow Defender的影子保护模式下,

我也懒得重启再保存,尝试下面这个地方

竟然发现是死的
所以有了下面的想法,能否通过程序内部做手术直接调用?

==============================
目录结构如下
==============================
D:\图文处理\电子阅读\FoxitPhanto
├(1)Foxit Phantom.exe
├(2)fpdfcjk.bin
├(3)fpmkey.txt
├(4)fxdecod1.dll
├文件夹1:[lang]
│  ├(1)lang_zh_cn.xml
│  └█
├文件夹2:[lex]
│  ├(1)accent.tlx
│  ├(2)correct.tlx
│  ├(3)ssceam.tlx
│  ├(4)ssceam2.clx
│  ├(5)sscebr.tlx
│  ├(6)sscebr2.clx
│  ├(7)ssceca.tlx
│  ├(8)ssceca2.clx
│  ├(9)tech.tlx
│  ├(10)userdic.tlx
│  └█
├文件夹3:[plugins]
│  ├文件夹1:[OnDemandCM]
│  │  ├文件夹1:[curl]
│  │  │  ├(1)curl.exe
│  │  │  ├(2)libcurl.dll
│  │  │  ├(3)libeay32.dll
│  │  │  ├(4)libssl32.dll
│  │  │  └█
│  │  ├(1)OnDemandPlugin.dll
│  │  └█
│  └█
└█
==============================
显然lang_zh_cn.xml是中文语言
==============================
若把这个文件弄到 源EXE资源文件中就好了,一看不太好搞,故,放弃这种想法
========================
利用Regworkshop来到
HKEY_CURRENT_USER\Software\Foxit Software\Foxit Phantom\LANGUAGE
发现注册表:键值 langid =40807d 是为中文
                                    40801d时为 英文
==================================

所以打开OD字串搜索,langid能找到两处
001F186B  |.  68 0C10B000   push    Foxit_Ph.00B0100C                ;  langid

001F1815  |.  68 0C10B000   push    Foxit_Ph.00B0100C                ;  langid

==================================
全都F2






这样修改之后,果然就直接成中文的了,只是不太明白如何保存出来
还望楼下的高人 指点下
还有 右上角的 寄存器的数值 如何 计算成 自己 想到的数值,我发现我真的不会转换

[注意]看雪招聘,专注安全领域的专业人才平台!

上传的附件:
收藏
免费
支持
分享
最新回复 (12)
雪    币: 16645
活跃值: (1950)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2


             http://pan.baidu.com/s/1hq1pOkW
解饱密码:百度必死
上传的附件:
2015-5-13 16:04
0
雪    币: 292
活跃值: (153)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
3
0.0 虽然多年没用过OD了,但隐约记得  二进制->复制到新的->右键保存所有已修改代码->123.exe

你自个找找吧,话说你连这个保存都不会,就别提修改了。  IDA静态分析完,再动态修改吧,别流程弄乱了。

Shadow Denfender不要用注册表排除,和目录排除,你会后悔的。   把注册表导出来,然后:

新建bat,捆绑在一起就行了。  注册表用的时候点击bat文件,就自动执行了。
regedit /s 123.reg
start 123.exe
2015-5-13 17:52
0
雪    币: 4560
活跃值: (1012)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
4
Win7旗舰版的VHD引导系统功能很好用,可以告别一切还原软件了
2015-5-13 19:17
0
雪    币: 57
活跃值: (1861)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
你修改的代码地址,刚好是程序运行临时申请的,所以,没办法直接保存。不过,可以变通下。先找到分配这段内存的代码,然后,smc获取到的地址+相对偏移,就行了
2015-5-13 22:12
0
雪    币: 16645
活跃值: (1950)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
那个不太会跟,是不是得用硬件断点了? 能大致说说流程么?
2015-5-14 09:27
0
雪    币: 16645
活跃值: (1950)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
你说的那个选项压根就没有,我估计可能改的地方如我楼上所说,没那么简单.


这个早就用上了,只是想提高下汇编水平 和 达成自己的想法而已
2015-5-14 09:29
0
雪    币: 57
活跃值: (1861)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
你这个不是现成的吗。图中,你断下来的地方,eax指向的就是这个地址呀。直接在断下来的位置加几行代码,修改那个字符就行了。
比如
mov byte ptr[eax+9],37
2015-5-14 11:04
0
雪    币: 16645
活跃值: (1950)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
[QUOTE=zbzb;1370629]你这个不是现成的吗。图中,你断下来的地方,eax指向的就是这个地址呀。直接在断下来的位置加几行代码,修改那个字符就行了。
比如
mov byte ptr[eax+9],37[/QUOTE]

00EA180D     /EB 05         jmp     XFoxitPha.00EA1814               ;  是不是这句改呢,我还是未搞成功,唉,笨啊.
00EA180F     |B8 800F9D01   mov     eax, FoxitPha.019D0F80
00EA1814     \50            push    eax
00EA1815  |.  68 0C107B01   push    FoxitPha.017B100C                ;  langid
00EA181A  |.  68 F80F7B01   push    FoxitPha.017B0FF8                ;  LANGUAGE
2015-5-14 12:53
0
雪    币: 57
活跃值: (1861)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
不知道是不是程序一直是可以执行到00EA180D的。如果是,将下面的两句
00EA180D     /EB 05         jmp     XFoxitPha.00EA1814
00EA180F     |B8 800F9D01   mov     eax, FoxitPha.019D0F80
直接改成
mov byte ptr[eax+9],37
是不是就行了
2015-5-14 23:55
0
雪    币: 38195
活跃值: (7465)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
11
还是没有做到,大侠你受累给试一试吧。
2015-11-1 22:03
0
雪    币: 11355
活跃值: (4234)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
12
这个不是有中文版的吗?
2015-11-1 22:22
0
雪    币: 16645
活跃值: (1950)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
不喜欢 有注册表导入行为的,有洁癖,既然学了汇编就要把电脑中的大部分软件全部弄得超级绿色化。
2015-11-17 08:14
0
游客
登录 | 注册 方可回帖
返回

账号登录
验证码登录

忘记密码?
没有账号?立即免费注册