SlickEdit 2011

Leo 告诉我 SlickEdit 2011 (16.0.0) 发布了

看了一下, 跟以前的版本确实有所不同了, 并且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:zhiweiSlickEditV16.0.0x64win 目录下,用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安装文件

 

0x17084           mov     eax, [ebp+var_30]  改成 mov al, 1

也就是 文件偏移0x1675084 处  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的版本

SlickEdit 2011》上有93条评论

  1. pingf

    @zhiwei
    能讲下怎么找到这一块的么?(思路方面)
    我刚用ida看了下,反编出来的好像跟原来的都不在一个graph里.

    回复
    1. zhiwei 文章作者

      缓存目录权限有问题, 首页一直都没刷新,你们怎么找到这个页面的?

      如何找到slickedit检查licednse流程思路很难一句话说清楚
      大致就是 检查license文件

      在调用 vsSubcription得到license type之前, 会通过一个函数来验证license(网络或者本地文件) 是否合法,并通过vsSubscriptionSet来设置license type

      回复
  2. zhuizhuhaomeng

    linux 32bit
    也就是 文件vx 偏移 0x19AF0 处 0F B6 45 D7( 83 C4 4C 5B 5E 5F 5D C3 8B 75 C4 C6) 改为 B0 01 90 90
    0x19AF0 这个位置不对啊,我的是稍微往后一点才是0FB645D7,但是修改为B0019090后还是需要licence

    回复
  3. zhiwei 文章作者

    zhuizhuhaomeng 改错了地方
    实际上应该是 0x19AE0 处

    你改的0x19AF0 处往后一点,就是0x19AF9 处, 这里恰好有一个40 0F B6 C7
    但是后面没有加跟 (48 8B 5C 24 50 48 8B 6C 24 60 48 8B 74 24 68)

    我括里里注明 后面跟随的机器码就是这个目的,就是怕看走眼了…

    回复
  4. guokw

    你好,李老师请问,在linux下阅读源代码,slickedit不知道怎么样?比source insight怎么样??

    回复
    1. zhiwei 文章作者

      我用过slickedit之后,再也没用过 source insight
      我把slickedit就是当成一个源代码阅读器, linux没有好的开源替代品,不然何苦要破解
      对c, c++, python, java等的tag都很好
      对编程世界的小语种,如haskell之类的, 提供语法高亮, 基本的 tag功能

      回复
    1. zhiwei 文章作者

      @guokw
      我现在用Bless is a Hex Editor for Gtk# , 以前用gHex

      你也可以把程序放到windows 系统中用ultraedit, hexedit等修改好了,再放回linux啊

      回复
  5. guokw

    谢谢李老师,我在linux的源中直接安装了ultraedit ,修改了之后,又将ultraedit删了

    ultraedit有了linux版本了

    回复
  6. zhiwei 文章作者

    IDA现在有Hex-Rays.IDA.Pro.Advanced.v6.1.Windows.incl.Hex-Rays.x86.Decompiler.v1.5.READ.NFO-RDW了
    比前一段时间泄漏出来的那个版本全,能分析64位程序

    回复
  7. 小马过河

    报告:win64 slickedit 16.0.1.0 文件vs.exe 偏移 0xF0E0 处 40 0F B6 C7 改成 B0 01 90 90
    貌似成功,目前没发现恶果。

    回复
  8. RAY

    16.0.2.0的win64版修改位置在vs.exe的0xF0EB处,将40 0F B6 C7 改成 B0 01 90 90,确实和16.0.1.0不一样了

    回复
    1. zhiwei 文章作者

      1)程序在SlickEdit官方网站有下载, 旧版的可以在各大下载站找到
      2)程序很大 ,用邮件发送,非常不容易

      另外,有人留言发布了16.0.3 linux 32的修改方法

      SlickEdit 16.0.3 linux 32bit
      offset: 0x190EC
      0F B6 45 D7( 83 C4 4C 5B 5E 5F 5D C3 8B 75 C4 C6)改为 B0 01 90 90

      但他又接着留言说, 不想留下记录, 所以我帮他删掉了

      回复
  9. jejer

    version: linux 32bit 16.0.3.0
    slickedit/bin/vs 偏移 0x190F0 处 0F B6 45 D7( 83 C4 4C 5B 5E 5F 5D C3 8B 75 C4 C6) 改为 B0 01 90 90

    回复
  10. gators

    试图改MAC的。 还是不太明白。 我懂汇编。 但不懂NOT FOR RESALE和改的CODE的关系。 我看了WIN32 的CODE和改的地方。 感到RESALE是帮找到SERIAL(LICENSE)。 觉得WIN32是懂了, 若有新版也应能改。 但MAC得不一样。 不知ZHIWEI能否指点一下? 多谢!

    回复
  11. boern

    win7 64bit 环境下有没有人成功破解SlickEdit 2011 x64 (16.0.3),参考了上面的很多方法始终没有成功,哪位兄弟成功了,请赐教!

    回复
  12. Bloody Fool

    MAC 2011 beta 的改法找了好久…都理不出個頭緒來 麻煩zhiwei大指點一下如何找到正確位置吧…頭都暈了@@ 感恩阿~~

    回复
  13. endial

    同求MAC 2011 beta(16.0.3.0)的修改方法啊,有哪位大侠可以指点一下么?
    PS:使用X11下的,很不爽啊。

    回复
  14. endial

    试了一下,mac 16.0.3.0的修改方法类似16.0.1的修改方法,修改以下位置:

    也就是 文件偏移0×1758e8a 处 8B 45 D0 (83 C4 40 5B 5E 5D C3 55 89 E5 53 83 EC 14) 改成 B0 01 90

    回复
  15. Bloody Fool

    可是我在Contents/MacOS/vs這個檔案的Hex內容裡找不到0x1758e8a這麼大的偏移位置耶,檔案顯示最多只到0x1540397@@…怎麼會這樣呢? 而且也找不到83 C4 40 5B 5E 5D C3 55 89 E5 53 83 EC 14,請問你們是用什麼軟體分析的呢? 請指點一下~

    回复
  16. Bloody Fool

    在Mac上可以試試看0xED這個軟體,不過我在Windows的UltraEdit和PSPad上都試過了耶…是不是我根本找錯檔案了?…因為SlickEdit等軟體中 2011Beta5/Contents/MacOS/vs這個Unix執行檔的內容看起來沒那麼多資料(0x1758e8a)也找不到那串對應的資料呀^^” 點解!!??

    回复
  17. Bloody Fool

    在這裡www.slickedit.com/products/slickedit-for-mac
    這是Native的版本…比起X11的版本 用起來還不錯….至少scroll不會停不了@@

    回复
  18. endial

    前面的修改都是x11版本的,我也在等着Native版本的修改出来啊。还要哪位高手破解一下Native版本的啊。

    ps:Native版本的确实比x11版本的感觉好点,至少不用那么郁闷中文的输入喽。

    回复
  19. zhiwei 文章作者

    endial或者BF;-)
    能把native 版本的 下载地址和license发送到 我的email吗?

    或者把文件名告诉我,我猜一下下载地址;-)

    回复
  20. endial

    呵呵,给你发了相应的下载地址及License文件,邮件标题为:
    MAC Slickedit Native版本下载地址及License文件

    查收一下吧。

    垃圾邮件。。。。我的一个邮箱都因为垃圾邮件放弃使用了。理解理解。

    回复
  21. pqf

    0F B6 45 D7( 83 C4 4C 5B 5E 5F 5D C3 8B 75 C4 C6)
    我能用vim用16进制打开并找到 83 C4 4C 5B 5E 5F 5D C3 8B 75 C4 C6, 不过我有些不知道怎么看到这个对应的0F B6 45 D7和怎么修改它。求赐教

    回复
  22. bzhu

    你好啊,请问 slickedit 16.0.3 linux_64的怎么破解啊,看了你这个好多次了,就是没弄成功。。。帮我看看可以吗?谢谢了!

    回复
  23. zhiwei 文章作者

    bzhu 你要是真看了好多次就不会提这个问题了
    因为前面有同学回复了 16.0.3 linux x64的修改方法,你自己不去留意,还在这里问东问西
    鄙视你们这些只会要求别人的人

    pqf 也该被鄙视,前面也有人说了最好不用vim改。你们连vim的普通模式都用不熟悉,还会二进制模式?

    回复这个帖子纯属浪费我的时间。以后 再有人提这种不经过大脑的问题,不会再回复了

    回复
  24. endial

    元宵过去了,年算过完了,新年新开始啊。

    呵呵,恭喜发财啊。

    盼望着你针对Native版本的出刀啊。。。

    回复
    1. zhiwei 文章作者

      http://www.slickedit.com/assets/trial/se_16010009_mac.dmg
      修改方法一样
      将 checkoutLicense(bool) 的返回值,改为1 即可

      它会调用 getLicenseProperties(void)来获取 License 的属性,序列号,零售版/企业网络版,有效日期等

      就是
      0002E990 mov eax, esi
      改成 move al, 1

      文件
      /Applicatinos/SlickEdit2011.app
      /Contents/MacOS/vs
      偏移0x2D990 处 (89 3C 24 E8 D0 BC FE FF) 89 F0 (83 C4 6C 5B 5E 5F) 改为 B0 01
      也是只需要修改两个字节

      回复
  25. zxg

    se_16000300_linux64破解成功,配置gdb时报错,请高手指点!!!
    需要使用slickedit的远程调试功能,配置Debugging->Configurations,增加arm-none-linux-guneabi-gdb时报错‘The required version is GDB5.1 or greater’。
    我之前使用的所有Slickedit版本,在ubuntu32位系统下,均未出现过问题。

    回复
  26. zxg

    问题已解决。原因是,我使用的交叉编译器是32位,宿主机是64位,虽然安装了libc6-i386,终端下运行arm-none-linux-guneabi-gdb仍会提示libncurses.so.5找不到,或者格式为ELF64。解决办法,一是安装libncurses.so.5,而是直接使用64为交叉编译器。

    回复
  27. endial

    非常感谢啊,终于不用beta版的了。

    想学习反汇编,不知道Zhiwei有没有什么比较好的建议?

    回复
    1. zhiwei 文章作者

      自己写个小程序
      用IDA反汇编了慢慢看
      不懂的指令 查 汇编语言程序设计的教科书 和 相关CPU厂家(比如intel, arm, ibm)的 系统程序员手册

      回复
  28. zhiwei 文章作者

    Win32

    04118CC mov al, bl 改成 mov al, 1
    (4C 24 10 C7 44 24 1C FF FF FF FF E8 FA 4F 00 00) 8A C3 ( 8B 4C 24 14 64 89 0D 00 00 00 00 59 5F 5E) 改为 B0 01

    Linux64
    04759CC mov eax, ebx 改成 mov al, 1
    (C4 18 )89 D8 (5B 5D 41 5C 41 5D 41 5E 41 5F C3 31 DB) 改为 B0 01

    回复
  29. endial

    我试了一下,查找的结果应当是
    0001AEF0 mov eax, esi 改成 mov al, 1
    (89 3C 24 E8 D0 34 BA 00) 89 F0 (83 C4 6C 5B 5E 5F C9 C3 FF 45 D0 8B 45 D4) 改为 B0 01

    可实际结果好像是改完了不起作用.找错地方了?

    回复

发表评论

电子邮件地址不会被公开。 必填项已用*标注