SlickEdit 2011
看了一下, 跟以前的版本确实有所不同了, 并且32位和64位版本是分开的,不像前两年只有32位版本,不过我记得似乎更早以前Linux也有过64位版本的
Windows 32位版本 修改方法如下
0x40E77A 处 mov al, bl 改为 mov al, 1
也就是 文件slickedit/win/vs.exe 偏移 0xDB7A 处的 8A C3 改为 B0 01
Linux 64位版本 修改方法 如下
0x41A65C 处 mov eax, ebx 改成 mov al, 1
也就是 文件 slickedit/bin/vs 偏移 0x 1A65C 处 89 D8 改为 B0 01
Linux 32
0x8061AE0 处 movzx eax, [ebp+var_29] 改为mov al, 1
也就是 文件slickedit/bin/vs 偏移 0x19AE0 处 0F B6 45 D7( 83 C4 4C 5B 5E 5F 5D C3 8B 75 C4 C6) 改为 B0 01 90 90
$ md5sum -b vs
ced6ff40edf000cd8043fcdb5f32dcb5 *vs
$ sha1sum -b vs
5a16916328ccb2d16cc3b8a448c520379c42e5d2 *vs
Windows 64位版本 因为在Windows 7在Virtualbox里运行很差, 没时间切换到另外一个硬盘上安装的Win7上去, 且不知道为什么AMD的CPU,Gigabyte的主板跑Win7 启动非常慢(有没有人可以告诉我是什么原因), 所以我没有实际测试过,但是在Windows XP 32bit上用
msiexec /a se_16000006_win64_full.msi /qb TARGETDIR=”E:\zhiwei”
解压缩到了 E:\zhiwei\\SlickEditV16.0.0×64\win 目录下,用IDA 64分析了一下, 可尝试做修改:
0x14000FFAA 处 movzx eax, dil 改成 mov al, 1
也就是 文件vs.exe 偏移 0xF3AA 处 40 0F B6 C7 (48 8B 5C 24 50 48 8B 6C 24 60 48 8B 74 24 68)改成 B0 01 90 90
验证通过的, 留言说明一下
Mac OS X的版本,等我有空玩我的MacBook Pro时再看.
2011-5-14 更新
其实我也没在Mac Book Pro上安装, 就是 在Linux系统下挂载Mac OS X的dmg安装文件
0×17084 mov eax, [ebp+var_30] 改成 mov al, 1
也就是 文件偏移0×1675084 处 8B 45 D0 (83 C4 40 5B 5E 5D C3 55 89 E5 53 83 EC 14) 改成 B0 01 90
….
顺便说下 我怎么得到 mov al, 1 的机器码的
写个C的Hello,World程序
#include
int main()
{
puts(“Hello,World.\n”);
return 1;
}
然后转成汇编
gcc -masm=intel -S hello.c
就会生成一个hello.s的汇编源程序, 然后根据需要添加指令到合适的地方, 编译成二进制文件,在用IDA打开就可以看到对应的机器码
2011-7-20 更新
Leo 留言说, slickedit 发布了 16.0.1.0
看了一下, 修改方法类似
Linux 64位版本 修改方法 如下
0x41ACCC处 mov eax, ebx 改成 mov al, 1
也就是 文件 slickedit/bin/vs 偏移 0x 1ACCC 处 89 D8 改为 B0 01
Windows 32位版本 修改方法如下
0x40E40A 处 mov al, bl 改为 mov al, 1
也就是 文件slickedit/win/vs.exe 偏移 0xD80A 处的 8A C3 改为 B0 01
我只在这两个平台上使用slickedit
2011-8-18 更新
这次16.0.2.0 的binary文件没有更新,只是slick c有更新, 所有修改方法同 16.0.1.0
2011-12-31 更新
今天不更新,就只有等SlickEdit 2012出来了,那时候都在船上了吧;-)
16.0.3的修改,请参考同学们在后面的回复,我这里就不重复了
我要说的时SlickEdit Mac Native版本, 昨天就收到endial同学的邮件了,但一直没有时间看, 今天晚上才有空
调试方法 参考 IDA6.1远程调试Mac OS X程序
2EBE0 处 mov eax, esi 改为 mov al,1
也就是 文件 /Applicatinos/SlickEdit2011Beta5.app/Contents/MacOS/vs 的偏移0x2DBE0 处 (E8 D0 B9 FE FF)89 F0 (83 C4) 改为 B0 01
这是x86版本,好像也没有x64的版本