- 博客(446)
- 资源 (1)
- 收藏
- 关注
原创 Windows 端口重映射
进入 Windows 防火墙设置: 在控制面板中,选择 系统和安全,然后选择 Windows Defender 防火墙。创建新的入站规则: 在右侧窗口中,点击 入站规则,然后在右侧面板点击 新建规则。选择端口类型: 选择 特定本地端口,然后输入要打开的端口号(例如,12345)。选择连接的配置: 可以选择 公共、专用 或 域,具体根据你的网络设置选择。配置规则属性: 在向导中选择 端口 选项,然后点击 下一步。选择允许连接: 选择 允许连接,然后点击 下一步。完成向导: 检查配置,然后点击 完成。
2025-03-23 13:34:04
254
原创 一次Linux下 .net 调试经历
我甚至认为这个api收到了 .net 的路径影响,因为linux调用 .net 形如 dotnet ./MyApp.dll 这个api在查找ini时用的是 dotnet 的路径,而显示的时候用的是dll的路径。所以我们回过头,再去看之前的错误,我们认为我们一直在调用init函数,其实调用的是 setCallback(*pCallback) 函数, 我们以为传入的是字符串,但是api认为你传入的是pCallback, 而且最。但是,Linux的反汇编已经说了, init 的位置是 第4个函数!
2025-03-16 19:41:21
800
原创 如何确定虚函数在虚函数表中的位置3 (Linux x64版本)
我们看到第一个函数setCallback 的 Offset 为 17, 下一个函数init的Offset为 25, 就是 17 + 8。首先,gcc没有用thunk, 直接调用虚函数,所以,我们在windows中读取thunk的函数。之前2篇Blog说明了如何在Windows下确定虚函数在虚函数表中的位置。但是有一点需要注意,获得的Offset不要直接使用,而是确定虚函数的次序。用在Linux环境下,直接就是一个 Offset , 非常方便!其实真正的第一个函数是类的析构函数,他的Offset为 9。
2025-02-22 12:50:09
234
原创 如何确定虚函数在虚函数表中的位置2 (Windows x64版本)
之前写了一篇blog,描述 Windows 在x86 下,如何确定Virtual Function在Table中的位置。我们第一步要获得这个thunk的地址,用伪代码就是: &Class::vfn_name。当然,我们为了获取所有地址,需要每一个函数都写一个这样的FunctionPointer。后来我在咨询deepseek的时候,他偶尔提了一嘴,说可以用Union的方法。我们发现他的逻辑和x86是一模一样的,只是指令变为了x64的版本。没有写x64的情况,主要原因是x64不支持内联汇编。
2025-02-22 12:34:26
258
原创 MongoDb user自定义 role 添加 action(collStats, EstimateDocumentCount)
MongoDb 自定义 role 添加 action
2025-01-31 17:59:41
510
原创 git 转移文件夹
使用 git mv 命令移动文件夹:git mv 是一个方便的命令,用于在 Git 控制下移动或重命名文件或文件夹。这个命令同时更新了索引文件,准备提交这次变动。注意 我在使用时 new_location 是绝对路径, 把 forder1这个目录 转移到 new_location的目录下。打开终端或命令行界面:首先,确保你的电脑上安装了 Git,并打开终端或命令行界面。导航到你的仓库目录:使用 cd 命令来切换到包含你想要移动文件夹的仓库的目录。
2025-01-10 23:50:38
545
原创 Devexpress WinForm YAxis 如何设置Min,Max与实际显示一致
重要的是SideMarginsValue要设为0, 否则AxisY 的 MinValueInternal 与 MaxValueInternal 都会与你设置的 MinValue,MaxValue 要更“大”一点,因为Devexpress默认会计算出 SideMarginsValue, 使得图像不要“顶天立地”
2024-11-09 21:49:21
174
原创 CentOS 安装 MongoDb, 防火墙开放端口, 以及修改默认端口
2.修改 /etc/mongod.conf 这个配置文件。P.S 似乎可以通过reload来实现,我没有尝试。改为了0.0.0.0适配所有ip。也可以单独查看某个端口是否放开。0.确定服务器是Centos。7.查询防火墙放开的端口列表。9.关闭防火墙,重启防火墙。
2024-10-26 23:34:40
460
转载 Linux系统查看文件夹大小,按照从大到小排列
h选项用于以人类可读的格式显示文件夹大小(例如,使用KB,MB,GB等单位)。-s选项用于显示文件夹的总大小,而不显示其子文件夹的详细信息。-h选项用于人类可读的排序,以便正确地处理文件夹大小的单位。du命令用于估算文件或文件夹的磁盘使用情况。-r选项用于反向排序,即从大到小排列。*通配符表示当前目录下的所有文件夹。sort命令用于排序输出结果。
2024-10-09 12:34:30
137
原创 C# 设置窗体最大化,以及窗体最大化时的坐标
注意WndProc中在处理WM_GETMINMAXINFO后,可以继续运行 base.WndProc(ref m)不会影响,可能系统默认不修改其中的内容。
2024-04-23 20:29:02
666
原创 Linux bash 与 命令行 查找进程的不同
必须使用 GL2ServerConsole.dll 来过滤#不能使用 GL2ServerConsole#在命令行模式下一样。
2024-04-16 21:59:37
585
原创 如何确定虚函数在虚函数表中的位置1 (Windows x86版本)
在底层汇编中, 我们知道, a_reqCreditDetail 这个函数指针指向的是一个thunk代码块( 这个代码块只有1条jmp语句)我需要用c#调用 c++ 的 类的函数, 虽然可以通过头文件的顺序,但是如果可以打印出虚函数在虚表中的Offset更好。需要指出的一点是 jmp dword ptr [eax + x] 对应的语句分别是。我们则需要得到这个 x 的值, 他就表示虚函数在虚函数表中byte的offset。这里ecx指向的就是类, 也是类的虚函数表。我只能用如下的语句实现。
2024-04-05 19:05:59
469
原创 MongoDb 删除用户,创建全局只读账户(使用自定义role, 对role创建 actions)
使用 mongosh 默认是 127.0.0.1:27017 否则用 --port 27016 --host 127.0.0.2。同样,如果正确 mongosh 将返回 { ok: 1 }如果正确, mongosh将返回 { ok: 1 }2.进入需要删除用户的Db。
2024-02-22 01:59:18
1990
原创 再利用系统盘时,如何删除恢复分区(Recovery Partition)
系统盘有一个Recovery Partition,记录了重要的系统信息,不能删除。delete partition override // 删除选定的分区,使用override选项会无视警告直接删除。select disk X 时一定要再三确认X是你的数据盘,不要选到了系统盘的序号,那样就game over了。select disk X // 将X替换为包含恢复分区的磁盘编号。select partition Y // 将Y替换为恢复分区的编号。下面的图片和信息均来自这篇文章。
2024-02-12 16:13:26
2257
原创 MongoDb 安装
mongodb 7.0.3 bin目录下有vc_redist.x64.exe,如果安装服务失败,先运行这个vc_redist。关闭服务,修改config文件 authorization: enabled。注意 mongo.config 文件要写好。接着安装 mongosh。
2023-11-28 01:35:46
752
转载 Visual Studio 2022 启动后闪退解决办法
然后重新启动VisualStudio2022, 一段时间后,里会发现文件夹中又长出了 VisualStudio 这个文件夹。把他名字改掉,例如改成 VisualStudio2。里面有一个文件夹叫 VisualStudio。
2023-11-24 10:40:00
7241
8
原创 WPF 添加Image对象,Design显示,实际运行不显示
问题是这个图像文件 test.jpg 需要右键->属性->Build = None 改为 Build=Resource。Image 使用Project下的图像( ./Test.jpg) , Design中显示正确,实际运行则不显示。WPF 添加Image对象,Design显示,实际运行不显示。
2023-07-30 12:24:53
263
原创 由于临时文件夹造成的DOTNET_BUNDLE_EXTRACT_BASE_DIR错误
在.net在windows中, DOTNET_BUNDLE_EXTRACT_BASE_DIR 被设为 %TEMP%当服务器运行“单文件部署”的程序时,其内部使用 %TEMP% 保存临时文件,但是%TEMP%指向的目录不存在。为何%TEMP%文件在系统中显示与实际指向冲突,原因不知道。PlanB 就是创建那个 Temp\2 这个文件夹。系统显示的 %TEMP% %TMP% 全部正常。
2023-02-18 14:07:11
400
原创 VCode Python 设置当前目录
随后其中有文件 c:\PythonProjects\SubFoloder\Test.py。例如我打开了Foloder: c:\PythonProjects。在VSCode中打开Folder时,当前目录就是这个Folder。不是 c:\PythonProjects\SubFoloder。而是: c:\PythonProjects。Test.py的当前目录。2.设置新的当前目录。而不是其中文件的目录。运行Test.py,
2023-01-27 13:47:10
824
1
原创 Numpy 操作矩阵
复制矩阵m2 = m1.copym2 = m1[:,:]复制矩阵的部分Rowm[1:] #取第1行之后所有m[-2:] #取最后第2行之后所有(最后第2行和最后第1行)m[1:3] #取第1行到第3行之前(不包括第3行)m[3:-1] #取第3行到最后1行之前(不包括最后1行)m[:-1] #取第0行到最后1行之前(不包括最后1行)需要补充的是,上面的操作,返回的是二维矩阵, shape是2维数组,例如:[3,1]还有一种"取单行"的方.
2022-04-03 17:00:20
2661
原创 Linux Centos yum/rpm 设置代理
yum 设置代理:vim /etc/yum.conf添加形如:proxy = http://user:pass@ip:portrpm 设置代理sudo rpm -Uvh https://xxxxx.rpm --httpproxy ip --httpport portreference: https://www.lightnetics.com/topic/3698/how-do-i-install-an-rpm-package-using-a-http-proxy...
2022-03-02 01:18:41
1472
原创 MongoDb释放磁盘空间
版本: 2.6.7MongoDb Collection 被删除后,磁盘空间并没有释放,必须调用 repairDatabasemongoduse DataBaseNamedb.auth(user, password) 如果正确返回 1db.repairDatabase() 等待一些时间(大约1分钟以内),如果正确返回1之后会发现磁盘空间被释放了。...
2022-02-13 20:34:43
1607
原创 使用dumpbin 输出DLL外部函数
使用VisualStudio 提供的 Developer Command Prompt 启动 Console输入命令:dumpbin /EXPORTS dll_path >> output_path.txt
2022-01-27 10:20:54
268
原创 C# MongoDb 数据转化为Json
var str = "mongodb://127.0.0.1:27017"; var client = new MongoDB.Driver.MongoClient(str); var db = client.GetDatabase("Test2018"); var t = db.ListCollectionsAsync(); t.Wait(); ...
2021-12-09 19:02:45
630
1
原创 VSCODE 改变Python版本到3.10
安装Python3.10, 确定Path中有指向新版本文件夹的路劲,同时去除老版本文件夹路径VSCode Setting/User/Extensions/Python/Default Interpreter Path注意是User不是WorkSpace点击VSCode窗体左下角的Python 3.9 xxxx 这个位置后, VSCode 正上方会有下拉框给你选择新的Python解释器我因为已经升级到了3.10,所以图片上没有显示3.9更新Terminal,(此时Termin..
2021-11-21 15:22:14
10767
原创 Python min/max 返回index
Reference:https://stackoverflow.com/questions/2474015/getting-the-index-of-the-returned-max-or-min-item-using-max-min-on-a-listvalues = [3,6,1,5]index_min = min(range(len(values)), key=values.__getitem__)values.getitem 这个函数有一个int参数。min(序列数组, key = la
2021-11-20 13:08:25
1992
原创 VSCODE 打开多窗口
Ctrl Shift Pref: https://stackoverflow.com/questions/49707703/open-the-same-directory-twice
2021-11-13 03:17:45
4102
原创 c# 判断是否为null, 到底使用 “is null“ 还是 “==null“
判断是否为null 应该使用 is null避免使用 “== null”因为 后者可能调用 “operator ==”另外1:C# 9.0 引入了 is not另外2:有用的判断为null 后抛出异常的简洁语句:public static int CountNumberOfSInName(string name){ _ = name ?? throw new ArgumentNullException(nameof(name)); return name.Count(c =>
2021-09-01 22:40:15
7975
原创 MongoDb 修改nssize
在服务的命令行中加入 -nssize 500 表示namespace size 从默认16MB改为 500MB 注意在windows下是 -nssize, 不是 --nssize 否则服务无法启动以新nssize 启动后,对于已经存在的db,需要运行 db.repairDatabase() 命令修复,根据db大小,修复时间不同,修复完成后,可以查看db对应的文件夹,其中dbname.ns 大小已经变为500mb。 有时候命令行显示修复成功,但是文件夹下空无一物,这时候需要查看整个Mongo的数据文件夹.
2021-04-22 10:25:41
830
3
原创 Python 类datetime的方法 replace 与 astimezone 区别
astimezone: 改变时区, 例如 utc 时间 为 2021/04/15 17:00:00 改为 北京时间后,则变为 2021/04/16 01:00:00replace(tzinfo = new_timezone_info) 替换时区, 时间数值不会发生变化,例如 utc 时间为 2021/04/15 17:00:00 改为 北京时间 2021/04/15 17:00:00 , 或者 没有timezone 的 datetime实例 可以通过这个函数附上 timezone注意事项:.
2021-04-15 17:37:11
1160
原创 VSCode 安装 Python pip 包
VSCode 点击 Ctrl+Shift+`Windows环境输入: python -m pip install matplotlib但是速度会很慢,可以通过清华的镜像 python -m pip install matplotlib -i https://pypi.tuna.tsinghua.edu.cn/simpleReference:https://code.visualstudio.com/docs/python/python-tutorialhttps://blog.youkuaiyun.com.
2021-04-15 00:48:53
13228
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人