折腾一夜,终于在早晨成功在hg522-c上搞顶脱机bt和电驴
(deyi:上图
半个月钱花100块买的猫,在chinadsl上潜水了半个月,学到不少东西
(daxiao:
简单过程分享一下,大家别见笑
1.破解猫(大家都会)
2.提取配置文件到usb设备(大家都会)
3.配置文件解密,参考的论坛一个兄弟的算法,我是用的c#写的一个小程序,原理很简单
4.修改配置文件把telnet和ftp enable="1"
5.加密保存为配置文件
6.usb恢复
7.参考https://www.chinadsl.net/viewthread.php?tid=39182&page=1&authorid=166775这个贴子
因为h608b和hg522-c硬件基本一样,哈哈
7.telnet >>atp>>start >> cd /mnt/usb.......
8../startml
9.成功
10.十全十美
写的比较笼统,有些cfg可以根据个人使用习惯
困死了,写的简单,乱七八糟,回头再来详细写,睡觉了88 (daxiao:
这个猫还是蛮强大的,就是个基于arm cpu的linux,唯一可惜的就是内存太小
不知道哪为大大能不能加内存(wen:
睡啦,88,我爱chinadsl 呵呵,楼主牛啊,希望能放出mldonkey的完整下载包,我用6358的db120来试试看 能否完善提供下 配置文件解密 的那个软件。。或相关链接?
另外个人还是喜欢BCM架构的,目前刷OPENWRT 当无线路由还是很强大的 很强大。希望更详细的过程。 本帖最后由 lovex 于 2010-3-20 23:28 编辑
我希望他能安装Samba 当无线硬盘使,但是没有看到相应的教程!!
而且还希望能够识别NTFS文件系统,
我主要是不知道HG522-C的系统是什么系统,简介版的Linux吗?还是BusyBox ? 回复 4# tiansha200
加密解密很简单
加密: 字符串里的每个char的ascii码乘2后如果不大于127,那么就保存为该数值的char,如果大于127那么就乘2后减去127保存
解密: 对加密字符串里的每个char循环判断,如果能整除2,那么就直接除2,如果不能,那么就加上127后再除2 我希望他能安装Samba 当无线硬盘使,但是没有看到相应的教程!!
而且还希望能够识别NTFS文件系统,
我 ...
lovex 发表于 2010-3-20 23:26 https://www.chinadsl.net/images/common/back.gif
1. 是busybox
2. samba方案请参考http://www.linuxany.com/archives/1201.html 回复 6# lovex
2010-02-15ARM
ARM embed nmbd samba smbd smbpasswd
23
[原创]移植常用软件到ARM平台之samba2
1.平台环境:
ARM1026EJ-Sid(wb)B rev 2 (v5l)
2.移植软件:
samba2(下载:samba2.2.12)
3.移植目标:
能在目标平台上正常以后台进程方式运行
能正常输出日志,便于查错(日常运行时关闭)
能提供基于用户的认证功能
4.移植说明:
因samba3较大,相对samba2也只是提供了对域控的支持,一般情况下用不到,所以选择了samba2的最后一个版本。
最终生成的配置文件位置由./configure –prefix=/xx/xx决定,需特别注意,否则将导致进程无法加载。
另外如用windows访问共享时出现无权访问的问题,请注销或重启再访问即可解决问题。
具体移植步骤:
1.解压源码
2.进入源码目录:
1. cd samba-2.2.12/source
3.修改源码:
(1)在include/config.h文件里最后面增加:
1. #define USE_SETEUID 1
(2)修改lib/util_unistr.c第739、762行为:
1. return True;
(3)在passdb/pdb_tdb.c第44行开始添加如下代码:
1. #define PWD_BUFFER_SIZE 256
2. char bb_path_passwd_file[]="/etc/passwd" ;
3. struct passwd *__getpwent(int pwd_fd)
4. {
5. static char line_buff;
6. static struct passwd passwd;
7. char *field_begin;
8. char *endptr;
9. char *gid_ptr=NULL;
10. char *uid_ptr=NULL;
11. int line_len;
12. int i;
13.
14. restart:
15. if ((line_len = read(pwd_fd, line_buff, PWD_BUFFER_SIZE)) <= 0)
16. return NULL;
17. field_begin = strchr(line_buff, '\n');
18. if (field_begin != NULL)
19. lseek(pwd_fd, (long) (1 + field_begin - (line_buff + line_len)),SEEK_CUR);
20. else
21. {
22. do
23. {
24. if ((line_len = read(pwd_fd, line_buff, PWD_BUFFER_SIZE)) <= 0)
25. return NULL;
26. } while (!(field_begin = strchr(line_buff, '\n')));
27. lseek(pwd_fd, (long) (field_begin - line_buff) - line_len + 1,SEEK_CUR);
28. goto restart;
29. }
30. if (*line_buff == '#' || *line_buff == ' ' || *line_buff == '\n' ||*line_buff =='\t')
31. goto restart;
32. *field_begin = '\0';
33. field_begin = line_buff;
34. for (i = 0; i < 7; i++)
35. {
36. switch (i)
37. {
38. case 0:
39. passwd.pw_name = field_begin;
40. break;
41. case 1:
42. passwd.pw_passwd = field_begin;
43. break;
44. case 2:
45. uid_ptr = field_begin;
46. break;
47. case 3:
48. gid_ptr = field_begin;
49. break;
50. case 4:
51. passwd.pw_gecos = field_begin;
52. break;
53. case 5:
54. passwd.pw_dir = field_begin;
55. break;
56. case 6:
57. passwd.pw_shell = field_begin;
58. break;
59. }
60. if (i < 6)
61. {
62. field_begin = strchr(field_begin, ':');
63. *field_begin++ = '\0';
64. }
65. }
66. passwd.pw_gid = (gid_t) strtoul(gid_ptr, &endptr, 10);
67. if (*endptr != '\0')
68. passwd.pw_uid = (uid_t) strtoul(uid_ptr, &endptr, 10);
69. if (*endptr != '\0')
70. goto restart;
71. return &passwd;
72. }
73. struct passwd *getpwnam(const char *name)
74. {
75. int passwd_fd;
76. struct passwd *passwd;
77. if (name == NULL)
78. {
79. errno = EINVAL;
80. return NULL;
81. }
82. if ((passwd_fd = open(bb_path_passwd_file, O_RDONLY)) < 0)
83. return NULL;
84. while ((passwd = __getpwent(passwd_fd)) != NULL)
85. if (!strcmp(passwd->pw_name, name))
86. {
87. close(passwd_fd);
88. return passwd;
89. }
90. close(passwd_fd);
91. return NULL;
92. }
93. struct passwd *getpwuid(uid_t uid)
94. {
95. int passwd_fd;
96. struct passwd *passwd;
97. if ((passwd_fd = open("/etc/passwd", O_RDONLY)) < 0)
98. return NULL;
99. while ((passwd = __getpwent(passwd_fd)) != NULL)
100. if (passwd->pw_uid == uid) {
101. close(passwd_fd);
102. return passwd;
103. }
104. close(passwd_fd);
105. return NULL;
106. }
107. int setgroups(size_t size, const gid_t * list)
108. {
109. return 0;
110. }
4.编译源码
(1)设置环境变量:
1. export CC=arm-linux-gcc-4.2.4
2. export LDFLAGS='-L/usr/local/arm-linux/lib'
3. export CFLAGS='-O3 -s -static -I/usr/local/arm-linux/include'
(2)编译
1. ./configure --prefix=/mnt/usb1_1/samba/ --host=arm-linux
2. make
3. make install
5.软件移植
(1)复制下列文件及目录
1. /mnt/usb1_1/samba
2. /mnt/usb1_1/samba/bin
3. /mnt/usb1_1/samba/var
4. /mnt/usb1_1/samba/private
5. /mnt/usb1_1/samba/lib
(2)使用方法
I.添加用户名及设置密码
1. adduser linuxany
2. bin/smbpasswd -a linuxany
3. bin/smbpasswd linuxany linuxany.com
4. (说明:linuxany为用户名,linuxany.com为密码)
II.启动samba服务
1. sbin/nmbd -D
2. sbin/smbd -D 这猫性能太烂了。。