⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 1094.html

📁 著名的linux英雄站点的文档打包
💻 HTML
📖 第 1 页 / 共 5 页
字号:
        0804a0a4  kill <br>
        0804a0b4  ctime <br>
        0804a0c4  fl_get_menu <br>
        0804a0d4  strcat <br>
        0804a0e4  fl_bgn_group <br>
        0804a0f4  fl_set_atclose <br>
        0804a104  chdir <br>
        0804a114  fl_invalidate_fselector_cache <br>
        0804a124  XCreateBitmapFromData <br>
        0804a134  fseek <br>
        0804a144  mktime <br>
        0804a154  fl_show_fselector <br>
        0804a164  __libc_init_first <br>
        0804a174  fl_do_forms <br>
        0804a184  signal <br>
        0804a194  read <br>
        0804a1a4  fl_get_fselector_form <br>
        0804a1b4  fl_set_form_icon <br>
        0804a1c4  fl_set_slider_value <br>
        0804a1d4  fl_set_timer <br>
        0804a1e4  XParseGeometry <br>
        0804a1f4  fl_show_object <br>
        0804a204  strncpy <br>
        0804a214  unlink <br>
        0804a224  strcasecmp <br>
        0804a234  fl_set_form_geometry <br>
        0804a244  fl_get_menu_item_mode <br>
        0804a254  fl_add_input <br>
        0804a264  fl_get_input   &lt;------------------好显眼啊..icon_razz.gif <br>
        0804a274  _IO_getc <br>
        0804a284  fork <br>
        0804a294  sscanf <br>
        0804a2a4  fl_hide_oneliner <br>
        0804a2b4  sigaction <br>
        0804a2c4  fl_set_focus_object <br>
        0804a2d4  strdup <br>
        0804a2e4  gettimeofday <br>
        0804a2f4  fl_add_slider <br>
        0804a304  fopen <br>
        0804a314  memset <br>
        0804a324  ftell <br>
        0804a334  fl_set_menu <br>
        0804a344  fl_get_pattern <br>
        0804a354  fl_set_oneliner_color <br>
        0804a364  fclose <br>
        0804a374  time <br>
        0804a384  fl_add_valslider <br>
        0804a394  fl_set_object_lcol <br>
        0804a3a4  fl_set_object_label <br>
        0804a3b4  fl_set_counter_step <br>
        0804a3c4  fl_library_version <br>
        0804a3d4  fl_show_oneliner <br>
        0804a3e4  sprintf <br>
        0804a3f4  fl_set_border_width <br>
        0804a404  atexit <br>
        0804a414  fl_mapcolor <br>
        0804a424  fl_initialize <br>
        0804a434  fl_set_menu_item_mode <br>
        0804a444  fl_set_input_maxchars <br>
        0804a454  fl_set_browser_fontstyle <br>
        0804a464  fl_get_button <br>
        0804a474  fl_hide_form <br>
        0804a484  fl_set_counter_bounds <br>
        0804a494  fl_set_object_lsize <br>
        0804a4a4  fl_add_checkbutton <br>
        0804a4b4  fl_set_object_callback <br>
        0804a4c4  fl_add_menu <br>
        0804a4d4  fl_use_fselector <br>
        0804a4e4  __errno_location <br>
        0804a4f4  exit <br>
        0804a504  fl_get_filename <br>
        0804a514  __fxstat <br>
        0804a524  fl_add_timer <br>
        0804a534  fl_set_object_resize <br>
        0804a544  open <br>
        0804a554  fl_set_object_lalign <br>
        0804a564  fl_get_directory <br>
        0804a574  fl_show_choice <br>
        0804a584  fl_set_slider_size <br>
        0804a594  fputs <br>
        0804a5a4  execvp <br>
        0804a5b4  fl_get_counter_value <br>
        0804a5c4  close <br>
        0804a5d4  XOpenDisplay <br>
        0804a5e4  free <br>
        0804a604  fl_set_button <br>
        0804a614  _start <br>
        08052e7c  whereError <br>
        080583c0  _fini <br>
   mtv用到了xforms库,fl_xxxx都是这个库里的函数, 其中的哪个fl_get_input是 <br>
