RAW RANKED SITES ABOUT
#3 PART

The most comprehensive list of 3 part websites last updated on May 1 2021.
Stats collected from various trackers included with free apps.
1
GenPI.co GenPi.co adalah media online yang menyajikan berita terkini, inspiratif dan kreatif seputar pariwisata Indonesia.
3
Gamer Escape: Gaming News, Reviews, Wikis, and Podcasts - Gaming Community featuring News, Reviews, Wikis, and Podcasts Gaming Community featuring News, Reviews, Wikis, and Podcasts
5
HdMoviesHub - 300mb Movies, 720p Movies, Hindi Dubbed Series, 1080p Movies, 480p Movies, 500mb Movies, 900mb Movies, Tv series, Movieshub HdMoviesHub - 300mb Movies, 720p Movies, Hindi Dubbed Series, 1080p Movies, 480p Movies, 500mb Movies, 900mb Movies, Tv series with direct download links.
6
ionicons-v5-f Waploaded is a broad entertainment website which has been a sure source for music distribution and promotion, news & entertainment across Nigeria, South Africa and the world at large.
8
Vegamovies - Download 300mb movies 480p 720p 1080p Vegamovies.club is the best online platform for downloading dual audio movies, dual audio webseries, hindi dubbed, netflix series, amazon prime, altbalaji, Zee5 webseries.
9
Ecom Freedom™ - Dan Vas The #1 Amazon FBA step by step course and training in the world. Over 6,000+ students and hundreds of proven, verified testimonials. Includes Unlimited Mentorship + Expert Coaching. Receive lifetime access.
10
AllMoviesHub - 300mb Movies, 480p Movies, 720p Movies, Hindi Dubbed Series, 1080p Movies, Tv series download, Hubflix, Hubflixhd, Thehubflix, Hdmovieshub, Hdmovieshub.in, Hdmovieshub 300mb, Allmovieshub, Mkvhub, dailydrivelink, moviesflix, hdmoviearea, Download 300mb Movies, 480p Movies, 720p Movies, AllHDMovies & Latest Netflix, Cw and lots more TV Series in Dual Audio (English and Hindi) available in Google Drive Link.
12
Game Mania Nederland Game Mania, de winkel met de grootste keuze aan games, spelconsoles, accessoires & merchandise in de Benelux. Bezoek één van onze winkels of koop veilig online via de webshop.
13
FilmyGod1 | FilmyGod.in | FilmyGod 2020 HD Movies Download, FilmyGod.Com 2020 Latest Hollywood Movies Dubbed In Hindi 480p 720p Pc Movies 2020 FilmyGod - FilmyGod.IN - FilmyGod.Com ❤️Indias No.1 Site For Movies And Web Series❤️ FilmyGod.Com FilmyGod ❤️Indias No.1 Site For Movies And Web Series❤️ filmygod1 filmygod.com filmygod 2 filmygod.in MKVC Online, Skymovieshd, 9xmovies, Moviesflix, themoviesflix, 7starhd, word4ufree, hdmovieshub, Southfreak, Bolly4u
15
Best Gated Communities in Hyderabad for Sale | Aparna Constructions Searching for a New and Upcoming 2, 3, 4 & 5 BHK Gated Communities in Hyderabad, Bengaluru or Vijayawada? Check out the Apartments, Villas or Plots on Sale by Aparna Constructions, the most favorite Real Estate Builders of Hyderabad. Buy your Dream home today & come be a part of the Best Gated Communities in Hyderabad
16
Linux Systems Analyst | Hayden James Linux Blog by Linux Systems Administrator - Hayden James. Supporting and optimizing highly available Linux web server environments.
17
xXxAdultTorrent.org :: Free porn torrent :: Download porn using torrent, free porn, erotic, porno torrent, adult torrent Download porn torrent, siterip, hentai, gonzo, bdsm, gay porn, unconventional, transsexual, free
18
GameMAG - главные новости из мира игр для приставок и пк, читы и прохождения, специальные материалы и трейлеры, даты выхода новых игр в 2019 и 2020 году Gamemag.ru приветствует тебя, фанат игр на PC и консолях. На главной мы обсуждаем свежие игровые новости: анонсы игр, свежие релизы, патчи, скандалы и прочие события игрового мира, надеемся на выход death stranding на pc. В Обзоре – узнаём секреты новых игр 2019 года и готовимся к битве за лучший экшен среди call of duty modern warfare, the elder scrolls, gta, doom eternal. Форум – для холиваров в стиле mortal kombat, battlefield или last of us part 2 между сторонниками PC, xbox one, playstation 4 и nintendo switch или культурного обмена мнениями по любому вопросу
19
Moviespapa | Movies papa Moviepapa 2020 Web series 300mb moviespapa moviepapa movies papa watch movie hd torrent free with moviespapa 2020 4k ultra hd movies web series 18+movies hindi 300mb movies 300mb movie.
20
Go to RSS Feed Alpha Universe is for creators. Bring your curiosity, we’ll provide the knowledge, inspiration & state-of-the-art imaging tech to help you make dreams reality
21
the Data Lounge - Gay Celebrity Gossip, Gay Politics, Gay News and Pointless Bitchery since 1995. DataLounge - Gay Celebrity Gossip, Gay Politics, Gay News and Pointless Bitchery since 1995.
22
Indie Film Hustle // Survive & Thrive in the Film Business Teaching you how to hack your indie filmmaking with stuff they don't teach you in film school. Showing you on how to get your Indie Film Hustle on!
25
FutureofWorking.com | Career Advice for the Future When giving a speech or presentation, how you start can make or break you. You want the beginning to be strong and instantly pull your audience in so that you have their full attention from the get-go. Here are 25 effective ways to start a speech or presentation. 1. The Common Ground Open Opening with a real life experience, goal or interest is a great way to grab the attention of the audience to show them that they can gain something by listening to you. By establishing common ground with the audience, especially if it is done with humility and grace, you put yourself on the same level as your audience. If you are an elderly CEO of a company and you discuss finances with a group of younger entry-level employees, you have to share your own business experiences when you were younger so that the audience will better understand your message. 2. Ask a Question If you want to make your audience think right away, ask them a question to start your speech. Ask either a rhetorical or literal question. Whether or not an answer to that question is called for, when people are posed with a question that matters to them, they will intuitively answer. When you ask a question, raise your hand to indicate what you want the audience to do. After asking a question like "How many people here are self-employed?", see if any audience members raise their hands. Take advantage of this engagement by getting into the heart of your speech. 3. Quote Sometimes it is as easy as opening with a relevant quote. You can set the tone for the rest of your speech if you have a quote that is memorable. You should keep in mind that whoever you quote has to be well known by the audience because if it is someone like your next-door neighbor, the quote will fall flat with everyone. If you are discussing topics related to politics, for example, it is wise to quote a former United States President. "If there is anything that a man can do well, I say let him do it. Give him a chance." -Abraham Lincoln 4. The Contrast Open If speeches feel like boxing matches to you, this type of opening would often be used. Showcase the difference between diametrically opposed concepts, positions, ideas or words, and the end result will be that some audience members will feel persuaded to change their perspective or embrace something new. There are always two sides to every story, and both sides have to be equally presented. What are the differences between a need and a want? Obstacles and opportunities? Problems and solutions? Highlighting the differences will get audiences to understand the points you are trying to make. 5. Tell a Story Before making the key points of your speech, telling a story to start can draw your audience in. Some of the most powerful words that can immediately grab the attention of the audience would be "Once upon a time" because regardless of age people will love stories of any kind. When you start your speech with a line like "Once upon a time", the audience will know that a story is coming. People will immediately calm down, become quiet, and listen to what you have to say. Whether it is fiction or non-fiction, telling a story will resonate with audience members. 6. Imagining Something If you want people to go on a unique journey with you, encourage them to imagine certain scenarios. For example, if you are working for a non-profit organization that brings water to people who lack the resources to get water, a good opener would be something like "Imagine being thirsty all the time, but never having anything to drink." By having them imagine scenarios like that, you make the audience a part of your presentation. They can actively empathize and engage with the content of your speech because they actually put themselves into that setting. 7. Humor Though this should never be forced onto the audience, when properly implemented you will put a lot of smiles on the faces of those you speak to. Being funny during a speech can be very difficult, but it is a way to give yourself relief as a public speaker. Telling jokes in your opening is a sign to the audience that you don't take yourself too seriously, and that they can relate to you in some way. One witty opener would be "If you can hear me, please start clapping as to confuse those that cannot make out what I am saying." 8. "This Day In History" Open One main reason why audiences gather to listen to speeches is that they can learn something. If you start your speech with a historical fact, the audience will immediately pay attention. For example, if the day of your speech falls on March 5, you would open your speech with "On this day, March 5, 1963: the Hula Hoop, a hip-swiveling toy that became a huge fad across America when it was first marketed by Wham-O in 1958, is patented by the company's co-founder, Arthur "Spud" Melin. An estimated 25 million Hula Hoops were sold in its first four months of production alone." 9. Thank the Organizers and Audience If you want to stick to the basics of public speaking, simply mention the people who made it possible for you to have a presentation. Thanking the event organizers and the audience compliments them, makes them feel proud and happy about your presence, and strongly connects you to the audience. Refer to the person who introduced you to one or more of the senior people in the organization in the audience, and compliment that person as a showing of respect. Be humble and genuine in your positive comments toward the organization. 10. Positive Statement Staying positive throughout a speech can be challenging, but it will become easier if you start your speech with a positive statement. You can begin by telling the audience how much they will like and appreciate what you have to say. For example, you could say something like "You're really going to enjoy the time we spend together today. I'm going to share with you some of the most thought-provoking ideas my company has ever made." The upbeat tone of this opening is enough to make the audience invested in whatever follows. 11. The Skeptical Audience Open A doubting audience is a difficult audience to handle. From the start, they may not trust your ideas or they could be against what you are proposing. Whether they were disappointed in the past or if they are simply stuck in their ways, they will put up a brick wall in front of you. The more hostile the crowd, the faster you must address the gap. Blending your goals and the needs of the audience requires a careful combination of anticipating the major objections, avoiding defensiveness, acknowledging the obvious truths early, and understanding the divided loyalties between the intractable, the undecided, and the supportive. Identify which of those must hear your message and adjust accordingly. 12. The Puzzle Open Brain teasers and mind puzzles tend to capture the attention of audiences that like to be given mental exercises. As the audience tries to figure out what it will take to solve them, they become highly engaged with the practice. Capitalize on this behavior by proposing a riddle, asking a puzzling question that you promise to reveal in the end, and suggesting that the audience complete a mathematical equation and promising to give the answer context as you go along during the speech. Alternatively, reveal one puzzle piece after another throughout the course of your speech to help your audience find the right solution. 13. Refer to Current Events Bringing documentation of something that is currently relevant to the public will help you to illustrate your point the way you want to. Use a current event story that is on the front page of your local newspaper to transition into your subject, and hold it up as you refer to it in your introduction. This serves as a visual image to the audience that they will keep in their minds as they see you hold up this documentation. When they hear you recite or read a key point of the news story, they will carefully pay attention to you. 14. Refer to a Recent Conversation One way to keep the topic you wish to talk about relevant to the audience is to refer to a recent conversation you had with someone attending this public speaking event. Hours or minutes before you get on stage to address the audience, you could be engaging in a thought-provoking conversation with someone in a lobby, and that person might tell you that this is one of the best times to be working in a specific industry. It is likely that many audience members will share the same view as that person, so when you mention this conversation in your introduction they will have something to relate to. 15. The Activity Open An active audience is one that will be more likely to keep listening to you after you finish your introduction. Keeping an audience preoccupied with an activity works well during training sessions and workshops when you are trying to teach a specific skill. Engaging in activity right from the start allows the audience to recognize the benefits of listening to your message. The activity has to be fun but also challenging enough. If they quickly get through it they will spend the rest of the workshop sitting in their chairs doing nothing. 16. The Study Hall Open If you are someone who loves using data-heavy charts and graphs to illustrate your points, you have to be careful about how you present your data to the audience. While they want to be informed, people in the audience also don't want to be bombarded with too much information all at once. Establishing a school setting and distributing paper handouts of data to your audience to begin your session helps them to follow along. Ask them to read the charts and graphs, and following their review you are well on your way to making your key points. 17. The PowerPoint Open When PowerPoint technology is used correctly it is a highly effective tool for the audience. Otherwise, it immediately makes your presentation feel boring. Slides that are overly literal will fall flat, but conceptual and eye-catching images give strength to your words. Pick captivating and intriguing images. If you present a talk on how to make ice cream, you could begin with a slide that shows the finished product of your ice cream brand. Describe the process of making ice cream in your introduction, and as you proceed you show slides in reverse, moving from final product to the very beginning. Along the way, you guide the viewer through each step. 18. The Audio Clip Open Your voice remains front and center for your talk, but additional sounds can bring more clarity to your message. Your words will be given more meaning with the help of a short audio clip as it makes your message more memorable. If you are teaching a music school, you can include two brief audio excerpts, a before and after of student instruction. Though your words do matter, these clips can have a better impact in persuading students to join your school. Audio testimonies, song recordings, oral accounts, and speech snippets all make for good audio clips. 19. Silence A subtle pause of silence, even if it extends to only 10 seconds, gives your audience enough time to sit and quiet down. Most audiences expect a speaker to begin right away. If you want to get the attention of an audience, taking that extra pause will help your cause. People will start wondering why you are being so quiet as they gather around, and when you break your silence and start speaking you can use that pause to illustrate a key point. Sometimes the main challenge in public speaking events is to get the audience into a silent state. 20. The Challenge Open Audiences want to be challenged and motivated to contribute to something they feel passionate about. Open your speech with a challenge if you are looking to increase sales, raising money for a project, asking for volunteers, or wanting legislative change. It isn't just about buying into your message but also taking the actions to manifest it. Start your speech with something like this: "Leaders see possibilities where followers see obstacles. I am here today to call for leaders to encourage those who are unsure about the project to look past the stumbling blocks we face in the development of this local park and consider giving citizens a better environment." 21. Multiple Choice Test Presenting your own multiple-choice test can draw your audience to your topic, and this approach is tailor-made for a talk with multiple perspectives about an issue or different solutions to the same problem. An example of this open would be to say the following: "As a company, we have several routes we can take regarding growth and increased sales. We could a) buy smaller companies to diversify our portfolio of services, b) move resources to focus on only a few, or c) we could opt to franchise. After we evaluate these options together, I will offer the option that I think is the way for us to go." 22. The Mystery Open The odds are likely that your audience loves to solve mysteries. Whether they are read in books or watched on television, mysteries grab the attention of people simply because of the uncertainty that is wrapped around them. When using this open present some clues on stage, regardless of which side of the argument they lean towards. Remind the audience of these clues throughout the speech and encourage them to come up with their own conclusions before revealing how your mystery gets solved. 23. Have Audience Members Talk to Each Other All audiences will be sitting close together in a setting where they will be visible in front of you, so you might as well take advantage of this. Encourage people to talk to others that are sitting next to them, and specifically to let them know what they would like to learn from your speech. Encourage your audience to discuss with each other any particular points. Any commands or show of leadership on your part will easily influence the audience, as long as you do it with confidence. 24. Bring Up Statistics Even if you don't bring any charts or graphs to illustrate your points, simply mentioning important statistics will resonate with the audience to get your message across the right way. Statistics have the potential to trigger the emotional appeal of the audience. One example of presenting statistics in your open would be something like: "In 2019 there were 152,000 homeless people roaming the streets in California. By 2025 that number is expected to nearly double." This kind of open highlights the need to address the problem of homelessness because the statistic is powerful, personalized and surprising. 25. The Unexpected Definition Open Dictionaries are obviously accurate, but there are times when words gain more power when they are redefined. If you are a valedictorian and you want to share how much your fellow students mean to you, the open can go like this: "The dictionary defines classmate as a member of your class, but my definition for you all is much broader than that. We were friends, teammates, and mentors. As worthy opponents, we challenged each other on the field and in the classroom. And, we now can define ourselves as fellow graduates." Conclusion How you start your presentation will depend on what kind of presentation you are giving, and what tone you want to set for your audience. Regardless of which you choose to begin with, incorporating one of these strong tools into your speech ensures that your presentation is a success from the very start.
26
SOTERIOLOGY 101 – A Professor and former 5-Point Calvinist Discussing the Doctrines of Salvation, Election, Predestination, and God's Amazing Grace. A Professor and former 5-Point Calvinist Discussing the Doctrines of Salvation, Election, Predestination, and God's Amazing Grace.
27
NSFW
PirateCams | exclusive cams content PirateCams - the best source to free download and stream exclusive sex webcams videos from Chaturbate and MyFreeCams. Our porn blog to bringing you the latest ManyVids videos for free, amateur porn vids, real homemade videos, OnlyFans Siterip, naked photos set from Snapchat and more!
31
CodesGesture | Award Winning Website Designing in Gorakhpur, Best Software Development in Gorakhpur, Best SEO Services in Gorakhpur Best Website Designing Company in Gorakhpur, Website Designing Company in Gorakhpur, Web Designing Company in Gorakhpur, Web Developers in Gorakhpur, Best Website Designing in Gorakhpur, Software Development Company in Gorakhpur, Best Software Development Company in Gorakhpur, Top Software Development Company in Gorakhpur, Software Developers in Gorakhpur, Ecommerce Website Designing in Gorakhpur, Ecommerce Website Development in Gorakhpur, ecommerce website design in Gorakhpur, Graphic Designing Company in Gorakhpur, Graphic Designing in Gorakhpur, Graphic Design in Gorakhpur
32
FREEDOMLaunchPad - Freedom Launch Pad is LIVE! FREEDOMLaunchPad - Freedom Launch Pad is your fast track to financial, lifestyle, and time freedom. Brought to you by The 30 Minute Workday (30MWD) and The Home Business Academy (HBA)
33
Maya Parts | Wholesale Smartphone & Tablet Replacement Parts Need a repair part for your broken Apple or Samsung device? We got it! Maya Cellular offers wholesale replacement parts such as screens, batteries, and other small components.
35
The Punchline - Atlanta''s Best Comedy Club. Atlanta''s Number One, #1, Best, Top, Premier, Supreme, Numero Uno, Comedy Club since 1982 is The Punchline. With more than a million customers entertained, we''ve had more than 3,000 comedians perform at our club, which is more than any other comedy club presently or formerly in Atlanta can claim. In the heart of the metro area, 1/2 mile north of 285 off Roswell Road, we are the best comedy club showcase showroom for your next special event. Reservations are required. You must be 21 with an ID to become a part of Atlanta''s legendary and historic comedy club.
36
Skintific™ - All Natural Skin Care for Wrinkles 🌱 – Skintific Beauty Skintific™ is a skin regimen designed for women to reduce wrinkles, prevent and revitalize their skin by utilizing a 3 part skin program that focuses on the root cause of skin losing it's vitality.
37
Tech Nation - The UK network for ambitious tech entrepreneurs Tech Nation is a national network for ambitious tech entrepreneurs - offering growth programmes, visas for exceptional talent from overseas, digital entrepreneurship skills, resources, news and events.
39
Selltm is India''s #1 Reselling and Earning App, Work from Home and Part Time Job Selltm is India''s #1 Reselling app, trusted by 30,00,000+ Resellers. Working with Selltm is as simple as: 1. Browsing hit products on Selltm App 2. Sharing & selling them on Facebook & WhatsApp. 3. Earning profit margin. Get your Online business today without any investment or technical knowledge.
42
The Windows socket - Winsock Windows network programming tutorials using C#, C++/CLI and VB .NET with working code examples and program samples This is a Windows platform network programming tutorials using the .NET framework with working C#, C++/CLI, VB .NET source code and program examples. Learn network programming easier and faster
43
Wave Register today to get free access to our CFA Level 1 question bank. AnalystPrep also features QBanks and Study Notes for CFA Level 2&3 and FRM part 1&2.
44
Repair Your Grill: Shop Replacement Parts for 24,880 Models Shop for genuine replacement parts to exactly fit your grill and 32 other appliances. 3 Clicks. It''s that Easy. ✓ Select your Brand and Model, then view all our parts. Also view part photos and download diagrams and owners manuals. 700+ Brands and 170k+ Models. Live Chat with our techs.
47
Farmington Daily Times: Breaking news, Sports, Business, Entertainment, Opinion Let the Farmington Daily Times keep you up-to-date on breaking news, sports, business, entertainment, lifestyle and opinion.
48
Football Kit News| New Soccer Jerseys| 2020-2021 Season Shirts & Strips Football Kit News- New Football Shirts 20/21 Blog- Currently updated with new jersey releases from the 2020/21 season for all major European leagues
49
Home | GovLoop Join more than 300,000 of your federal, state and local government peers in innovating and problem-solving with free resources and trainings.
51
The Laserless Tattoo Removal Guide ™ - OFFICIAL WEBSITE How to Get Rid of Unwanted Tattoos Naturally without Painful, Expensive and Harmful Procedures – GUARANTEED!
52
performance~marks | exploring what makes us happier at work through the windows of Positivity ~ Engagement ~ Relationships ~ Meaning ~ Accomplishment & Resilience exploring what makes us happier at work through the windows of Positivity ~ Engagement ~ Relationships ~ Meaning ~ Accomplishment & Resilience
53
Home Page - Railway Age Breaking news and analysis on North American freight and passenger railroad industry. Coverage includes rail transit, legislative and regulatory issues, finance, suppliers, railcar and locomotive builders, maintenance service providers and technology companies. 160+ years strong.
55
Wildhammer Motorsports | The Home for 6th Gen Camaro & 8th Gen Corvette Parts & Accessories Wildhammer Motorsports, your one stop shop for OEM & Aftermarket, Performance Parts & Accessories for your 6th Generation Camaro(2016+) and 8th Generation Corvette(2020+)
58
NXT Comics | Hentai & Cartoon Porn Comics Porn Comics Collection of Various type Adult and Cartoon Pics. Enjoy online Read or Download to Your PC. Fresh XXX 18+ Content Upload Daily.
59
SDMmag logo SDM, Security Distributing and Marketing is the security channel media, providing management and technical professionals with solutions for the security marketplace.
62
JETIR- Journal of Emerging Technologies and Innovative Research Journal of Emerging Technologies and Innovative Research is not limited to a specific field of engineering but is instead devoted to a wide range of subfields in the engineering sciences.
65
Data Flux – Maker Electronics, Data Analytics, and Information Technology Management Maker Electronics, Data Analytics, and Information Technology Management
69
Actress Photo Quen Blogs Actress Photo Quen. Sexy Picture, Hot Image, Spicy Photo, Actress Photos, Deep Cleavage, Big Boobs, Hot Aunty, Hot Bra, Hot Navel, Transparent Saree, Underarms
72
GoKunming | Kunming Events, Activities, Things to do, and more! Discover the top things to do in Kunming, find Yunnan travel information, events, nightlife, restaurants and all the latest news! GoKunming is southwest China''s largest English-language website with everything you need to make Kunming your next destination, and maybe your home. Discover China''s Spring City and most livable city with us!
73
Prices for Healthcare, Medical Tourism, Diagnostic, and surgical Hospital in India| iHealthMantra Book online diagnostic tests in Pathology, Radiology, Preventive Health Checkup at iHealthMantra. Home sample collection available. Pay Fair Price and Get attractive discounts
76
78
Cyber Security Consulting Company - VISTA InfoSec Vendor neutral Cyber Security Consulting company based in India, US, EU and Singapore with services in SOC 2, PCI, GDPR, ISO 27001, Cloud Security and Pen Testing
80
tsomek's tips&tricks database – vray / sketchup / autoCAD / photoshop / wordpress fixes, solutions & hacks for architects and others vray / sketchup / autoCAD / photoshop / wordpress fixes, solutions & hacks for architects and others
81
www.SpringBootDev.com – Blog by A Tech Enthusiast @ www.cyruplabs.com. "Teaching is the best way of learning. Teach more and learn more!" Blog by A Tech Enthusiast @ www.cyruplabs.com. "Teaching is the best way of learning. Teach more and learn more!"
83
HR in ASIA - Human Resource Media HR in Asia is a human resource online media publication. We cover Human resources News, trends, interviews, and events articles across Asia. We covering the latest developments in the domains of employer branding, recruitment, retention, employee relations, people development, HR technology, and outsourcing. HR in Asia seeks to connect psychological insights with the best practices and experiences of HR professionals, business owners, and C-level executives in the corporate sector. In addition, we provide the latest developments and trends in the regional HR space for employees and job-seekers that seek to understand. With our brand, we seek to facilitate and create the convergence of an informed professional community of HR professionals throughout the region. We commit to provide and contribute to the latest in industry knowledge and practices via content from influencers, coaches and industry thought leaders from around the world, while maintaining a local context.
86
PTVA’s Institute of Management Mumbai, MBA College in Mumbai PTVA’s Institute of Management offers 2 Year Full Time MBA Course of University of Mumbai namely MMS & 3 Year Part Time MBA Course of University of Mumbai
87
Corrie Haffly – This is my blog. I can be wordy. But I take really cute photos of kittens… er… babies, so it’s all good. This is my blog. I can be wordy. But I take really cute photos of kittens... er... babies, so it's all good.
88
Thư viện tài liệu trực tuyến trang 1 tải miễn phí từ Tailieuchung Giảm cholesterol và đường huyết từ nấm bào ngư , Làm thế nào để biến áo pull thành áo khoác nhỉ? , Xác chết loạn giang hồ - Hồi 80, Giáo trình Lý luận chung về nhà nước và pháp luật, Truyện cổ tích "Sự tích đèo Phật tử", Quyết định số 810/1998/QĐ-TCBĐ , Loài và các tiêu chuẩn phân biệt , Programming HandBook part 100, Bài 14: Con trỏ – Thực hành, PC Werkstatt Ausgabe 2000- P59, Quyết định số 2026/QĐ-BKHCN , Quyết định số 6211/QĐ-UB , Thế giới động vật - Tuần 4 - Thứ 3 - Âm nhạc : - Cá vàng bơi - Nghe chú ếch con - Trò chơi: Đi như ếch, Axit - Bazo - Muối, Kinh tế đầu tư, Bài giảng: Cấu trúc giữ liệu, Sức mạnh của net trong tự động hóa công nghiệp , Cơ quan thẩm định ba cấp độ ĐTM, Các yếu tố cản trở đổi mới công nghệ trong DNNN, download, tải miễn phí, pdf, doc, docx, xls, xlsx, ppt,pptx
90
SKIDROW GAMES FREE DOWNLOAD Skidrow Games Reloaded, Download Game Torrent ,Codex,pc, update , multiplayer ,crack , dlc , Link Direct Download patch ,caricamento part ,repack , ISO , pc , fitgirl-repack free downlad , latest games, download for pc, crackes games ,full iso games ,patches Skidow Games skidrowreloaded, skidrow reloaded wolcen torrent , wolcen lords of mayhem torrent red dead redemption 2 skidrow mortal kombat 11 pc torrent red alert 3 torrent , call of duty modern warfare 2019 torrent , mortal kombat 11 skidrow ,winter resort simulator torrent ,call of duty modern warfare torrent , subnautica below zero torrent
92
Portal Bisnis Riau Indonesia | Berita UKM | Direktori UKM Indonesia | Bisnis UKM Riau | Portal Berita Riau | Bisnis Riau | Bisnis Pekanbaru | Media Informasi Bisnis | Peluang Usaha Bisnis UKM Riau Dan Direktori UKM Bisnis Pekanbaru Riau Berbasis MEA Bisnis Riau, Bisnis Pekanbaru, Berita UKM, Direktori UKM Indonesia : UMKM - UKM Riau, Portal Bisnis Riau Indonesia, Portal Berita UKM Riau, Portal Bisnis
93
JVZOO - WSO PRODUCT REVIEW | Software - Ebook - Plugin - Theme - PLR - Training Review Activity Book Generator By Amber Jalink - Discover the Faster, Easier Way To Create Coloring & Activity Books and Printables In Seconds That You Can Sell To Raving Fans! Activity Book Generator By Amber Jalink lets you create unlimited adult and kids coloring and activity books, in under a minute! The activity book generator does exactly what it says: It creates Coloring and Activity books AND PRINTABLES with the click of a button. These can be published on Amazon KDP, or Etsy and anywhere else. The system is broken down into two parts: the Coloring book generator, and the Activity book generator, which also includes coloring mixed in. The coloring book generator includes both adult coloring images (created by me personally!), as well as Kids coloring images (which was created by my in-house graphics specialist). A walk through is available upon request, but the point of this is to help people REMOVE the barriers to publishing by having to come up with everything themselves, position it in the pages, and so on. It's SO simple, with about 3 clicks of the mouse, they have you could say, a "push button" approach to product and printable creation. Hundreds upon hundreds of hours have been spent over the past SIX+ months creating these graphics in addition to the programming. Initially I intended to have this out back at the end of May, however, I decided to make sure everything was RIGHT, and to give as many options as possible. With Activity Book Generator you have PLR rights in that you can use these to sell as you wish, however, you can not include plr rights to others. (There is an add on Developer option that allows that). Learn More:Activity Book Generator By Amber Jalink Review - Discover the Faster, Easier Way To Create Coloring & Activity Books and Printables In Seconds That You Can Sell To Raving Fans! Activity Book Generator By Amber Jalink Review Activity Book Generator By Amber Jalink Review Activity Book Generator By Amber Jalink Review Activity Book Generator By Amber Jalink Review Activity Book Generator By Amber Jalink Review Activity Book Generator By Amber Jalink Review What Do We GInside Activity Book Generator: There are over 1,000 adult coloring images (over 700 new created JUST for this project), plus another 800+ kids coloring (preschool and up), AND over 3,500 activity pages included. The activities include your typical hangman, tic tac toe pages, but also find the match, mazes, activity placemats, what doesn't belong, how many words can you find, and more that we CUSTOM CREATED for this. WHY Choose the Activity Book Generator: Create printables and books in less than a minute every time, allowing you to create 30-60 books or multi-page printables in an hour.Choose between Coloring or Activities (Activities also may include some coloring)Completely random so you will rarely (if ever) see the same image twice. The odds of having an exact same book are in the millions because there are so many images in the system.Easily edit the PDF with a free editor if you wish to adjust or add wordsRoyalty free! Publish as many as you want, and keep all the profits Activity Book Generator Related Product: Front End: Activity Book GeneratorOTO 1: will have TWO options on the page, creating RECURRING income for you:The Deluxe Upgrade - This allows the user to unlock EVEN MORE coloring and activity books and printables, with ongoing constant updates and enhancements weekly.The PRO Upgrade - This allows the user to unlock even more new printables such as journals, calendars, and other low content books, with ongoing constant updates and enhancements weekly, many exclusive to this level.OTO 2: Agency/Teacher's/Developer's license.The Agency license allows to create for others like local businesses that THEY can sell (i.e., a Chiropractor might want one created for their patients' kids, or adult coloring for stress relief), restaurants may wish to use the activity placemats… and Teacher's will want to be able to distribute these to their students, as well as those who may wish to sell as full PLR. Testimony "I love how fast and easy books can be generated and the influx of ideas…""I love how fast and easy books can be generated and the influx of ideas that accompany looking through finished PDF books. Personally I'm going to use coloring pictures to create some coloring calendars for adults and kids. That's just one of many uses. Thanks Amber - awesome product with new stuff being updated and added frequently." - Helen Doherty, CalendarCandy.com "EVERY mom and every low content creator should run to secure their access…""I couldn't imagine a more useful software than this one. I mean, EVERY mom and every low content creator should run to secure their access. Really easy to use, quick to generate PDFs on demand and not much work involved on my part. In fact, I first grabbed it for my son: No more searching the internet for hours to find suitable coloring and activity pages for my him! No more worries when I hear: "Mom, I'm bored" at a time I'm just not available lol. Plus, there are also pages for busy moms who want to take their mind off…." - Stephanie Gilbert, StephieTheHappyMom.com "This thing totally rocks…""Simply brilliant. The Activity Book Generator from Amber Jalink is an awesome piece of kit that creates, coloring books, activity books, & printables. It's a well-oiled machine. If you can't figure out how to make money with this, you need to find another profession. This thing totally rocks. Big George approved." - George Nieves, Digital Renegade Activity Book Generator helps you create books and printables in seconds… to at the most, under a minute! In fact, there are thousands of images, and thousands of activities to be created for you … in under a minute! What Are You Waiting for? Get Activity Book Generator Now!
94
ARbahy Services ARbahy Services its part from ARbahy LTD company Here you can add your services on our platform and also buy any services
96
Free Online Biology-Life Science Classes Courses & Tutorials A Free Educational Website for Biology / Life Science Tutorials, Video Lectures, Lecture Notes, Practice Questions for Biology Lovers, Students & Teachers
97
Tạp chí An toàn thông tin Đọc Báo, tin tức điện tử, tin tức hàng ngày, thông tin nhanh & mới nhất được cập nhật hàng giờ. Tin tức Việt Nam & thế giới về xã hội,bóng đá, thể thao, kinh doanh, pháp luật, khoa học, công nghệ, sức khoẻ, đời sống, văn hóa, rao vặt, tâm sự...
98
Winning Fixed Matches Tips - 100% Sure Winning Fixed Matches - Best Fixed Matches, Sportal Tips, You can Buy 100% Fixed Matches, Accurate Fixed Matches, Daily Sure Fixed Matches,
99
SavePearlHarbor | Ещё одна копия хабора Сказ о суровых российских инженерах. 1. С чего все началось… Ангелы и демоны кружили надо мной Рассекали тернии и Млечные Пути Origa — Inner UniverseВ одном, не очень отечественном САПР, есть возможность конвертировать чертежи сразу в PDF. Но то ли программисты не очень понимают, как их САПР используется, то ли просто забыли добавить возможность сохранения настроек. В итоге, САПР, при экспорте в PDF, всегда конвертирует только "текущий лист", если не забраться в параметры и принудительно не выбрать "Все листы". В нашем инженерном деле, документы из одного листа крайне редки, народ страдает и продолжает из раза в раз выкладывать, отправлять, генерировать и просто тратить процессорные мощности на однолистные PDF'ки. Томным, пятничным вечером, потягивая купажированный виски и покуривая сигару, я задумался — можно ли с этим что-нибудь сделать? Disclaimer Помните, внесение изменений в программное обеспечение может нарушать лицензионный договор. Все дальнейшие совпадения случайны. Статья носит исключительно развлекательный характер. Автор не является программистом и тестировщиком, а работает скромным инженером-проектировщиком всяких аббревиатурных систем типа АСУ ТП, САУ ВО\\ДГ и прочих промышленных систем. Из-за этого в статье могут содержаться неточности, ошибочные утверждения и бредовые предположения. Рисунок 1. Окно настроек PDF. 2. …и чем могло закончиться. Первая и самая очевидная идея — пойти в настройки САПРа и изменить стандартные параметры. Я бы не писал этот текст, окажись все так просто. Доступных галочек, кнопочек, полей и прочих пользовательских интерфейсов отвечающих за настройки экспорта PDF в приложении не оказалось. Вторая, менее очевидная для обывателя идея — пойти в реестр и поискать там. Многие приложения хранят в HKEY_LOCAL_MACHINE\\SOFTWARE\\ (или HKEY_CURRENT_USER) свои настройки, параметры и прочую сервисную информацию необходимую для работы. Реестр для того и задумывался. Можно догадаться, найдись там с ходу, что-либо годное для решения проблемы, этой заметки не было. Третье и последнее — поискать в конфигурационных файлах. Часто программы хранят параметры не в реестре, а во всяких config.ini, settings.xml и прочих текстовых файлах. Вдумчивый поиск и пристальное рассматривание каталогов показали отсутствие текстовых настроек. 3. Just Do It! Мастерами кунг-фу не рождаются Мастерами кунг-фу становятся Мумий Троль — Мастера Кунг-ФуОчевидные вещи закончились, пора заныривать в чертоги памяти и призывать весь свой опыт работы с IT-системами. Прежде всего, реестр. Возможно, параметр отвечающий за "печать всех листов", хранится не так явно. Скажем, есть в реестре запись с названием "Options", имеет она значение "1,1,2,3,1,0,1" и вторая единичка, как раз отвечает за то, какой пункт меню выбран. Возникает два вопроса: "Где взять хороший вискарь?" и "Как найти эти самые опции?" Если над первым еще можно поломать голову, то со вторым все просто — в составе Sysinternals существует замечательное приложение — Process Monitor(procmon). Рисунок 2. Окно Process Monitor Сначала, пришлось определиться с фильтрами, т.к. Procmon ловит вообще все события от любого приложения, коих в windows работает с пару-тройку десятков, и событий налетает тысяч 10-20 за пару секунд. Окей, указываем — отображать только события связанные с САПР и исключить всякую фигню. Далее, открываем приложение, запускаем сбор событий, нажимаем кнопку "параметры", останавливаем сбор событий… Вуаля — скромный лог "всего" на 700+ строк. Предположительно содержащий обращение к реестру для чтения настроек экспорта. После скрупулёзного изучения, были замечены строки 19:46:29,4265774, однозначно намекающие — мол САПР считал (и записал) данные 1391,790…1,0,0. "Ха! Вот оно!" — подумал я, предположив, что 1 или 0 отвечают, как раз за настройки. "Хе!" — подумал САПР, и категорически отказался, что-либо менять в окне параметров, не смотря на различные комбинации подсовываемых нулей, единичек и прочих цифр. Суббота. Смеркалось. Других обращений к реестру не было и становилось очевидно — путь реестра ведет в никуда. Воскресенье выдалось суетным, впереди маячила новая рабочая неделя, хотелось завалиться на диван, обнять жену, включить какой-нибудь фильм и наслаждаясь Джонни Пешеходом, окунуться в приятную негу… однако, на периферии сознания свербела мысль — "откуда то же САПР читает настройки…". Рабочая неделя не предвещала ничего хорошего, жена занималась своими девочковыми делами, Джонни оказался слишком резок, смотреть фильм не получалось. Пришлось открыть ноутбук. Если САПР не хранит настройки в реестре, значит хранит их в файлах, вопрос лишь в котором из 20 000? Скорее всего, опция хранятся в виде нуля (первый пункт меню, для программистов нулевой), а может единички, если код писал криворукий индус. В любом случае, таких нулей и единичек в САПРе, аж три биллиона (10^9)… Я смотрел на САПР. САПР смотрел на меня и издевательски моргал курсором в поле "векторное разрешение". Поле это динамическое, туда можно ввести любое значение и получить документ соответствующего качества. Стоп. Поле данных…любое число… но там же есть текст "DPI". Значит, поле текстовое, и текст "400 DPI" уникален (в пределах файлов). Хм. И он (текст) где-то хранится, вероятно даже рядом с остальными настройками… TotalCommader > поиск файлов > *.* c текстом "400 DPI". Томительное ожидание и… ничего не найдено. Потому что файлы, в большинстве своем, не текстовые, а бинарные, и искать надо в HEX-е (заодно, выбрав все доступные кодировки). Вуаля — искомая комбинация встречается всего в одном файле: imgUI.dll (название файла изменено) Вау! Так просто? А вот фигушки. DLL — динамик лоад лайбери, если открыть его редактором, то можно увидеть нечто-подобное: Рисунок 3. Текст DLL Нипоня-я-ятно… однако, в каталоге с imgUI.dll встретились img.dll и imgUtils.dll. Этож-ж-ж не спроста. А еще, так как САПР не отечественный, но на русском языке, то в каталоге Rusians (ага, именно с одной s) нашлась еще парочка файлов — imgRes.dll и imgUIRes.dll. Чтож к утру понедельника у меня было пять файлов: imgUI.dll — UI, скорее всего сокращение — "User Interface", в нем то и нашлось "400 DPI". Можно предположить — этот файл отвечает за отрисовку интерфейса. imgUIRes.dll — очевидно, файл ресурсов для отображения пользовательского интерфейса imgUtils.dll — файл содержащий утилиты, выполняющие преобразование в pdf, или просто всякие вспомогательные штуки(?) img.dll — что делает не ясно, но раз имеет общее имя с файлами выше, надо обратить внимание и запомнить. imgRes.dll — ??? Файл ресурсов для работы img.dll ??? 4.We need to go deeper (Заныриваем глубже). All in all it was just a brick in the wall. All in all it was just the bricks in the wall. Pink Floyd — Another Brick In the Wall (Part 2)Понедельник выдался нервным. Единственное, что я понимал на тот момент: после того как программист нарисовал окошечко, оно складывается в res-файл… и существуют приложения способные эти файлы открыть. Отдельное спасибо игровому детству и разработчикам небезызвестных ArtMoney и Restorator. При помощи последних мы читирили — меняли в res-файлах различные опции, получая тем самым горы золота, шмоток и просто нереальных (по игровым меркам) персонажей. Логично было предположить — в res-файле могут содержаться данные с настройками или окно параметров содержащие те же настройки (те кто разрабатывал графические интерфейсы на С++-подобных языках сейчас улыбнулись). В imgRes.dll ничего интересного не нашлось, а вот imgUIRes.dll встретил знакомым окном параметров. Еееее! — порадовался я, — сейчас я какаааак сделаю… … что-то … … Хм, а действительно, что? Радость улетучилась. Res-файл не содержит кода, по сути, это набор элементов которые можно подвигать, изменить размер, шрифт, текст — а ведь это именно то что мне требуется! Почему бы просто не поменять местами два текста — пусть "Все листы" станет первым в списке, тогда САПР всегда будет выбирать его по умолчанию! Сказано, сделано, сохранено. Запуск САПРа>Экспорт>Параметры>OK>Экспорт. И полный облом. Не смотря на то что "чек-бокс" стоит там, где надо ничего не изменилось. Рисунок 4. Измененный интерфейс. Программисты сейчас должны умилиться моей наивности. Во-первых, если проводить проверку по тексту чек-бокса, то необходимо учитывать все языки, а не только русский. (САПР то международный, ага). Во-вторых, каждый элемент в окне имеет ID и работают, как раз через него. Выглядит это так (цифра после первой запятой — ID): Рисунок 5. ID в Res-файле. Хотелось верить, что где-то здесь, в цифрах, зашита заветная опция "использовать этот пункт по умолчанию ", но увы нет. Казалось — тупик, что тут можно сделать? Выдохнуть, обнять жену, признать невозможность изменить мир, накатить, вернуться в привычное житейское русло и наконец-то выспаться. 5.Еще! Run rabbit run Dig that hole, forget the sun, And when at last the work is done Don't sit down it's time to dig another one Pink Floyd — BreatheПомнится лет 10 назад, нам, студентам информационно-измерительных систем, по какой-то одному деканату известной причине, читали курс по защите ПО. Преподаватель, понимая, что за семестр невозможно впихнуть в нас хоть сколько-нибудь внятные знания по всем этим DES, AES и прочим приоткрытым ключам, сделал единственный верный шаг — начал рассказывать, что нужно сделать чтобы код от наших гипотетических приборов не уперли конкуренты и какими методами они это будут пытаться сделать. Лабораторные работы строились по принципу пишешь код, а потом твой сосед пытается его сломать. С тех времен память сохранила сокращения- HEX, ASM, IDA. С последней и было решено начать, благо есть бесплатная версия(freeware, а не то что все подумали). Ollydbg казался сомнительным, т.к. САПР х64 и была не нулевая вероятность получить неправильный код. Microsoft Debugger — можно было бы попробовать, но IDA уже была скачена и установлена. Итак, есть две сущности: ID элементов из окна параметров (от 1001 до 1014) Текст "400 DPI" …которые надо найти, очевидно, в imgUI.dll. Почему очевидно? Во-первых, потому что поиск текста "400 DPI" указал именно на этот файл, а во-вторых, из названия файла. Закинув DLL в IDA я, честно признаюсь, знатно так 302A79452F5C: Рисунок 6. IDA. Что это? Нет, понятно что это 1. ассемблер 2. последовательность выполнения чего-то, за чем-то в зависимости от чего-то. Переключение в "TextView" так же не прибавило понимания, а родило с десяток новых вопросов — как объявляются переменные, что это за 800+ функции sub_18…, где хранятся данные, циклы, условия — где все это?, что это за регистры, где мой вискарь и котъ!? В общем, для неподготовленного меня, последний раз писавшего программы на скриптовых-языках высокого уровня (PowerShell и VBA), все это выглядело примерно так же как и для тебя, мой дорогой читатель выглядят расчеты селективности, токов короткого замыкания, кривые отключения и прочие электрические гадости. Но, как говорится — "фигня война, главное маневр". Что искать в файле было ясно заранее — radiobutton с ID 1004\\1005. …и-и-и поиск ничего не дал. А не дал он ничего, потому что IDA нифига не дружелюбна и хранит все данные в шестнадцатеричном виде. Окей, запускаем калькулятор, переводим в "программистский режим" и получаем 1004 это 3ECh в HEX (h на конце собственно об этом и говорит). Запускаем поиск по новой — успех, данное сочетание найдено 3 раза в 2х функциях. Причем, значение ID 1005 (3EDh) находится рядышком только в тех самых двух функциях. Место найдено и выглядело оно примерно так: Рисунок 7. ID 1005 Чего происходит, нипонятно… да, честно говоря, понимания и не требовалось. Осталось лишь поменять эти два значения местами, чтобы кнопка "Текущий лист" стала распознаваться ПО как "Все листы", а "Все листы", как "Текущий лист". И тут меня ждал первый облом — редактировать ассемблерный код IDA не дает. А вот байт-код пожалуйста. Честно говоря, всегда думал — ассемблер самый "близкий" к железу язык, оказалось — нифигашечки. Итак, байт-код. Каждый процессор имеет набор команд, большей частью стандартизированных, и каждая команда имеет свой код в виде байт(подозреваю что на самом деле бит), а ассемблер это "отображение" этих байт в более-менее читаемом виде. Команда mov edx, 3EC в байт-коде выглядит так: BA EC 03 00 0 А mov edx, 3ED так: BA ED 03 00 00 Впрочем, к черту лишние знания, надо же EC заменить на ED и наоборот! Закидываю DLL в САПР, открываю "параметры", никаких видимых изменений, но их и не должно быть… жмакаю ОК>Сохранить и… ДА!!! PDF-ка, генерируется сразу вся… ЕЕЕЕЕ! СДЕЛАНО! Интеллектуальный оргазм, победа! Можно снять наушники, потянуться, размять затекшую спину, потереть красные глаза, посмотреть в ночное небо и подумать о вечном. Похвастаться перед парочкой друзей, которые, не смотря на первый час ночи, еще не спят. 6. Hardcore только hardcore. Мы уже думали, что опустились на самое дно, но тут снизу постучали Народная мудрость.Казалось бы все — конец, ответ на вопрос вселенной и всего такого найден, но, увы — меня ждала подлянка. Оказалось, внезапно, кто бы мог подумать — если НЕ заходить в "Параметры", то окно не вызывается, изменение настроек НЕ происходит и по умолчанию PDF сохраняется с 1 листом. Т.е. по сути ничего не изменилось — для генерации полноценного PDF'а, надо было все равно, хотя бы раз заползти в параметры. Рисунок 8. Фиаско И что в такой ситуации делать? Правильно, занырнуть поглубже! Как гласит название одной хорошей книги "just for fun" загрузил imgUtils.dll. Понимания как все работает и что делать дальше не прибавилось, все было примерно так же как и в imgUI.dll, за исключением одного — ряд функций имели вполне себе читаемые названия вида: OptionsPDFExport::SetResol, OptionsPDFExport::SetBW, OptionsPDFExport::GetStartSheet и прочие. Оппачки! Слишком уж говорящие названия! Но опять таки радость была недолгой, т.к. большинство ф-ций имело вид: mov [rcx+15h], dl Retn Т.е. понятно, нечто из DL переносится в rcx со смещением (по адресу?) но… Чё за dl? Чё за регистр rcx? Впрочем, что будет если ф-ция GetBW всегда будет писать в регистр rcx+15h значение 1 (или 0, потом разберемся)? Второе неожиданное открытие — невозможность вставить кусок кода. Совсем. Никак. Связанно это с указателями — часть команд (и не только) говорят, мол прыгни на 99 команд вверх, или считай значение по вот этому адресу Когда мы вставляем код, то фактически адреса съезжают и нам надо перепрыгнуть уже через 100 команд, т.е. переписать их … все. ИДА такого делать не умеет (или, что скорее, я не нашел). Возвращаясь к mov rcx+15h, dl. В байт-коде это выглядит так: 88 51 14 а чтобы написать mov rcx+15h, 1, надо вставить: C7 81 14 00 00 00 01 00 00 00 Т.е. надо добавить 14 байт. (Для тех кто знает ассемблер — да-да-да надо использовать другой байт-код, и вообще какого фига я сравниваю х86-64, но это наглядно). Печаааль. Да и не наблюдалось в названиях ф-ций чего либо напоминающего выбора диапазона печати. Нет, я забрался слишком… слишком далеко чтобы вот так все бросить. Чтобы впустую слить все затраченное время. Но что делать дальше? Изучать ассемблер и полностью реверс-инжинирить каждую функцию в этих двух файлах? Нет, долго. Надо было вернуться к началу и пройти правильным путем — запустить мониторинг и посмотреть какие ф-ции вызываются в процессе генерации PDF без заползания в параметры и уже после этого лезть в ассемблерный код. На просторах интернета была найдена программа API Monitor v2. В качестве "наблюдаемых" файлов были выбраны imgUtils.dll и imgUI.dll… чтож лог получился на 233 вызова. Не то чтобы очень мало, но зато у меня был порядок вызова ф-ций. Описанные выше GetBW\\SetBW\\GetStartSheet встречались, но ближе к середине, т.е. они были не первыми. В начале лога мое внимание привлекла ф-ция с названием OptionsXPSExport. Хм… а какого собственно черта, при генерации PDF'а, вызывается ф-ция от другого формата? И после нее как раз и начинались разнообразные Get'ы и Set'ы Открыл в ИДА. Функция оказалась не маленькой, строк на 300 ассемблерного кода. Старый добрый вопрос — что искать? ID кнопок — бессмысленно, оставалось только "400 DPI". Переводим 400 в 16-ричную систему, получаем 190h. Поиск…и найдена 1 строка: Рисунок 9. Настройки. Встает вопрос — как узнать, что именно этот сегмент отвечает за стандартные настройки? Легко! Почему бы не изменить известный параметр и не посмотреть что будет! Ок, 190h заменено на 96h (число 150). Запуск САПР>Экспорт в PDF>Параметры и… вместо 400 DPI красовалось 150 DPI. Йухууу! Можно было сделать вывод — место хранения "дефолтных" настроек найдено. Оставалось два вопроса — где именно лежит нужный параметр и как его найти в 300 строках, примерно такого же кода. Кстати, что это за код? Что за r12 и r13? Ответ нашелся вначале функции: Рисунок 10. R2D2. В регистр r12 записывалась единичка, а в r13 ноль, что ни разу не очевидно, т.к. для этого используется команда xor, а не mov. Разница в том что xor делается быстрее чем mov, поэтому его и используют когда надо обнулить переменную. Возвращаясь к коду выше, было очевидно, что по адресу rbp+330h записывается 0, а по адресу 32Сh - 1. Окей, полдела сделано — появилась возможность изменять значение параметров с вкл (1) на откл (0). Однако, особых идей где именно находится параметр отвечающий за листы все еще не было. Попытка подключить ИДА к дебаггеру и поймать момент смены того или иного байта "на лету" провалилась, по не известной мне причине — дебаггер отваливался при запуске САПРа. Оставался самый тупой способ — перебор. Заменил r13b на r12b в строке с адресом [rbp+326h], и оказалось, что этот mov отвечает за удаление веса линий. А mov выше за печать исключенных листов. Набросав простенький проект проверил работает ли это все без открытия параметров экспорта. И да. Проект экспортировался без весов линий. Что еще раз подтвердило — я смотрю в правильный кусок кода. Потратив несколько дней на игры с заменой 1 и 0, появилось ощущение нового тупика. Замена оставшихся значений не приводило к сколько-нибудь заметному результату — галочки в параметрах не ставились, а иногда приложение просто крашилось. Стоит отметить — параметров было много и после замены каждого проверять САПР было долго, по этому я менял 10-20 значений и смотрел изменилось ли что-нибудь. В один из вечеров я смотрел на приведенный выше код и думал — "да чтож с тобой не так? почему 5 из 7 параметров находятся здесь?" К слову, строка 0FFFFFFh отвечала за "До", а строка ниже за "От". Абсолютно логично — все настройки отвечающие за параметры сгруппированы в одном месте и mov rpb+314, r12 должен отвечать как раз за выбор диапазона печати. Но там не 0, там 1! Помните я говорил про индусов? О том, что не для всех первый элемент массива кнопок является нулевым. Тогда логично, что моя замена 1 на 0 ничего не показала. Окей, нет ничего проще — меняем mov rpb+314 r12 на mov rpb+314 r13 и… барабанная дробь… при входе в параметры ни один из пунктов меню "диапазон печати" выбран не был! Да, это та самая строка, тот самый кусок кода который я искал на протяжении недели. Гребаные 14 байт. Оставалось лишь изменить значение на правильное и можно открывать шампанское. Итак 0 — не выбрано ничего, 1 — первый пункт, продолжая ряд выходило что нужно прописать 2. Тут появлялась старая, добрая проблема — mov rpb+314 r12 занимало меньше байт чем mov rpb+314 00002h На счастье, парой строк выше можно заметить вот такой кусок кода: Рисунок 11. Е2Е4. Т.е. в регистр eax ложится двойка, а команда mov rpb+314 eax занимает на 2 байта меньше чем mov rpb+314 r12! Ассемблер Байт-код mov rpb+314, r12 44 89 A5 14 03 00 00 mov rpb+314, eax 89 85 0C 03 00 00 Вопрос — что делать с этими двумя байтами? Оставить как есть нельзя. Но, на счастье из родного Политеха я смог вынести несколько сакральных знаний: Как работает реле (что позволило найти инженерную работу) Всегда заземляйся (если вы понимаете о чем =) Ассемблерный nop — просто пропуск команды Шаверму перед парами…. кхм, впрочем к делу это не относится. Очевидное решение — заNOPать, т.к. в байт-коде команда NOP это "90". Запуск САПР и… да, это оно. Файл конвертируется в многостраничный PDF. А окно параметров открывается по умолчанию так: Рисунок 11. Окно настроек PDF. 7.Заключение. We've come too far to give up who we are So let's raise the bar and our cups to the stars Daft Punk — Get LuckyОтвет на вопрос, заданный в начале статьи, найден. Путь был тернист и заставил пошевелить мозгами, вспомнить университетский курс программирования и узнать много нового. За рамками осталось несколько "тупиковых веток", вида JMP'нуть в кусок кода, изменить регистры и прыгнуть назад, или попытки найти исходники, но вряд ли это кому-то интересно. Немного обидно, что эти знания никогда не уйдут в "продакшн", а инженеры продолжат страдать из-за пары программистов, но C'est La Vie, таков лицензионный договор. Надеюсь, эта заметка сможет вдохновить кого-нибудь на совершенствование рабочих инструментов, даже если вы инженер-проектировщик и весьма далеки от реверс-инжиниринга. ссылка на оригинал статьи https://habr.com/ru/post/515876/
100
Jeremy Lindsay – I like developing in C# and using Azure, and this is a blog about what technologies I'm working on at the moment. I like developing in C# and using Azure, and this is a blog about what technologies I'm working on at the moment.