加入我们,或者,欢迎回来。
您需要 登录 才可以下载或查看,没有帐号?注册会员
x
本帖最后由 fux2 于 2014-3-14 12:41 编辑
功能如题,使用范围并不广泛,有需自取
注意仅对最新汉化的RGSS103J.dll生效,大概就是论坛提供下载的版本 ,当然这个名字你可以自己在第一行末尾修改
(懒得从ini读
我这里的dll MD5:23D70D88CAFA21EF836F1B7CE85F6F9B
理论上只要编译姿势一样,即使自己修改过dll,也是可以用的。
将以下代码插入到Main上方。
tempa = Win32API.new ( "kernel32" , "GetModuleHandle" , "p" , "l" ) .call ( "RGSS103J.dll" )
tempb = Win32API.new ( "kernel32" , "RtlMoveMemory" , "lpi" , "v" )
tempc = Win32API.new ( "kernel32" , "VirtualProtect" , "lllp" , "i" )
tempd = 0 .chr * 4
tempe = "\x C7\x 86\x 5C\x 01\x 00\x 00\x 01\x 00\x 00\x 00\x EB\x 0D\x 90"
tempf = "\x 33\x C0\x 40\x 89\x 86\x EC\x 00\x 00\x 00"
tempg = tempa + 0x00002A82
temph = tempa + 0x00015524
if tempa!=0
if tempc.call ( tempg, tempe.size , 0x40, tempd) !=0
tempb.call ( tempg, tempe, tempe.size )
tempc.call ( tempg, tempe.size , tempd.unpack ( "L" ) .first , tempd)
if tempc.call ( temph, tempf.size , 0x40, tempd) !=0
tempb.call ( temph, tempf, tempf.size )
tempc.call ( temph, tempf.size , tempd.unpack ( "L" ) .first , tempd)
end
end
end
tempa = tempb = tempc = tempd = tempe = tempf = tempg =temph = nil
GC .start
tempa = Win32API.new ( "kernel32" , "GetModuleHandle" , "p" , "l" ) .call ( "RGSS103J.dll" )
tempb = Win32API.new ( "kernel32" , "RtlMoveMemory" , "lpi" , "v" )
tempc = Win32API.new ( "kernel32" , "VirtualProtect" , "lllp" , "i" )
tempd = 0 .chr * 4
tempe = "\x C7\x 86\x 5C\x 01\x 00\x 00\x 01\x 00\x 00\x 00\x EB\x 0D\x 90"
tempf = "\x 33\x C0\x 40\x 89\x 86\x EC\x 00\x 00\x 00"
tempg = tempa + 0x00002A82
temph = tempa + 0x00015524
if tempa!=0
if tempc.call ( tempg, tempe.size , 0x40, tempd) !=0
tempb.call ( tempg, tempe, tempe.size )
tempc.call ( tempg, tempe.size , tempd.unpack ( "L" ) .first , tempd)
if tempc.call ( temph, tempf.size , 0x40, tempd) !=0
tempb.call ( temph, tempf, tempf.size )
tempc.call ( temph, tempf.size , tempd.unpack ( "L" ) .first , tempd)
end
end
end
tempa = tempb = tempc = tempd = tempe = tempf = tempg =temph = nil
GC .start