-
Posts
12 -
Joined
-
Last visited
-
Feedback
0%
About Luigina
Social Networks
-
Discord
Luigina#0001
Recent Profile Visitors
386 profile views
Luigina's Achievements
-
Luigina started following ShopEx Buffer Overflow Fix
-
Hello community ! I found an issue when i was checking ShopEx system. If your pack_tab size is bigger than default m2 / SHOP_HOST_ITEM_MAX_NUM is bigger than default this overflow occurs. This causes a core crash as seen in the screenshot below: [Hidden Content] Solution I use temp buffer for handle better but you can change 8096 too. To solve this problem, you can follow these steps: // In shopEx.cpp -------------------------------------------------------------- // Search char temp[8096]; char* buf = &temp[0]; size_t size = 0; // Change like this TEMP_BUFFER buf(16 * 1024); -------------------------------------------------------------- // Search memcpy(buf, &pack_tab, sizeof(pack_tab)); buf += sizeof(pack_tab); size += sizeof(pack_tab); // Change like this buf.write(&pack_tab, sizeof(pack_tab)); -------------------------------------------------------------- // Search pack.size = sizeof(pack) + sizeof(pack2) + size; // Change like this pack.size = sizeof(pack) + sizeof(pack2) + buf.size(); -------------------------------------------------------------- // Search ch->GetDesc()->Packet(temp, size); // Change like this ch->GetDesc()->Packet(buf.read_peek(), buf.size()); After following these steps, you should have overcome this problem in the ShopEx system. If you have any problems, please leave a comment. Kind regards, Luigina
-
Luigina started following Use Ninja instead of Make , Official Pickup Slot Effect [REVERSED] , Check Version on Login and 3 others
-
official Official Pickup Slot Effect [REVERSED]
Luigina replied to Mali's topic in Features & Metin2 Systems
@ Mali update repo for another guys in uiinventory.py self.DelHighlightSlot(overSlotPos) to self.DelHighlightSlot(overSlotPosGlobal) -
Nobody don't want compile source in every version change so you can add simple config. Config.cpp short g_NewClientVersion = 0; TOKEN("client_version") { str_to_number(g_NewClientVersion, value_string); fprintf(stderr, "CLIENT_VERSION: %d\n", g_NewClientVersion); continue; } Config.h extern short g_NewClientVersion; input_login.cpp if (pinfo->NewCheckVersion != g_NewClientVersion) { TPacketGCLoginFailure failurePacket; failurePacket.header = HEADER_GC_LOGIN_FAILURE; strlcpy(failurePacket.szStatus, "VERSION", sizeof(failurePacket.szStatus)); d->Packet(&failurePacket, sizeof(TPacketGCLoginFailure)); return; } and change int NewCheckVersion to short NewCheckVersion, bcs which crazy guy will make 1231312312 the version.
-
official Official Lucky Box(Fortune Chest)
Luigina replied to Mali's topic in Features & Metin2 Systems
GF really angry now. -
Good job, thanks a lot
-
Thanks for your release
- 10 replies
-
- 1
-
- improvement
- freebsd
-
(and 1 more)
Tagged with:
-
official Official Render Target [REVERSED]
Luigina replied to Mali's topic in Features & Metin2 Systems
Great work, thanks. -
auto encrypt user account password directly in mysql manager
Luigina replied to hpgalvao's topic in Guides & HowTo
You can use to know encrypted password; open console from navicat or etc. select password("password");