这么的显眼, 虽然没有做过xforms的编程,但是可以大胆设想这个东东会不会类似 <br>
windows中的GetDlgItemText(GetDlgItemTextA), 所以不妨试试 <br>
<br>
(gdb)break fl_get_input <br>
Breakpoint 1 at 0x804a264 <br>
(gdb)r <br>
Starting program: /usr/X11R6/bin/mtv <br>
(no debugging symbols found)...Breakpoint 1 at 0x400429e3 <br>
<br>
出现填写注册信息对话框, 我做如下输入 <br>
<br>
Name: I007 <br>
Order number: B123456789 (有editmask,只能一字母后跟字数) <br>
Key: 87654321 (也有editmask) <br>
<br>
按OK键后, mtv果然在断点处停住, 猜得不错. 如果没猜中, 只好慢慢跟踪罗 <br>
(no debugging symbols found)...(no debugging symbols found)... <br>
Breakpoint 1, 0x400429e3 in fl_get_input () <br>
(gdb) <br>
<br>
继续让它运行... <br>
(gdb) c <br>
Continuing. <br>
<br>
Breakpoint 1, 0x400429e3 in fl_get_input () <br>
(gdb) c <br>
Continuing. <br>
<br>
Breakpoint 1, 0x400429e3 in fl_get_input () <br>
(gdb) c <br>
Continuing. <br>
<br>
它连续调用了fl_get_input三次, 正好对应三个输入项, 然后注册信息错误的 <br>
对话框就出现了, 看来是没错了, 现在关键是要看最后一次调用fl_get_input <br>
后的代码,当然看它每次调用fl_get_input后到取回的字串放到了什么地地方 <br>
也很重要.我重新输入一次注册信息,然后让它在三次调用fl_get_input后的 <br>
情况: <br>
(gdb) c <br>
Continuing. <br>
<br>
Breakpoint 1, 0x400429e3 in fl_get_input () <br>
(gdb) bt <br>
#0  0x400429e3 in fl_get_input () <br>
#1  0x804ea96 in _start () <br>
#2  0x4003b5f5 in fl_do_forms () <br>
#3  0x8050a59 in _start () <br>
<br>
这是堆栈中的情况, 看来调用完fl_get_input后应返回到_start中的 <br>
地址0x804ea96处, 我们来看看这段代码 <br>
(gdb) disass 0x804ea96 0x804ffff <br>
Dump of assembler code from 0x804ea96 to 0x804ffff: <br>
0x804ea96 &lt;_start+17538&gt;:       movl   %eax,0x806e584 <br>
0x804ea9b &lt;_start+17543&gt;:       pushl  %eax <br>
0x804ea9c &lt;_start+17544&gt;:       movl   0x806e9d4,%eax <br>
0x804eaa1 &lt;_start+17549&gt;:       movl   0x18(%eax),%ecx <br>
0x804eaa4 &lt;_start+17552&gt;:       pushl  %ecx <br>
0x804eaa5 &lt;_start+17553&gt;:       call   0x804a264 &lt;fl_get_input&gt;  &lt;-第二次 <br>
0x804eaaa &lt;_start+17558&gt;:       movl   %eax,%ebp <br>
0x804eaac &lt;_start+17560&gt;:       movl   0x806e9d4,%eax <br>
0x804eab1 &lt;_start+17565&gt;:       pushl  %eax <br>
0x804eab2 &lt;_start+17566&gt;:       movl   0x10(%eax),%edx <br>
0x804eab5 &lt;_start+17569&gt;:       pushl  %edx <br>
0x804eab6 &lt;_start+17570&gt;:       call   0x804a264 &lt;fl_get_input&gt;  &lt;-第三次 <br>
0x804eabb &lt;_start+17575&gt;:       movl   %eax,%ebx <br>
0x804eabd &lt;_start+17577&gt;:       movl   %ebp,%edx <br>
0x804eabf &lt;_start+17579&gt;:       movl   %ebp,%eax <br>
0x804eac1 &lt;_start+17581&gt;:       addl   $0x18,%esp <br>
0x804eac4 &lt;_start+17584&gt;:       andl   $0x3,%edx <br>
0x804eac7 &lt;_start+17587&gt;:       je     0x804eadf &lt;_start+17611&gt; <br>
0x804eac9 &lt;_start+17589&gt;:       jp     0x804eada &lt;_start+17606&gt; <br>
0x804eacb &lt;_start+17591&gt;:       cmpl   $0x2,%edx <br>
0x804eace &lt;_start+17594&gt;:       je     0x804ead5 &lt;_start+17601&gt; <br>
0x804ead0 &lt;_start+17596&gt;:       cmpb   %dh,(%eax) <br>
.... <br>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -